SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Estructura de computadores Tema 4: Circuitos combinacionales
1
Tema 4: Circuitos combinacionales
4.0 Introducción
Los circuitos lógicos digitales pueden ser de dos tipos:
• combinacionales
• secuenciales.
Circuitos combinacionales
Aquellos circuitos digitales con varias entradas y varias salidas, en los
cuales la relación entre cada salida y las entradas puede ser expresada
mediante una función lógica (expresiones algebraicas, tablas de verdad,
circuito con puertas lógicas, etc.), se denominan circuitos
combinacionales.
De la definición se deduce que cada salida en un instante de tiempo
determinado, depende exclusivamente de las entradas al circuito en el mismo
instante de tiempo, pero no depende de las entradas que hubo en instantes de
tiempo anteriores (no tiene "memoria").
Ahora bien, en cuanto a la implementación mediante circuitos
electrónicos, hay que matizar algunos detalles. Hemos visto que las puertas
lógicas obtenían a su salida una señal, que dependía sólo de las entradas, pero
esta salida no se estabilizaba hasta transcurrido un pequeño intervalo de
tiempo desde la aplicación de las señales de entrada (del orden de
nanosegundos).
Por otro lado, si el circuito combinacional tiene varias entradas (n),
también puede tener varias salidas (m). Para "n" variables de entrada tenemos
2n
combinaciones binarias posibles. Por tanto, podemos expresar un circuito
combinacional mediante una tabla de verdad que lista los valores de todas las
salidas para cada una de las combinaciones de entrada. Un circuito
combinacional también puede describirse mediante "m" funciones lógicas, una
para cada variable de salida; cada una de las cuales se presenta como función
de las "n" variables de entrada.
F
x1
x2
F(t) = (x1(t) , x2(t), ... )
E0
E1
En
S0
S1
Sm
Sistema
Combinacional
Estructura de computadores Tema 4: Circuitos combinacionales
2
Diremos pues, que un circuito combinacional real es aquel en el cual
las salidas dependen exclusivamente de las señales de entrada aplicadas, una
vez transcurrido el tiempo necesario para la estabilización de las salidas, desde
la aplicación de las señales de entrada.
Multifunciones: Son aquellas funciones que tienen varias salidas, por lo
que habrá una expresión lógica para cada salida.
E0 E1 En S0 S1 Sn
A continuación, vamos a estudiar algunos circuitos combinacionales que
realizan funciones específicas, por dos razones:
1. Circuitos muy complejos pueden descomponerse en circuitos o
bloques más elementales, como los que vamos a estudiar, que se
interconectan entre si para formar el circuito ("Divide y vencerás" o
diseño jerárquico).
2. Estos circuitos se encuentran disponibles comercialmente, integrados
en una sola pastilla.
4.1 Circuitos sumadores y restadores
4.1.1 Sumador binario
El sumador binario es el elemento básico de la unidad aritmética de
cualquier ordenador, pues cualquier operación aritmética básica puede
realizarse a partir de sumas y restas repetidas.
Para sumar dos números de n bits, hay que sumar dos a dos los bits del
mismo peso y el acarreo de la suma de los bits de peso inmediato inferior.
4.1.2 Semisumador (half adder)
Es un circuito combinacional que realiza la suma de dos dígitos binarios,
obteniendo su suma y el acarreo para la etapa siguiente. No tiene en cuenta el
bit de acarreo de la etapa anterior.
Su tabla de verdad, y símbolo como bloque es:
a b S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
a
b
Suma (S)
Acarreo (C)
1/2
Σ
Estructura de computadores Tema 4: Circuitos combinacionales
3
Implementando por "1":
S = a' · b + a · b' = a ⊕ b
C = a · b
La suma S responde a una función OR-exclusiva y el acarreo C a una
función AND.
Si no deseamos utilizar la puerta OR-Exclusiva por su coste superior, el
semisumador se puede implementar de la siguiente forma:
Implementando por "0":
S = (a+b) · (a'+b') =
= ((a+b) · (a'+b'))' ' = ((a+b)' + (a'+b')')' = ((a+b)’ + (a·b))' =
= (a+b) · (a·b)'
C = a · b
De esta forma obtenemos un circuito mucho más simple.
Estructura de computadores Tema 4: Circuitos combinacionales
4
4.1.3 Etapa de sumador (sumador completo)
Es un circuito combinacional capaz de sumar dos dígitos (cifras)
binarios, teniendo en cuenta el acarreo producido en la etapa anterior. Obtiene
la suma y el acarreo para la etapa siguiente.
Su tabla de verdad y símbolo como bloque es:
a b Cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0 a y b = Variables de entrada
1 0 1 0 1 Cin = Acarreo entrada (etapa anterior)
1 1 0 0 1 S = Suma
1 1 1 1 1 Cout = Acarreo salida (etapa siguiente)
Simplificamos mediante tablas de Karnaugh las funciones de salida S y
Cout. Para ello, construimos las tablas correspondientes implementando por "1"
desde la tabla de verdad.
S Cout
Cinab 00 01 11 10 Cinab 00 01 11 10
0
0 1
1
3 2
1 0
0 1 3
1
2
1
4
1
5 7
1
6
1
4 5
1
7
1
6
1
La función S no se puede simplificar, ya que tenemos 4 1's o 4 0's
aislados, pero Cout si, obteniéndose (implementando por 1):
S = a'·b'· Cin + a'·b· Cin' + a·b· Cin + a·b'· Cin’ =
= (a’·b’+a·b)·Cin + (a’·b+a·b’)·Cin’ = (a ⊕ b)’·Cin + (a ⊕ b)·Cin’ =
= a ⊕ b ⊕ Cin = (a ⊕ b) ⊕ Cin
Cout = a·b + a· Cin + b· Cin = a·b + Cin·(a·b' + a'·b) = a·b + Cin·(a ⊕ b)
Hemos manipulado las funciones de salida S y Cout para que incluyan la
OR-Exclusiva (recordar la función S del semisumador).
Esto significa que para implementar la función sumador completo, se
pueden utilizar dos puertas OR-Exclusiva.
Por razones económicas, los fabricantes emplean para la
implementación circuitos de nivel superior (más lentos), pero que permiten un
gran ahorro en el número de puertas empleadas.
a'·b'·Cin a'·b·Cin' a·b·Cin a·b'·Cin' b·Cin a·b a·Cin
a
Cin
Suma (S)
Acarreo (Cout)
Σ
b
Estructura de computadores Tema 4: Circuitos combinacionales
5
Una forma simple de implementar la etapa de sumador es a partir de dos
semisumadores. Como hay que sumar los dos bits (dígitos) del mismo peso
más el acarreo anterior, se utiliza un semisumador para sumar los dos dígitos y
el resultado se suma con el acarreo anterior mediante otro semisumador. Si en
alguna de las dos sumas parciales se produce acarreo, habrá acarreo en la
etapa de sumador (función OR). Esto puede comprobarse en la tabla de
verdad. La etapa de sumador puede implementarse con el siguiente circuito.
4.1.4 Sumador binario de n bits
Para sumar números de n bits, se pueden emplear diferentes circuitos,
pero todos llevan como unidad básica la etapa de sumador. La forma más
simple de realizar un sumador de n bits es disponer de n etapas de sumador,
conectadas de tal forma que la salida de acarreo de cada etapa excita a la
entrada de acarreo de la etapa siguiente. Este circuito se denomina sumador
paralelo con acarreo en serie. Denotamos con subíndices cada uno de los
bits de los sumandos, indicando con el subíndice 1 el bit menos significativo
(LSB).
Su esquema es el siguiente:
A = an ... a1 (n bits)
B = bn ... b1 (n bits)
1/2
Σ
1/2
Σ
C1
a1 b1
S1
Σ1
C2
a2 b2
S2
Σ2
C3
a3 b3
S3
Σ3
Cn
an bn
Sn
Σn
0 v.
LSBMSB
Estructura de computadores Tema 4: Circuitos combinacionales
6
Téngase en cuenta que para la posición menos significativa se puede
usar un semisumador, o bien, poner a 0 voltios (masa) la entrada de acarreo de
un sumador completo, ya que no existe entrada de acarreo en la posición del
bit menos significativo.
Su diagrama funcional o de bloques es:
Retardo de propagación
Los bits de entrada se aplican simultáneamente para producir la suma.
Cada sumador completo recibe los bits correspondientes de los dos sumandos
ai y bi y el acarreo de entrada, y genera el bit de suma Si y el acarreo de salida
Ci.
Pero esta suma y este acarreo no se pueden generar hasta que tiene
lugar el acarreo de entrada, lo que da lugar a un retardo temporal en el proceso
de la adición. El retardo de propagación del acarreo para cada sumador
completo es el tiempo transcurrido desde la aplicación del acarreo de entrada
hasta que se produce el acarreo de salida, suponiendo que las entradas ya
existan. Para un sumador de n bits, este retardo es de 2n+2 retardos de puerta,
lo cual es bastante significativo.
Un diseño alternativo que permite eliminar este retardo es el sumador
con acarreo anticipado, a costa de incrementar el número de puertas.
Expansión de sumadores
Podemos conectar en cascada varios sumadores de un número fijo de
bits (n) para conseguir otro sumador del más de bits. A esto se le llama
expansión de sumadores.
Para conectar dos sumadores de n bits, debemos conectar la entrada de
acarreo del sumador de menor orden a masa (0 v.), y la salida de acarreo de
cada sumador, a la entrada de acarreo del sumador de orden superior. Este
proceso se denomina conexión en cascada.
Por ejemplo, con dos sumadores de 4 bits, conseguiremos otro de 8 bits.
Comercialmente existen sumadores de 4 bits como componentes digitales que
podemos utilizar como bloque de construcción de un sistema digital y, por
tanto, se define como bloque funcional.
A = an ... a1 (n bits)
B = bn ... b1 (n bits)
S = Sn ... S1 (n bits)
ΣΣ n bits
0 v.Cn
A
n
B
n
S
n
Estructura de computadores Tema 4: Circuitos combinacionales
7
Como ejemplo de sumadores de 4 bits, tenemos dos modelos de IC de
media escala (MSI): 74LS83A y 74LS283.
4.1.5 Substractor binario
Para restar dos números binarios, pueden restarse directamente
mediante un circuito específico, o bien, sumar al minuendo el complemento a 2
del sustraendo. Este segundo método es más barato, pero algo más lento. Por
tanto, dependiendo del precio y calidad del ordenador, se empleará un método
u otro.
4.1.6 Semisubstractor (half substractor)
Es un circuito combinacional capaz de restar dos bits a y b, obteniendo
su diferencia D y el acarreo para la etapa siguiente C.
Su tabla de verdad y símbolo como bloque es:
a b D C
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
Implementando por "1":
D = a' · b + a · b' = a ⊕ b
C = a' · b
El circuito puede implementarse de alguna de las siguientes formas:
a
b
Diferencia (D)
Acarreo (C)
1/2
D
ΣΣ 4 bits
0 v.Cout
S4..1
4
ΣΣ 4 bits
A4..1
4
Cout
S8..5
4
B4..1
4
A8..5
4
B8..5
4
Estructura de computadores Tema 4: Circuitos combinacionales
8
4.1.7 Etapas de substractor (substractor completo)
Es análogo de la etapa de sumador. Resta dos dígitos, teniendo en
cuenta el acarreo de la etapa anterior, y obtiene la diferencia y el acarreo para
la etapa siguiente.
Su tabla de verdad y símbolo como bloque es:
a b Cin D Cout
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0 a y b = Variables de entrada
1 0 1 0 0 Cin = Acarreo entrada (etapa anterior)
1 1 0 0 0 D = Diferencia
1 1 1 1 1 Cout = Acarreo salida (etapa siguiente)
Simplificamos mediante tablas de Karnaugh las funciones de salida D y
Cout. Para ello, construimos las tablas correspondientes implementado por "1"
desde la tabla de verdad.
D Cout
Cinab 00 01 11 10 Cinab 00 01 11 10
0
0 1
1
3 2
1 0
0 1
1
3 2
1
4
1
5 7
1
6
1
4
1
5
1
7
1
6
Las funciones lógicas de D y Cout son:
D = a ⊕ b ⊕ Cin = (a ⊕ b) ⊕ Cin (Igual que el sumador)
Cout = a'·b + a'·Cin + b·Cin = (a'·b+a'·Cin+b·Cin)'' = ((a'·b)'·(a'·Cin)'·(b· Cin)')'
El circuito restador será:
a
Cin
Diferencia (D)
Acarreo (Cout)
D
b
a'·b'·Cin a'·b·Cin' a·b·Cin a·b'·Cin' a'·Cin a'·b b·Cin
d
Cout
Estructura de computadores Tema 4: Circuitos combinacionales
9
La etapa de substractor puede obtenerse fácilmente de dos modos
diferentes:
1. Se restan sucesivamente b de a, y al resultado se le resta Cin
(acarreo de la etapa anterior): a – b – Cin
2. Se suman b y Cin y el resultado se resta de a: a – (b+Cin)
Los circuitos que implementan la etapa de substractor según estos dos
modos de operación son:
Modo 1: substractor formado por dos semisubstractores.
Modo 2: substractor formado por un semisumador y un semisubstractor.
4.1.8 Substractor binario de n bits
Podemos utiizar estas etapas de substractor para construirlo, del mismo
modo que para el sumador binario de n bits.
Otra forma es utilizar la representación en complemento a 1 o 2 para
realizar la resta de dos números binarios mediante un sumador. Para obtener el
complemento a 2 se toma el complemento a 1 y se suma 1 al bit menos
significativo. El complemento a 1 se implementa fácilmente con circuitos
C1
a1 b1
D1
D1
C2
a2 b2
D2
D2
C3
a3 b3
D3
D3
Cn
an bn
Dn
Dn
0 v.
LSBMSB
b
a
1/2
D
1/2
ΣCin
D
Cout
b
a 1/2
D
1/2
D
Cin
D
Cout
Estructura de computadores Tema 4: Circuitos combinacionales
10
inversores en paralelo. Utilizando el complemento a 1 y una entrada de
sumador sin utilizar para sumar 1 se consigue el complemento a 2 a bajo costo.
En la resta de complemento a 2, si hay acarreo se desprecia, y si no
hay, debemos corregir el resultado complementando a 2 el resultado.
Las operaciones suma y resta pueden combinarse en un solo circuito
con un sumador binario común. Esto se logra incluyendo una puerta XOR con
cada sumador completo. Debemos de poner una entrada que nos indique la
operación que vamos a realizar: suma o resta (S’/R). Cuando S’/R=0, el circuito
es sumador; cuando S’/R=1, se comporta como restador.
El funcionamiento de este circuito se puede ver fácilmente con la
siguiente tabla de verdad:
S’/R bi XOR Descripción
0 0 0
0 1 1
Suma: no cambia bi
1 0 1
1 1 0
Resta: complementa bi
Además, suma "1" para obtener el C2
a1
C1
b1
S1
Σ1
a2
C2
b2
S2
Σ2
a3
C3
b3
S3
Σ3
Cn
an
bn
Sn
Σn “1”
C2 = C1 + 1
C1
a1
b1
S1
Σ1
C2
a2
b2
S2
Σ2
C3
a3
b3
S3
Σ3
Cn
an
bn
Sn
Σn
S’/R
S’/R = 0 è Sumar
S’/R = 1 è Restar
Suma: “0”
Resta: “1”
(C2 = C1 + 1)
Estructura de computadores Tema 4: Circuitos combinacionales
11
4.2 Codificadores y decodificadores
4.2.1 Codificadores
Son circuitos combinacionales que permiten pasar una información en
forma decodificada (dígito decimal u octal) a una forma codificada (BCD o
binario). Si nos limitamos a sistemas binarios, el codificador deberá tener n
salidas si queremos codificar m entradas, siendo m ≤ 2n
.
De esta forma, m informaciones diferentes quedan representadas
mediante grupos de n bits, es decir, las líneas de salida generan el código
binario correspondiente al valor de entrada.
4.2.1.1 Ejemplo: Codificador octal a binario
Tenemos 8 entradas, una para cada dígito octal, y tres salidas que
generan el número binario correspondiente. Se supone que sólo una entrada
tiene un valor de 1 en cualquier momento.
Entradas Salidas
E7 E6 E5 E4 E3 E2 E1 E0 S2 S1 S0
0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 1 0 0 0 1 0
0 0 0 0 1 0 0 0 0 1 1
0 0 0 1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0 1 0 1
0 1 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 1 1 1
Si implementamos por “1”, obtenemos las funciones lógicas de las 3
salidas:
• S0 = E1 + E3 + E5 + E7
• S1 = E2 + E3 + E6 + E7
• S2 = E4 + E5 + E6 + E7
Vemos que el decodificador puede implementarse con 3 puertas OR de
4 entradas.
Codificador
E0 E1 E2 E3
S0 S1
“m” entradas
m ≤ 2n
“n” salidas
Estructura de computadores Tema 4: Circuitos combinacionales
12
Este decodificador tiene la limitación de que sólo puede estar activa una
entrada en un momento dado: si se activan simultáneamente dos entradas, la
salida produce una combinación incorrecta. Para resolver esta ambigüedad,
algunos circuitos codificadores deben establecer una prioridad de entrada
para asegurar que sólo se codifique una entrada. Por ejemplo, en este caso
podríamos haber establecido una prioridad más alta para las entradas con
subíndices mayores.
Otra ambigüedad de este codificador es que se genera una salida de 0’s
cuando todas las entradas son 0, pero esta salida es igual que cuando D0=1.
Esta discrepancia puede resolverse dando una salida más para indicar que al
menos una de las entradas es igual a 1.
4.2.1.2 Ejemplo: Teclados
Ejemplos típicos de codificación son los utilizados en los teclados de los
computadores y máquinas de calcular. En un teclado alfanumérico, por
ejemplo, tenemos 27 teclas para letras y 10 para cifras. Cada tecla va
conectada a una línea eléctrica, que estará a nivel lógico “1” ó “0”, según la
tecla correspondiente esté pulsada o no.
Para que la información enviada por el teclado al computador se
transmita, es inviable disponer de tantas líneas como teclas. Por ello se emplea
un codificador que permite pasar del número de líneas igual al de teclas, a sólo
7 líneas, si se emplea, por ejemplo, código ASCII.
Otro caso típico es el del teclado numérico, en el cual, mediante un
codificador, se pasa de 10 líneas a 4 líneas. Vamos a ver como ejemplo este
caso, suponiendo que el código de salida es BCD (Decimal Codificado en
Binario).
Como hay 10 símbolos diferentes serán necesarias 10 entradas y 4
salidas. La correspondencia entre entradas y salidas se representa en la tabla
siguiente:
Entradas Salidas
E9 E8 E7 E6 E5 E4 E3 E2 E1 E0 S3 S2 S1 S0
0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 1
0 0 0 0 0 0 0 1 0 0 0 0 1 0
0 0 0 0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 0 1 0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0 0 0 0 1 0 1
0 0 0 1 0 0 0 0 0 0 0 1 1 0
0 0 1 0 0 0 0 0 0 0 0 1 1 1
0 1 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1
Estructura de computadores Tema 4: Circuitos combinacionales
13
Implementando por “1”, las 4 funciones de las salida son:
S3 = E8 + E9
S2 = E4 + E5 + E6 + E7
S1 = E2 + E3 + E6 + E7
S0 = E1 + E3 + E5 + E7 + E9
que pueden realizarse mediante puertas OR:
Notemos que E0 no participa en la elaboración del código de salida. En
el caso del teclado sería equivalente pulsar "0" que no pulsar nada. En estos
casos se añade una salida adicional que indica cuando se ha pulsado alguna
tecla.
4.2.1.3 Tipos de codificadores:
Existen dos tipos de codificadores:
• Codificadores sin prioridad
• Codificadores con prioridad
Cualquier codificador que funcione como el descrito anteriormente recibe
el nombre de codificador sin prioridad, y se caracteriza porque, en caso de
presentarse dos entradas simultáneas o más, las salidas obtenidas serán todas
aquellas que correspondan a cada entrada por separado. Por tanto, en estos
codificadores sólo se puede poner a “1” una sola entrada, pues de otro modo,
la salida es incorrecta.
Existe otro tipo de codificadores, llamados codificadores con prioridad,
que en el caso de activarse más de una entrada, la combinación de salidas
obtenida corresponde a la entrada de mayor valor decimal de entre las
activadas. Por ejemplo, si pulsamos las teclas 1 y 3 simultáneamente, se queda
con el 3.
Estructura de computadores Tema 4: Circuitos combinacionales
14
4.2.2 Decodificadores
Realizan la función inversa de los codificadores. Partiendo de una
información codificada de n bits, obtiene la información de que se trata. El
número m de informaciones que se pueden obtener (salidas) debe ser tal que
m ≤ 2n
. Si la información codificada de n bits tiene combinaciones no usadas
(indiferencias), el decodificador podría tener menos de 2n
salidas.
Ejemplo 1: Decodificador de BCD a decimal
Su tabla de verdad es:
Entradas Salidas
E3 E2 E1 E0 S9 S8 S7 S6 S5 S4 S3 S2 S1 S0
0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 1 0 0 0 0 0 0 0 0 1 0
0 0 1 0 0 0 0 0 0 0 0 1 0 0
0 0 1 1 0 0 0 0 0 0 1 0 0 0
0 1 0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 1 0 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 0 1 0 0 0 0 0 0
0 1 1 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 1 1 0 0 0 0 0 0 0 0 0
1 0 1 0 x x x x x x x x x x
1 0 1 1 x x x x x x x x x x
1 1 0 0 x x x x x x x x x x
1 1 0 1 x x x x x x x x x x
1 1 1 0 x x x x x x x x x x
1 1 1 1 x x x x x x x x x x
Implementando por "1":
S0 = E3' · E2' · E1' · E0'
S1 = E3' · E2' · E1' · E0
S2 = E3' · E2' · E1 · E0'
S3 = E3' · E2' · E1 · E0
S4 = E3' · E2 · E1' · E0'
S5 = E3' · E2 · E1’ · E0
S6 = E3' · E2 · E1 · E0'
S7 = E3' · E2 · E1 · E0
S8 = E3 · E2' · E1' · E0'
S9 = E3 · E2' · E1' · E0
“n” entradas
m ≤ 2n
“m” salidas
Decodificador
E0 E1
S1 S2S0 S3
Estructura de computadores Tema 4
15
Si no simplificamos las funciones, utilizando inversores y puertas AND
de 4 entradas podemos implementar el circuito del siguiente modo
Este decodificador activa (pone a 1) una de sus salidas, cuando se
presenta una combinación válida en la entrada. En cambio, si el código no es
válido (por ejemplo, 1 1 1 1), no se activa ninguna salida. Por tanto, con este
diseño se eliminan las combinaciones de entrada no válidas. Es posible diseñar
un decodificador que no elimine las combinaciones no válidas, con la ventaja
de que resulta un circuito más simple y económico.
Si intentamos simplificar estas funciones de salida S0..S9 veremos que
no todas se pueden simplificar.
Por ejemplo, vamos a simplificar S9, mediante tablas de Karnaugh e
implementando por “1”:
E3E2  E1E0 00 01 11 10
00
0 0 0 0
01
0 0 0 0
11
x x x x
10
0 1 x x
NOTA. Existen decodificadores con salida activa por nivel bajo (“0”),
como por ejemplo el 74154, que es un decodificador de 4 a 16.
S9 = E3 · E2' · E1' · E0 = E3 · E0
E0 E1 E2 E3
S0
S9
Estructura de computadores Tema 4
16
Ejemplo 2: Decodificador de BCD a segmentación en siete
Los dispositivos de visualización de las calculadoras electrónicas y
relojes digitales utilizan diodos emisores de luz (LEDs). Cada dígito del
dispositivo se forma con siete segmentos, cada uno consistente en un LED que
se ilumina mediante señales digitales.
El decodificador que vamos a ver es un circuito combinacional que
acepta un dígito decimal en BCD y genera las salidas adecuadas para la
selección de los segmentos que representan el dígito decimal.
Disposición de los segmentos en un display de 7 segmentos:
Segmentos activos para todos los dígitos decimales:
Como vemos, cada segmento se utiliza para varios dígitos decimales,
pero ninguno de ellos se emplea para representar todos los dígitos decimales.
Por tanto, debemos determinar los segmentos que hay que activar para cada
uno de los dígitos decimales.
Dígito decimal Segmentos activados
0 a,b,c,d,e,f
1 b,c
2 a,b,d,e,g
3 a,b,c,d,g
4 b,c,f,g
5 a,c,d,f,g
6 a,c,d,e,f,g
7 a,b,c
8 a,b,c,d,e,f,g
9 a,b,c,d,f,g
La lógica de decodificación de segmentos requiere cuatro entradas en
código decimal binario (BCD) y siete salidas, una para cada segmento del
display. La tabla de verdad será de salida múltiple, equivalente a 7 tablas de
verdad, una por segmento. Vamos a considerar que al tener "1" en las salidas,
el segmento correspondiente está encendido.
a..g
B
C
D
A
Circuito
combinacional:
decodificador BCD
a 7 segmentos
g
a
d
b
c
f
e
Estructura de computadores Tema 4
17
Entradas SalidasDíg.
dec. D C B A a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
4 0 1 0 0 0 1 1 0 0 1 1
5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 1 0 1 1 1 1 1
7 0 1 1 1 1 1 1 0 0 0 0
8 1 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 1 1 1 1 0 1 1
10 1 0 1 0 x x x x x x x
11 1 0 1 1 x x x x x x x
12 1 1 0 0 x x x x x x x
13 1 1 0 1 x x x x x x x
14 1 1 1 0 x x x x x x x
15 1 1 1 1 x x x x x x x
Hemos considerado la entrada A como el bit menos significativo (LSB) y
la entrada D como el bit más significativo (MSB) porque así lo hacen la mayoría
de fabricantes de IC.
Como el código BCD tan sólo tiene los valores 0..9, las últimas 6
combinaciones (10-15) nunca aparecerán en las entradas, por lo que tenemos
la opción de tratarlas como condiciones indiferentes en las salidas ("x").
Una vez que ya hemos construido la tabla de verdad, a partir de ella
podemos obtener las expresiones suma de productos o producto de sumas de
cada una de las 7 salidas, es decir, para cada uno de los segmentos.
Sumas de productos (implementando por "1")
Segmento Expresión lógica
a a = D'·C'·B'·A' + D'·C'·B·A' + D'·C'·B·A + D'·C·B'·A + D'·C·B·A' +
D'·C·B·A + D·C'·B'·A' + D·C'·B'·A
b b = D'·C'·B'·A' + D'·C'·B'·A + D'·C'·B·A' + D'·C'·B·A + D·C'·B·A +
D'·C·B·A + D·C'·B'·A' + D·C'·B'·A
c c = D'·C'·B'·A' + D'·C'·B'·A + D'·C'·B·A + D·C'·B·A + D'·C·B'·A +
D'·C·B·A' + D'·C·B·A + D·C'·B'·A' + D·C'·B'·A
d d = D'·C'·B'·A' + D'·C'·B·A' + D'·C'·B·A + D'·C·B'·A + D'·C·B·A' +
D·C'·B'·A' + D·C'·B'·A
e e = D'·C'·B'·A'+ D'·C'·B·A' + D'·C·B·A' + D·C'·B'·A'
f f = D'·C'·B'·A'+ D·C'·B·A + D'·C·B'·A + D'·C·B·A' + D·C'·B'·A' +
D·C'·B'·A
g g = D'·C'·B·A' + D'·C'·B·A + D·C'·B·A + D'·C·B'·A + D'·C·B·A' +
D·C'·B'·A' + D·C'·B'·A
Estructura de computadores Tema 4
18
C'·A'
B
D C·A
Producto de sumas (implementando por "0")
Segmento Expresión lógica
a a = (D+C+B+A') · (D+C'+B+A)
b b = (D+C'+B+A') · (D+C'+B'+A)
c c = (D+C+B'+A)
d d = (D+C+B+A') · (D+C'+B+A) · (D+C'+B'+A')
e e = (D+C+B+A') · (D+C+B'+A') · (D+C'+B+A) · (D+C'+B+A') ·
(D+C'+B'+A') · (D'+C+B+A')
f f = (D+C+B+A') · (D+C+B'+A) · (D+C+B'+A') · (D+C'+B'+A')
g g = (D+C+B+A) · (D+C+B+A') · (D+C'+B'+A')
Debemos tener en cuenta que al ser "multifunciones" tendremos algunos
términos comunes cuyas puertas podrán ser compartidas.
Vamos a simplificar estas expresiones mediante tablas o mapas de
Karnaugh, utilizando condiciones indiferentes e implementando por "1", tanto
para la construcción de la tabla de Karnaugh como para su simplificación.
Segmento "a":
DC  BA 00 01 11 10
00
1 1 1
01
1 1 1
11
x x x x
10
1 1 x x
a = D + B + C·A + C'·A'
Simplificando del mismo modo el resto de segmentos obtendremos:
Segmento Expresión lógica
a a = D + B + C·A + C'·A'
b b =
c c =
d d =
e e =
f f =
g g =
Estructura de computadores Tema 4
19
Podemos comprobar que las expresiones se han simplificado bastante,
con lo que podemos implementarlas con muchas menos puertas que antes.
El problema que tiene el uso de indiferencias "x" es que el diseño final
producirá algunas presentaciones arbitrarias sin sentido en el display con estas
combinaciones. Otra opción mejor sería apagar todos los segmentos cuando se
produzca cualquiera de las combinaciones de entrada no permitidas. Esto se
consigue asignando 0 a las salidas de la tabla de verdad para esas 6
combinaciones.
La nueva tabla de verdad sería:
Entradas SalidasDíg.
dec. D C B A a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
4 0 1 0 0 0 1 1 0 0 1 1
5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 1 0 1 1 1 1 1
7 0 1 1 1 1 1 1 0 0 0 0
8 1 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 1 1 1 1 0 1 1
10 1 0 1 0 0 0 0 0 0 0 0
11 1 0 1 1 0 0 0 0 0 0 0
12 1 1 0 0 0 0 0 0 0 0 0
13 1 1 0 1 0 0 0 0 0 0 0
14 1 1 1 0 0 0 0 0 0 0 0
15 1 1 1 1 0 0 0 0 0 0 0
Segmento "a":
DC  BA 00 01 11 10
00
1 1 1
01
1 1 1
11
0 0 0 0
10
1 1 0 0
a = D'·B + D'·C·A + C'·B'·A' + D·C'·B'
C'·B'·A'
D'·B
D·C'·B' D'·C·A
Estructura de computadores Tema 4
20
Simplificando por Karnaugh todos los segmentos obtendremos:
Segmento Expresión lógica
a a = D'·B + D'·C·A + C'·B'·A' + D·C'·B'
b b = D'·C' + D'·B'·A' + D'·B·A + D·C'·B'
c c = D'·C + D'·A + C'·B'·A' + D·C'·B'
d d = D'·B·A' + D'·C'·B + C'·B'·A' + D·C'·B' + D'·C·B'·A
e e = D'·B·A + C'·B'·A'
f f = D'·C·B' + D'·B'·A' + D'·C·A' + D·C'·B'
g g = D'·B·A' + D'·C'·B + D'·C·B' + D·C'·B'
El decodificador BCD a 7 segmentos se conoce como decodificador por la
mayoría de fabricantes de IC, porque decodifica el código binario para una
dígito decimal; sin embargo, en realidad es un convertidor que traduce un
código decimal de 4 bits a código de 7 bits. La palabra "decodificador" hace
referencia a otro tipo de circuito.
Ejemplo: el decodificador 7447 es un decodificador de este tipo.
Estructura de computadores Tema 4
21
4.3 Multiplexores y demultiplexores
4.3.1 Multiplexores
Son circuitos combinacionales con una estructura de varias entradas y
una única salida de datos. Permiten seleccionar una de las entradas para
realizar la transmisión de datos desde dicha entrada a la salida, que es única.
Los demultiplexores realizan la función inversa.
Esquemáticamente:
Un multiplexor es un selector de datos equivalente a un conmutador de
"m" entradas y una salida, por lo que también recibe el nombre de selector de
datos o conmutador electrónico.
La selección de la entrada se controla mediante unas entradas de
selección o control. Cuando sólo tenemos una entrada de control (2 entradas),
también se le llama entrada de habilitación (enable).
La entrada seleccionada viene biunívocamente determinada por la
combinación de "0" y "1" en las entradas de control. Por tanto, si tenemos "m"
entradas de datos, harán falta "n" entradas de control, siendo m ≤ 2n
.
El diagrama de bloques es:
Como la salida de datos será igual a la entrada de datos seleccionada,
podemos obtener una expresión lógica para la salida en función de las
entradas de datos y las entradas de selección.
MUX
4
entradas
E0
E1
E2
E3
S
C0 C1
"m" entradas de información
"n" entradas de control (m=2n
)
1 única salida (S)
Entradas
Multiplexor
Salida Salidas
Demultiplexor
Entrada
Estructura de computadores Tema 4
22
Ejemplo: un multiplexor de 4 entradas de datos (4 a 1)
Su tabla de verdad es:
Entradas de control Entradas de datos Salida
C1 C0 E3 E2 E1 E0 S
0 0 x x x 0 0
0 0 x x x 1 1
0 1 x x 0 x 0
0 1 x x 1 x 1
1 0 x 0 x x 0
1 0 x 1 x x 1
1 1 0 x x x 0
1 1 1 x x x 1
en donde la x significa que el valor de dicha entrada no influye en la
salida. Implementando por "1" tenemos:
S = C1' · C0' · E0 + C1' · C0 · E1 + C1 · C0’ · E2 + C1 · C0 · E3
Esta función se puede simplificar más. La implementación con puertas
lógicas es la siguiente:
Para diferente número de entradas el circuito tiene la misma estructura.
Ejemplos de multiplexor:
• el 74157 es un circuito 4 entradas de datos y 2 entradas de control (4
MUX).
• el 74151A tiene 8 entradas de datos y 3 de selección (8 MUX).
• el 74159 tiene 16 entradas de datos y 4 de selección (16 MUX).
C0 C1
S
E0
E1
E2
E3
No nos importan
Estructura de computadores Tema 4
23
NOTA: Podemos agrupar varios multiplexores para formar otros de
mayor número de entradas. Por ejemplo, con 5 multiplexores de 4 entradas
podemos formar 1 multiplexor de 16 entradas. Además será necesario alguna
lógica en las líneas de control o selección, para habilitar sólo los multiplexores
que nos interesen.
Las aplicaciones de los multiplexores son muy numerosas:
• Conversor paralelo-serie: permiten seleccionar una de entre varias
líneas de datos o enviar las informaciones de varias líneas por una sola,
dedicando un pequeño intervalo de tiempo a cada una de ellas.
• Generador de funciones lógicas: es la posibilidad de implementar
funciones lógicas con solamente un multiplexor, directamente desde la
tabla de verdad, en forma de suma de productos (implementando por
"1"). En general, cualquier función de "n" variables puede implementarse
mediante un multiplexor de 2n
entradas. Con esto conseguimos sustituir
puertas lógicas por multiplexores, para reducir significativamente el
número de circuitos integrados y permite que los cambios en el diseño
sean mucho más sencillos.
MUX
1
MUX
2
MUX
3
MUX
4
MUX
5
S
E15
E0
C0 C1 C2 C3
Estructura de computadores Tema 4
24
Ejemplo
Vamos a implementar una función lógica a partir de un multiplexor dado,
y sus conexiones.
La función lógica F implementada por un multiplexor se obtiene del
siguiente modo:
• Para las distintas combinaciones de las entradas de control, vemos las
entradas de datos que se activan. Con esto formaremos los distintos
términos de la función (productos).
• La función lógica final será una suma de productos de los términos
producto obtenidos para cada combinación de las entradas de control.
La tabla de verdad sería:
Señales de control Entradas de datos
a b Entrada Valor
Término asociado
0 0 E0 c a’·b’·c
0 1 E1 c’ a’·b ·c’
1 0 E2 0 a ·b’·0
1 1 E3 1 a ·b ·1
Por tanto, la función lógica será la suma de dichos términos producto:
F = (a’·b’·c) + (a’·b ·c’) + (a ·b’·0) + (a ·b ·1)
Simplificando nos queda:
F = (a’·b’·c) + (a’·b ·c’) + (a·b) = a’ · (b’·c + b·c’) + (a·b) =
= a’ · (b ⊕ c) + (a·b)
MUX 4
E0 (00)
E1 (01)
E2 (10)
E3 (11)
C1 C0
F
C
C’
0
1
(MSB) a b (LSB)
Estructura de computadores Tema 4
25
Ejemplo
A partir de la función lógica, vamos a diseñar el circuito utilizando un
multiplexor y la lógica necesaria. Primero utilizaremos un multiplexor de 8
entradas de datos y luego uno de 4 entradas.
El circuito lógico de una función lógica utilizando un multiplexor se
obtiene de la siguiente forma:
• Debemos expresar la función en forma de términos canónicos (suma de
productos).
• Expresamos cada uno de los términos canónicos como su valor binario.
• Dependiendo del número de entradas de datos del multiplexor, lo que
hacemos es asignar las variables a cada una de las entradas de control,
(las que queramos, aunque conviene comenzar por las de mayor peso).
• Para el resto de variables (si quedan), debemos averiguar la lógica
adicional que hay que poner en cada una de las entradas de datos
(constantes "0" o "1", ó entradas de datos sin asignar, ó sus
complementos).
• Si no quedan variables por asignar en las entradas de control, sólo
tendremos 0’s o 1’s en las entradas de datos. Los términos canónicos
(productos) que formen parte de nuestra función lógica, pondremos un
“1” en la entrada correspondiente a su código binario. Para el resto
pondremos “0”.
Sea la función lógica: F(a,b,c) = a·b + a’·b·c + a·b’·c’ + a’·b’·c’
1. La expresamos en términos canónicos:
F(a,b,c) = a·b·(c+c’) + a’·b·c + a·b’·c’ + a’·b’·c’ =
= a·b·c + a·b·c’ + a’·b·c + a·b’·c’ + a’·b’·c’
2. Obtenemos el valor binario de todos los términos:
F(a,b,c) = 1 1 1 + 1 1 0 + 0 1 1 + 1 0 0 + 0 0 0
Multiplexor de 8 entradas
MUX 8
E0 (000)
E1 (001)
E2 (010)
E3 (011)
E4 (100)
E5 (101)
E6 (110)
E7 (111)
C2 C1 C0
F
1
0
0
1
1
0
1
1
(MSB) a c (LSB)b
Estructura de computadores Tema 4
26
Multiplexor de 4 entradas
Partimos de la misma función lógica, ya expresada en términos
canónicos:
F(a,b,c) = a·b·c + a·b·c’ + a’·b·c + a·b’·c’ + a’·b’·c’
Señales de control Entradas de datos
a b Entrada Valor
Términos asociados
0 0 E0 c’ a’·b’ ⇒ a’·b’·c’
0 1 E1 c a’·b ⇒ a’·b·c
1 0 E2 c’ a ·b’ ⇒ a·b’·c’
1 1 E3 1 a ·b ⇒ a·b·c + a·b·c’ =
= a·b·(c+c’) = a·b·1
NOTA: Desde la tabla de verdad también se puede obtener la lógica adicional.
Para cada posible combinación de las entradas de control, se nos activa
una sóla entrada, que será la salida de la función. Pues debemos
averiguar el valor o valores que toma la función de salida para cada una
de esas combinaciones mirando en la tabla de verdad. Este valor puede
ser:
q Siempre "0" (constante), independientemente de la variable de
entrada sin asignar.
q Siempre "1" (constante), independientemente de la variable de
entrada sin asignar.
q Que coincida exactamente con dicha variable.
q Que coincida exactamente con el complementario de dicha variable.
MUX 4
E0
E1
E2
E3
C1 C0
F
c’
c
c’
1
(MSB) a b (LSB)
Estructura de computadores Tema 4
27
4.3.2 Demultiplexores
Un demultiplexor es un circuito combinacional que realiza la función
inversa de un multiplexor, es decir, expande un circuito de una sola señal de
entrada a varias señales de salida: 2n
. La información se redirige a una sola
salida. La selección de la salida específica es controlada por la combinación de
bits de n líneas de selección o control.
El diagrama de bloque es:
El circuito es:
Si examinamos el circuito
veremos que el circuito demultiplexor
es idéntico a un decodificador de 2 a
4 líneas con entrada de habilitación:
• Para el decodificador: las
entradas de datos son C0 y C1, y la
habilitación es la entrada E.
• Para el demultiplexor: la entrada
E provee los datos, mientras que las
entradas C0 y C1 son las entradas de
control o selección.
Aunque ambos circuitos tienen aplicaciones diferentes, sus diagramas
lógicos son idénticos. Por esto, a los decodificadores con entrada de
habilitación se les llama decodificador/demultiplexor.
Las aplicaciones de los demultiplexores son:
• Conversor serie-paralelo
Ejemplo de demultiplexor: el 74154, de 16 salidas.
DEMUX
4
salidas
S0
S1
S2
S3
E
C0 C1
1 entrada única (E)
"n"entradas de control (m=2n
)
"m" salidas
S0
S1
S2
S3
E
C0 C1
Estructura de computadores Tema 4
28
4.4 Circuitos comparadores
La función básica de un comparador consiste en comparar las
magnitudes de dos cantidades binarias (n bits) para determinar su relación:
igualdad y desigualdad (menor, mayor):
A<B A=B A>B
El símbolo como bloque es:
Sólo una de las tres salidas se pondrá a "1", indicando la magnitud de A
respecto de B.
Comparador de números binarios de 1 bit
Vamos a diseñar un comparador de 2 números A y B de 1 bit cada uno
(a y b). El comparador tendrá dos entradas (a y b) y 3 salidas (S1, S2, S3):
La tabla de verdad:
Entradas Salidas
a b S1 (a<b) S2 (a=b) S3 (a>b)
0 0 0 1 0
0 1 1 0 0
1 0 0 0 1
1 1 0 1 0
Implementando por "1" las tres funciones de salida:
• S1 = a'·b
• S2 = a'·b' + a·b = (a ⊕ b)' = ( a'·b + a·b' )'
• S3 = a·b'
El circuito básico será:
A = an ... a1 (n bits)
B = bn ... b1 (n bits)
COMP
S1 (A<B)
S2 (A=B)
S3 (A>B)B
A
n
n
a
b S3 (a>b)
S2 (a=b)
S1 (a<b)
Estructura de computadores Tema 4
29
Comparador de números binarios de "n" bits
Para comparar dos números binarios A y B de "n" bits necesitamos "n"
circuitos comparadores de 1 bit como el anterior.
Detector de igualdad (A=B)
En el caso de la igualdad, para detectar que dos números binarios de "n"
bits son iguales, todos los bits deben ser iguales, es decir, las salidas S2 (a=b)
correspondientes a cada uno de los circuitos comparadores de 1 bit deben ser
todos 1. Por tanto, tendremos que unirlas todas en una puerta AND.
Por ejemplo, para n=4:
a1
b1 S3 (a>b)
S2 (a=b)
S1 (a<b)
a2
b2 S3 (a>b)
S2 (a=b)
S1 (a<b)
a3
b3 S3 (a>b)
S2 (a=b)
S1 (a<b)
a4
b4 S3 (a>b)
S2 (a=b)
S1 (a<b)
A=B
Estructura de computadores Tema 4
30
Para realizar la comparación de igualdad podemos utilizar la puerta
XOR (OR exclusiva), ya que su salida es 1 cuando los dos bits de entrada son
diferentes y 0 cuando son iguales.
Por tanto, el circuito comparador básico (números binarios de 1 bit) se
puede implementar del siguiente modo:
Para n=4 (comparador de 4 bits) hacemos lo mismo de antes:
Detector de desigualdad (A<B y A>B)
Para determinar una desigualdad entre dos números binarios A y B de "n"
bits, el procedimiento general consiste en:
1. En primer lugar se examina el bit de mayor orden (MSB), y vamos
desplazándonos hacia el bit menos significativo (LSB).
2. Si encontramos una igualdad (los bits comparados son iguales),
debemos continuar con el proceso, examinando los siguientes bits de
orden inmediatamente inferior.
3. En el momento en que encontremos una desigualdad, la relación entre
ambos queda ya establecida, y finalizamos el proceso; cualquier otra
desigualdad entre bits de posiciones de orden menor debe ignorarse.
Es decir, la relación de más alto orden es la que tiene prioridad.
Ejemplos de comparadores de magnitud serían: 74HC85 (4 bits MSI)
a=b
b
a
a1=b1
b1
a1
a2=b2
b2
a2
a3=b3
b3
a3
a4=b4
b4
a4
A=B
Estructura de computadores Tema 4
31
Igual que en el caso de los circuitos sumadores, podemos concatenar
varios circuitos comparadores para comparar números binarios de más bits.
En el siguiente esquema vemos un comparador de 8 bits formado por
dos comparadores de 4 bits.
Para el caso del comparador 74HC85, "1" = +5v. y "0" = 0v.
COMP
A>B A>B
A=B A=B
A<B A<B
S1 (A<B)
S2 (A=B)
S3 (A>B)
A1..4
n
B1..4
n
COMP
A>B A>B
A=B A=B
A<B A<B
A5..8
n
B5..8
n
"0"
"1"
"0"
Estructura de computadores Tema 4
32
4.5 Generadores/comprobadores de paridad
Durante la transmisión de información binaria se pueden producir errores.
Para detectar estos errores se utiliza el método de paridad, el cual utiliza un bit
de paridad.
La idea del método de paridad es la siguiente. Cualquier grupo de bits
contiene un número par o impar de 1's. Lo que hacemos es añadir un bit de
paridad. Un bit de paridad es un bit adicional incluido en el mensaje binario
para hacer que la cantidad de unos sea par o impar. El mensaje se transmite
(incluyendo el bit de paridad), y luego se comprueba en el extremo receptor. Si
la cantidad de bits 1's del mensaje no corresponden al bit de paridad
transmitido quiere decir que uno de los bits ha cambiado de valor, y por tanto,
se detecta un error.
El circuito que genera el bit de paridad del transmisor se llama generador
de paridad. No importa si se añade al principio o al final del mensaje a
transmitir.
El circuito que comprueba el bit de paridad en el receptor se llama
comprobador de paridad.
Obviamente, un determinado sistema puede funcionar con paridad par o
impar, pero no con ambas:
• Paridad par:
- el generador de paridad se encarga de añadir un bit de paridad tal
que tengamos un número par de 1's.
- el comprobador de paridad se encarga de comprobar que el
número de 1's recibidos es par.
• Paridad impar:
- el generador de paridad se encarga de añadir un bit de paridad tal
que tengamos un número impar de 1's.
- el comprobador de paridad se encarga de comprobar que el
número de 1's recibidos es impar.
Ejemplo de circuito integrado de paridad de 9 bits (8 de información + 1
de paridad) es el circuito 74180.
Estructura de computadores Tema 4
33
x
y
z
P
C
Ejemplo:
Vamos a transmitir un mensaje de 3 bits, con un bit de paridad. Podemos
utilizar paridad par o paridad impar. En este ejemplo utilizamos paridad par, es
decir, debemos generar el bit de paridad de tal forma que la cantidad total de
unos (incluyendo el bit de paridad) sea par.
Generador de paridad (par)
Tabla de verdad:
Mensaje de 3
bits
Bit de
paridad
x y z P
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
Comprobador de paridad (par)
NOTA: Es obvio que los circuitos de generación y comprobación de
paridad siempre tienen una función de salida cuyos términos son mitad "1" y
mitad "0", por lo que pueden implementarse con puertas XOR.
Función lógica:
P = x ⊕ y ⊕ z
Función lógica:
C = x ⊕ y ⊕ z ⊕ P
Circuito:
x
y
z
P
Circuito:

Más contenido relacionado

La actualidad más candente

Codigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones IIICodigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones IIIAndy Juan Sarango Veliz
 
Sumadores,codificadores, decodificadores,multiplexores y demultiplexores
Sumadores,codificadores, decodificadores,multiplexores y demultiplexoresSumadores,codificadores, decodificadores,multiplexores y demultiplexores
Sumadores,codificadores, decodificadores,multiplexores y demultiplexoresJose Tomas Rodriguez Henriquez
 
Moduladores Y Demoduladores Am
Moduladores Y Demoduladores AmModuladores Y Demoduladores Am
Moduladores Y Demoduladores AmAlberto Jimenez
 
Amplificadores operacionales con funciones de transferencia
Amplificadores operacionales con funciones de transferenciaAmplificadores operacionales con funciones de transferencia
Amplificadores operacionales con funciones de transferenciaMartín E
 
Modulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionModulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionAlieth Guevara
 
Polarizacion por divisor de tensión
Polarizacion por divisor de tensiónPolarizacion por divisor de tensión
Polarizacion por divisor de tensiónGabriel Rojas Henao
 

La actualidad más candente (20)

Practica Amplificador clase AB
Practica Amplificador clase ABPractica Amplificador clase AB
Practica Amplificador clase AB
 
Pcm
PcmPcm
Pcm
 
Codigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones IIICodigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones III
 
Hamming y CRC
Hamming y CRCHamming y CRC
Hamming y CRC
 
Conexión darlington transistor
Conexión darlington transistorConexión darlington transistor
Conexión darlington transistor
 
Informe Previo IT564: Códigos de Linea
Informe Previo IT564: Códigos de LineaInforme Previo IT564: Códigos de Linea
Informe Previo IT564: Códigos de Linea
 
Electrónica digital: Comparadores
Electrónica digital: ComparadoresElectrónica digital: Comparadores
Electrónica digital: Comparadores
 
Amplificadores Multietapa
Amplificadores MultietapaAmplificadores Multietapa
Amplificadores Multietapa
 
Circuitos secuenciales
Circuitos secuencialesCircuitos secuenciales
Circuitos secuenciales
 
Sumadores,codificadores, decodificadores,multiplexores y demultiplexores
Sumadores,codificadores, decodificadores,multiplexores y demultiplexoresSumadores,codificadores, decodificadores,multiplexores y demultiplexores
Sumadores,codificadores, decodificadores,multiplexores y demultiplexores
 
Moduladores Y Demoduladores Am
Moduladores Y Demoduladores AmModuladores Y Demoduladores Am
Moduladores Y Demoduladores Am
 
Modulacion qam
Modulacion qamModulacion qam
Modulacion qam
 
Amplificadores operacionales con funciones de transferencia
Amplificadores operacionales con funciones de transferenciaAmplificadores operacionales con funciones de transferencia
Amplificadores operacionales con funciones de transferencia
 
Cuantificación
CuantificaciónCuantificación
Cuantificación
 
El transistor jfet
El transistor jfetEl transistor jfet
El transistor jfet
 
2da tarea de control
2da tarea de control2da tarea de control
2da tarea de control
 
Codificación de línea
Codificación de líneaCodificación de línea
Codificación de línea
 
Modulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionModulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicion
 
Polarizacion por divisor de tensión
Polarizacion por divisor de tensiónPolarizacion por divisor de tensión
Polarizacion por divisor de tensión
 
Codigo Hamming
Codigo HammingCodigo Hamming
Codigo Hamming
 

Similar a Electrónica digital: Tema 4 Circuitos combinacionales

Tema 6 de electrónica digital: Circuitos combinacionales
Tema 6 de electrónica digital: Circuitos combinacionales  Tema 6 de electrónica digital: Circuitos combinacionales
Tema 6 de electrónica digital: Circuitos combinacionales SANTIAGO PABLO ALBERTO
 
Trabajo de circuito combinacionales
Trabajo de circuito combinacionalesTrabajo de circuito combinacionales
Trabajo de circuito combinacionalesjennyx19
 
Electrónica digital: sistemas combinacionales sumadores
Electrónica digital: sistemas combinacionales sumadoresElectrónica digital: sistemas combinacionales sumadores
Electrónica digital: sistemas combinacionales sumadoresSANTIAGO PABLO ALBERTO
 
Sistemas combinacionale1
Sistemas combinacionale1Sistemas combinacionale1
Sistemas combinacionale1Andres Flores
 
Electrónica digital: lógica aritmética sumadores
Electrónica digital: lógica aritmética sumadoresElectrónica digital: lógica aritmética sumadores
Electrónica digital: lógica aritmética sumadoresSANTIAGO PABLO ALBERTO
 
Algebra booleana.laura Alejandra Carrera
Algebra booleana.laura Alejandra CarreraAlgebra booleana.laura Alejandra Carrera
Algebra booleana.laura Alejandra Carreramibb204
 
Electrónica digital: Circuitos arimetricos sumadores
Electrónica digital: Circuitos arimetricos sumadoresElectrónica digital: Circuitos arimetricos sumadores
Electrónica digital: Circuitos arimetricos sumadoresSANTIAGO PABLO ALBERTO
 
Sumando Y sumado avanzado
Sumando Y sumado avanzadoSumando Y sumado avanzado
Sumando Y sumado avanzadocarlosgaham
 
Circuitos digitales ii
Circuitos digitales iiCircuitos digitales ii
Circuitos digitales iijesuseperez
 
⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALES
⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALES⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALES
⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALESVictor Asanza
 
Decodificadores multiplexores
Decodificadores multiplexoresDecodificadores multiplexores
Decodificadores multiplexoresAngel Morales
 
Prob resueltost3 mapas k
Prob resueltost3 mapas kProb resueltost3 mapas k
Prob resueltost3 mapas kCECYTEG
 
Circuitos combinacionales
Circuitos combinacionalesCircuitos combinacionales
Circuitos combinacionalesElmer Mendoza
 

Similar a Electrónica digital: Tema 4 Circuitos combinacionales (20)

Tema 6 de electrónica digital: Circuitos combinacionales
Tema 6 de electrónica digital: Circuitos combinacionales  Tema 6 de electrónica digital: Circuitos combinacionales
Tema 6 de electrónica digital: Circuitos combinacionales
 
Exposicion circuitos sumadores
Exposicion circuitos sumadoresExposicion circuitos sumadores
Exposicion circuitos sumadores
 
Trabajo de circuito combinacionales
Trabajo de circuito combinacionalesTrabajo de circuito combinacionales
Trabajo de circuito combinacionales
 
Tema3 ce-combinacionales
Tema3 ce-combinacionalesTema3 ce-combinacionales
Tema3 ce-combinacionales
 
Electrónica digital: sistemas combinacionales sumadores
Electrónica digital: sistemas combinacionales sumadoresElectrónica digital: sistemas combinacionales sumadores
Electrónica digital: sistemas combinacionales sumadores
 
Sistemas combinacionale1
Sistemas combinacionale1Sistemas combinacionale1
Sistemas combinacionale1
 
Electrónica digital: lógica aritmética sumadores
Electrónica digital: lógica aritmética sumadoresElectrónica digital: lógica aritmética sumadores
Electrónica digital: lógica aritmética sumadores
 
Algebra booleana.laura Alejandra Carrera
Algebra booleana.laura Alejandra CarreraAlgebra booleana.laura Alejandra Carrera
Algebra booleana.laura Alejandra Carrera
 
Electrónica digital: Circuitos arimetricos sumadores
Electrónica digital: Circuitos arimetricos sumadoresElectrónica digital: Circuitos arimetricos sumadores
Electrónica digital: Circuitos arimetricos sumadores
 
Sumando Y sumado avanzado
Sumando Y sumado avanzadoSumando Y sumado avanzado
Sumando Y sumado avanzado
 
Circuitos digitales ii
Circuitos digitales iiCircuitos digitales ii
Circuitos digitales ii
 
⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALES
⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALES⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALES
⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALES
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Elec3 cap7 (1)
Elec3 cap7 (1)Elec3 cap7 (1)
Elec3 cap7 (1)
 
Decodificadores multiplexores
Decodificadores multiplexoresDecodificadores multiplexores
Decodificadores multiplexores
 
García joel david
García joel davidGarcía joel david
García joel david
 
Logica Combinacional
Logica CombinacionalLogica Combinacional
Logica Combinacional
 
Prob resueltost3 mapas k
Prob resueltost3 mapas kProb resueltost3 mapas k
Prob resueltost3 mapas k
 
Circuitos combinacionales
Circuitos combinacionalesCircuitos combinacionales
Circuitos combinacionales
 

Más de SANTIAGO PABLO ALBERTO

Manual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaManual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaSANTIAGO PABLO ALBERTO
 
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez SANTIAGO PABLO ALBERTO
 
Programación de microcontroladores PIC en C con Fabio Pereira
Programación de microcontroladores PIC en  C con Fabio PereiraProgramación de microcontroladores PIC en  C con Fabio Pereira
Programación de microcontroladores PIC en C con Fabio PereiraSANTIAGO PABLO ALBERTO
 
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...SANTIAGO PABLO ALBERTO
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1SANTIAGO PABLO ALBERTO
 
Manual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTManual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTSANTIAGO PABLO ALBERTO
 
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...SANTIAGO PABLO ALBERTO
 
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...SANTIAGO PABLO ALBERTO
 
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...SANTIAGO PABLO ALBERTO
 
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...SANTIAGO PABLO ALBERTO
 
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...SANTIAGO PABLO ALBERTO
 

Más de SANTIAGO PABLO ALBERTO (20)

secuencia electroneumática parte 1
secuencia electroneumática parte 1secuencia electroneumática parte 1
secuencia electroneumática parte 1
 
secuencia electroneumática parte 2
secuencia electroneumática parte 2secuencia electroneumática parte 2
secuencia electroneumática parte 2
 
Manual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaManual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzada
 
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
 
Programación de microcontroladores PIC en C con Fabio Pereira
Programación de microcontroladores PIC en  C con Fabio PereiraProgramación de microcontroladores PIC en  C con Fabio Pereira
Programación de microcontroladores PIC en C con Fabio Pereira
 
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
 
Arduino: Arduino de cero a experto
Arduino: Arduino de cero a expertoArduino: Arduino de cero a experto
Arduino: Arduino de cero a experto
 
Fisica I
Fisica IFisica I
Fisica I
 
Quimica.pdf
Quimica.pdfQuimica.pdf
Quimica.pdf
 
Manual básico PLC OMRON
Manual básico PLC OMRON Manual básico PLC OMRON
Manual básico PLC OMRON
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1
 
Manual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTManual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMART
 
Catálogo de PLC S7-200 SMART
Catálogo de PLC S7-200 SMART Catálogo de PLC S7-200 SMART
Catálogo de PLC S7-200 SMART
 
PLC: Automatismos industriales
PLC: Automatismos industrialesPLC: Automatismos industriales
PLC: Automatismos industriales
 
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
 
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
 
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
 
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
 
PLC: Motor Dahlander
PLC: Motor DahlanderPLC: Motor Dahlander
PLC: Motor Dahlander
 
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
 

Último

Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...esandoval7
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialyajhairatapia
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionOsdelTacusiPancorbo
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfJessLeonelVargasJimn
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptxTEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptxYEDSONJACINTOBUSTAMA
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...ssuser646243
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRyanimarca23
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 

Último (20)

Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundial
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacion
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdf
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptxTEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
TEC-SEMANA 9-GRUPO1 SENATI SEGURIDAD Y PREVENCIÓN DE RIESGOS.pptx
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 

Electrónica digital: Tema 4 Circuitos combinacionales

  • 1. Estructura de computadores Tema 4: Circuitos combinacionales 1 Tema 4: Circuitos combinacionales 4.0 Introducción Los circuitos lógicos digitales pueden ser de dos tipos: • combinacionales • secuenciales. Circuitos combinacionales Aquellos circuitos digitales con varias entradas y varias salidas, en los cuales la relación entre cada salida y las entradas puede ser expresada mediante una función lógica (expresiones algebraicas, tablas de verdad, circuito con puertas lógicas, etc.), se denominan circuitos combinacionales. De la definición se deduce que cada salida en un instante de tiempo determinado, depende exclusivamente de las entradas al circuito en el mismo instante de tiempo, pero no depende de las entradas que hubo en instantes de tiempo anteriores (no tiene "memoria"). Ahora bien, en cuanto a la implementación mediante circuitos electrónicos, hay que matizar algunos detalles. Hemos visto que las puertas lógicas obtenían a su salida una señal, que dependía sólo de las entradas, pero esta salida no se estabilizaba hasta transcurrido un pequeño intervalo de tiempo desde la aplicación de las señales de entrada (del orden de nanosegundos). Por otro lado, si el circuito combinacional tiene varias entradas (n), también puede tener varias salidas (m). Para "n" variables de entrada tenemos 2n combinaciones binarias posibles. Por tanto, podemos expresar un circuito combinacional mediante una tabla de verdad que lista los valores de todas las salidas para cada una de las combinaciones de entrada. Un circuito combinacional también puede describirse mediante "m" funciones lógicas, una para cada variable de salida; cada una de las cuales se presenta como función de las "n" variables de entrada. F x1 x2 F(t) = (x1(t) , x2(t), ... ) E0 E1 En S0 S1 Sm Sistema Combinacional
  • 2. Estructura de computadores Tema 4: Circuitos combinacionales 2 Diremos pues, que un circuito combinacional real es aquel en el cual las salidas dependen exclusivamente de las señales de entrada aplicadas, una vez transcurrido el tiempo necesario para la estabilización de las salidas, desde la aplicación de las señales de entrada. Multifunciones: Son aquellas funciones que tienen varias salidas, por lo que habrá una expresión lógica para cada salida. E0 E1 En S0 S1 Sn A continuación, vamos a estudiar algunos circuitos combinacionales que realizan funciones específicas, por dos razones: 1. Circuitos muy complejos pueden descomponerse en circuitos o bloques más elementales, como los que vamos a estudiar, que se interconectan entre si para formar el circuito ("Divide y vencerás" o diseño jerárquico). 2. Estos circuitos se encuentran disponibles comercialmente, integrados en una sola pastilla. 4.1 Circuitos sumadores y restadores 4.1.1 Sumador binario El sumador binario es el elemento básico de la unidad aritmética de cualquier ordenador, pues cualquier operación aritmética básica puede realizarse a partir de sumas y restas repetidas. Para sumar dos números de n bits, hay que sumar dos a dos los bits del mismo peso y el acarreo de la suma de los bits de peso inmediato inferior. 4.1.2 Semisumador (half adder) Es un circuito combinacional que realiza la suma de dos dígitos binarios, obteniendo su suma y el acarreo para la etapa siguiente. No tiene en cuenta el bit de acarreo de la etapa anterior. Su tabla de verdad, y símbolo como bloque es: a b S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 a b Suma (S) Acarreo (C) 1/2 Σ
  • 3. Estructura de computadores Tema 4: Circuitos combinacionales 3 Implementando por "1": S = a' · b + a · b' = a ⊕ b C = a · b La suma S responde a una función OR-exclusiva y el acarreo C a una función AND. Si no deseamos utilizar la puerta OR-Exclusiva por su coste superior, el semisumador se puede implementar de la siguiente forma: Implementando por "0": S = (a+b) · (a'+b') = = ((a+b) · (a'+b'))' ' = ((a+b)' + (a'+b')')' = ((a+b)’ + (a·b))' = = (a+b) · (a·b)' C = a · b De esta forma obtenemos un circuito mucho más simple.
  • 4. Estructura de computadores Tema 4: Circuitos combinacionales 4 4.1.3 Etapa de sumador (sumador completo) Es un circuito combinacional capaz de sumar dos dígitos (cifras) binarios, teniendo en cuenta el acarreo producido en la etapa anterior. Obtiene la suma y el acarreo para la etapa siguiente. Su tabla de verdad y símbolo como bloque es: a b Cin S Cout 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 a y b = Variables de entrada 1 0 1 0 1 Cin = Acarreo entrada (etapa anterior) 1 1 0 0 1 S = Suma 1 1 1 1 1 Cout = Acarreo salida (etapa siguiente) Simplificamos mediante tablas de Karnaugh las funciones de salida S y Cout. Para ello, construimos las tablas correspondientes implementando por "1" desde la tabla de verdad. S Cout Cinab 00 01 11 10 Cinab 00 01 11 10 0 0 1 1 3 2 1 0 0 1 3 1 2 1 4 1 5 7 1 6 1 4 5 1 7 1 6 1 La función S no se puede simplificar, ya que tenemos 4 1's o 4 0's aislados, pero Cout si, obteniéndose (implementando por 1): S = a'·b'· Cin + a'·b· Cin' + a·b· Cin + a·b'· Cin’ = = (a’·b’+a·b)·Cin + (a’·b+a·b’)·Cin’ = (a ⊕ b)’·Cin + (a ⊕ b)·Cin’ = = a ⊕ b ⊕ Cin = (a ⊕ b) ⊕ Cin Cout = a·b + a· Cin + b· Cin = a·b + Cin·(a·b' + a'·b) = a·b + Cin·(a ⊕ b) Hemos manipulado las funciones de salida S y Cout para que incluyan la OR-Exclusiva (recordar la función S del semisumador). Esto significa que para implementar la función sumador completo, se pueden utilizar dos puertas OR-Exclusiva. Por razones económicas, los fabricantes emplean para la implementación circuitos de nivel superior (más lentos), pero que permiten un gran ahorro en el número de puertas empleadas. a'·b'·Cin a'·b·Cin' a·b·Cin a·b'·Cin' b·Cin a·b a·Cin a Cin Suma (S) Acarreo (Cout) Σ b
  • 5. Estructura de computadores Tema 4: Circuitos combinacionales 5 Una forma simple de implementar la etapa de sumador es a partir de dos semisumadores. Como hay que sumar los dos bits (dígitos) del mismo peso más el acarreo anterior, se utiliza un semisumador para sumar los dos dígitos y el resultado se suma con el acarreo anterior mediante otro semisumador. Si en alguna de las dos sumas parciales se produce acarreo, habrá acarreo en la etapa de sumador (función OR). Esto puede comprobarse en la tabla de verdad. La etapa de sumador puede implementarse con el siguiente circuito. 4.1.4 Sumador binario de n bits Para sumar números de n bits, se pueden emplear diferentes circuitos, pero todos llevan como unidad básica la etapa de sumador. La forma más simple de realizar un sumador de n bits es disponer de n etapas de sumador, conectadas de tal forma que la salida de acarreo de cada etapa excita a la entrada de acarreo de la etapa siguiente. Este circuito se denomina sumador paralelo con acarreo en serie. Denotamos con subíndices cada uno de los bits de los sumandos, indicando con el subíndice 1 el bit menos significativo (LSB). Su esquema es el siguiente: A = an ... a1 (n bits) B = bn ... b1 (n bits) 1/2 Σ 1/2 Σ C1 a1 b1 S1 Σ1 C2 a2 b2 S2 Σ2 C3 a3 b3 S3 Σ3 Cn an bn Sn Σn 0 v. LSBMSB
  • 6. Estructura de computadores Tema 4: Circuitos combinacionales 6 Téngase en cuenta que para la posición menos significativa se puede usar un semisumador, o bien, poner a 0 voltios (masa) la entrada de acarreo de un sumador completo, ya que no existe entrada de acarreo en la posición del bit menos significativo. Su diagrama funcional o de bloques es: Retardo de propagación Los bits de entrada se aplican simultáneamente para producir la suma. Cada sumador completo recibe los bits correspondientes de los dos sumandos ai y bi y el acarreo de entrada, y genera el bit de suma Si y el acarreo de salida Ci. Pero esta suma y este acarreo no se pueden generar hasta que tiene lugar el acarreo de entrada, lo que da lugar a un retardo temporal en el proceso de la adición. El retardo de propagación del acarreo para cada sumador completo es el tiempo transcurrido desde la aplicación del acarreo de entrada hasta que se produce el acarreo de salida, suponiendo que las entradas ya existan. Para un sumador de n bits, este retardo es de 2n+2 retardos de puerta, lo cual es bastante significativo. Un diseño alternativo que permite eliminar este retardo es el sumador con acarreo anticipado, a costa de incrementar el número de puertas. Expansión de sumadores Podemos conectar en cascada varios sumadores de un número fijo de bits (n) para conseguir otro sumador del más de bits. A esto se le llama expansión de sumadores. Para conectar dos sumadores de n bits, debemos conectar la entrada de acarreo del sumador de menor orden a masa (0 v.), y la salida de acarreo de cada sumador, a la entrada de acarreo del sumador de orden superior. Este proceso se denomina conexión en cascada. Por ejemplo, con dos sumadores de 4 bits, conseguiremos otro de 8 bits. Comercialmente existen sumadores de 4 bits como componentes digitales que podemos utilizar como bloque de construcción de un sistema digital y, por tanto, se define como bloque funcional. A = an ... a1 (n bits) B = bn ... b1 (n bits) S = Sn ... S1 (n bits) ΣΣ n bits 0 v.Cn A n B n S n
  • 7. Estructura de computadores Tema 4: Circuitos combinacionales 7 Como ejemplo de sumadores de 4 bits, tenemos dos modelos de IC de media escala (MSI): 74LS83A y 74LS283. 4.1.5 Substractor binario Para restar dos números binarios, pueden restarse directamente mediante un circuito específico, o bien, sumar al minuendo el complemento a 2 del sustraendo. Este segundo método es más barato, pero algo más lento. Por tanto, dependiendo del precio y calidad del ordenador, se empleará un método u otro. 4.1.6 Semisubstractor (half substractor) Es un circuito combinacional capaz de restar dos bits a y b, obteniendo su diferencia D y el acarreo para la etapa siguiente C. Su tabla de verdad y símbolo como bloque es: a b D C 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 Implementando por "1": D = a' · b + a · b' = a ⊕ b C = a' · b El circuito puede implementarse de alguna de las siguientes formas: a b Diferencia (D) Acarreo (C) 1/2 D ΣΣ 4 bits 0 v.Cout S4..1 4 ΣΣ 4 bits A4..1 4 Cout S8..5 4 B4..1 4 A8..5 4 B8..5 4
  • 8. Estructura de computadores Tema 4: Circuitos combinacionales 8 4.1.7 Etapas de substractor (substractor completo) Es análogo de la etapa de sumador. Resta dos dígitos, teniendo en cuenta el acarreo de la etapa anterior, y obtiene la diferencia y el acarreo para la etapa siguiente. Su tabla de verdad y símbolo como bloque es: a b Cin D Cout 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 0 a y b = Variables de entrada 1 0 1 0 0 Cin = Acarreo entrada (etapa anterior) 1 1 0 0 0 D = Diferencia 1 1 1 1 1 Cout = Acarreo salida (etapa siguiente) Simplificamos mediante tablas de Karnaugh las funciones de salida D y Cout. Para ello, construimos las tablas correspondientes implementado por "1" desde la tabla de verdad. D Cout Cinab 00 01 11 10 Cinab 00 01 11 10 0 0 1 1 3 2 1 0 0 1 1 3 2 1 4 1 5 7 1 6 1 4 1 5 1 7 1 6 Las funciones lógicas de D y Cout son: D = a ⊕ b ⊕ Cin = (a ⊕ b) ⊕ Cin (Igual que el sumador) Cout = a'·b + a'·Cin + b·Cin = (a'·b+a'·Cin+b·Cin)'' = ((a'·b)'·(a'·Cin)'·(b· Cin)')' El circuito restador será: a Cin Diferencia (D) Acarreo (Cout) D b a'·b'·Cin a'·b·Cin' a·b·Cin a·b'·Cin' a'·Cin a'·b b·Cin d Cout
  • 9. Estructura de computadores Tema 4: Circuitos combinacionales 9 La etapa de substractor puede obtenerse fácilmente de dos modos diferentes: 1. Se restan sucesivamente b de a, y al resultado se le resta Cin (acarreo de la etapa anterior): a – b – Cin 2. Se suman b y Cin y el resultado se resta de a: a – (b+Cin) Los circuitos que implementan la etapa de substractor según estos dos modos de operación son: Modo 1: substractor formado por dos semisubstractores. Modo 2: substractor formado por un semisumador y un semisubstractor. 4.1.8 Substractor binario de n bits Podemos utiizar estas etapas de substractor para construirlo, del mismo modo que para el sumador binario de n bits. Otra forma es utilizar la representación en complemento a 1 o 2 para realizar la resta de dos números binarios mediante un sumador. Para obtener el complemento a 2 se toma el complemento a 1 y se suma 1 al bit menos significativo. El complemento a 1 se implementa fácilmente con circuitos C1 a1 b1 D1 D1 C2 a2 b2 D2 D2 C3 a3 b3 D3 D3 Cn an bn Dn Dn 0 v. LSBMSB b a 1/2 D 1/2 ΣCin D Cout b a 1/2 D 1/2 D Cin D Cout
  • 10. Estructura de computadores Tema 4: Circuitos combinacionales 10 inversores en paralelo. Utilizando el complemento a 1 y una entrada de sumador sin utilizar para sumar 1 se consigue el complemento a 2 a bajo costo. En la resta de complemento a 2, si hay acarreo se desprecia, y si no hay, debemos corregir el resultado complementando a 2 el resultado. Las operaciones suma y resta pueden combinarse en un solo circuito con un sumador binario común. Esto se logra incluyendo una puerta XOR con cada sumador completo. Debemos de poner una entrada que nos indique la operación que vamos a realizar: suma o resta (S’/R). Cuando S’/R=0, el circuito es sumador; cuando S’/R=1, se comporta como restador. El funcionamiento de este circuito se puede ver fácilmente con la siguiente tabla de verdad: S’/R bi XOR Descripción 0 0 0 0 1 1 Suma: no cambia bi 1 0 1 1 1 0 Resta: complementa bi Además, suma "1" para obtener el C2 a1 C1 b1 S1 Σ1 a2 C2 b2 S2 Σ2 a3 C3 b3 S3 Σ3 Cn an bn Sn Σn “1” C2 = C1 + 1 C1 a1 b1 S1 Σ1 C2 a2 b2 S2 Σ2 C3 a3 b3 S3 Σ3 Cn an bn Sn Σn S’/R S’/R = 0 è Sumar S’/R = 1 è Restar Suma: “0” Resta: “1” (C2 = C1 + 1)
  • 11. Estructura de computadores Tema 4: Circuitos combinacionales 11 4.2 Codificadores y decodificadores 4.2.1 Codificadores Son circuitos combinacionales que permiten pasar una información en forma decodificada (dígito decimal u octal) a una forma codificada (BCD o binario). Si nos limitamos a sistemas binarios, el codificador deberá tener n salidas si queremos codificar m entradas, siendo m ≤ 2n . De esta forma, m informaciones diferentes quedan representadas mediante grupos de n bits, es decir, las líneas de salida generan el código binario correspondiente al valor de entrada. 4.2.1.1 Ejemplo: Codificador octal a binario Tenemos 8 entradas, una para cada dígito octal, y tres salidas que generan el número binario correspondiente. Se supone que sólo una entrada tiene un valor de 1 en cualquier momento. Entradas Salidas E7 E6 E5 E4 E3 E2 E1 E0 S2 S1 S0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 Si implementamos por “1”, obtenemos las funciones lógicas de las 3 salidas: • S0 = E1 + E3 + E5 + E7 • S1 = E2 + E3 + E6 + E7 • S2 = E4 + E5 + E6 + E7 Vemos que el decodificador puede implementarse con 3 puertas OR de 4 entradas. Codificador E0 E1 E2 E3 S0 S1 “m” entradas m ≤ 2n “n” salidas
  • 12. Estructura de computadores Tema 4: Circuitos combinacionales 12 Este decodificador tiene la limitación de que sólo puede estar activa una entrada en un momento dado: si se activan simultáneamente dos entradas, la salida produce una combinación incorrecta. Para resolver esta ambigüedad, algunos circuitos codificadores deben establecer una prioridad de entrada para asegurar que sólo se codifique una entrada. Por ejemplo, en este caso podríamos haber establecido una prioridad más alta para las entradas con subíndices mayores. Otra ambigüedad de este codificador es que se genera una salida de 0’s cuando todas las entradas son 0, pero esta salida es igual que cuando D0=1. Esta discrepancia puede resolverse dando una salida más para indicar que al menos una de las entradas es igual a 1. 4.2.1.2 Ejemplo: Teclados Ejemplos típicos de codificación son los utilizados en los teclados de los computadores y máquinas de calcular. En un teclado alfanumérico, por ejemplo, tenemos 27 teclas para letras y 10 para cifras. Cada tecla va conectada a una línea eléctrica, que estará a nivel lógico “1” ó “0”, según la tecla correspondiente esté pulsada o no. Para que la información enviada por el teclado al computador se transmita, es inviable disponer de tantas líneas como teclas. Por ello se emplea un codificador que permite pasar del número de líneas igual al de teclas, a sólo 7 líneas, si se emplea, por ejemplo, código ASCII. Otro caso típico es el del teclado numérico, en el cual, mediante un codificador, se pasa de 10 líneas a 4 líneas. Vamos a ver como ejemplo este caso, suponiendo que el código de salida es BCD (Decimal Codificado en Binario). Como hay 10 símbolos diferentes serán necesarias 10 entradas y 4 salidas. La correspondencia entre entradas y salidas se representa en la tabla siguiente: Entradas Salidas E9 E8 E7 E6 E5 E4 E3 E2 E1 E0 S3 S2 S1 S0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1
  • 13. Estructura de computadores Tema 4: Circuitos combinacionales 13 Implementando por “1”, las 4 funciones de las salida son: S3 = E8 + E9 S2 = E4 + E5 + E6 + E7 S1 = E2 + E3 + E6 + E7 S0 = E1 + E3 + E5 + E7 + E9 que pueden realizarse mediante puertas OR: Notemos que E0 no participa en la elaboración del código de salida. En el caso del teclado sería equivalente pulsar "0" que no pulsar nada. En estos casos se añade una salida adicional que indica cuando se ha pulsado alguna tecla. 4.2.1.3 Tipos de codificadores: Existen dos tipos de codificadores: • Codificadores sin prioridad • Codificadores con prioridad Cualquier codificador que funcione como el descrito anteriormente recibe el nombre de codificador sin prioridad, y se caracteriza porque, en caso de presentarse dos entradas simultáneas o más, las salidas obtenidas serán todas aquellas que correspondan a cada entrada por separado. Por tanto, en estos codificadores sólo se puede poner a “1” una sola entrada, pues de otro modo, la salida es incorrecta. Existe otro tipo de codificadores, llamados codificadores con prioridad, que en el caso de activarse más de una entrada, la combinación de salidas obtenida corresponde a la entrada de mayor valor decimal de entre las activadas. Por ejemplo, si pulsamos las teclas 1 y 3 simultáneamente, se queda con el 3.
  • 14. Estructura de computadores Tema 4: Circuitos combinacionales 14 4.2.2 Decodificadores Realizan la función inversa de los codificadores. Partiendo de una información codificada de n bits, obtiene la información de que se trata. El número m de informaciones que se pueden obtener (salidas) debe ser tal que m ≤ 2n . Si la información codificada de n bits tiene combinaciones no usadas (indiferencias), el decodificador podría tener menos de 2n salidas. Ejemplo 1: Decodificador de BCD a decimal Su tabla de verdad es: Entradas Salidas E3 E2 E1 E0 S9 S8 S7 S6 S5 S4 S3 S2 S1 S0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 x x x x x x x x x x 1 0 1 1 x x x x x x x x x x 1 1 0 0 x x x x x x x x x x 1 1 0 1 x x x x x x x x x x 1 1 1 0 x x x x x x x x x x 1 1 1 1 x x x x x x x x x x Implementando por "1": S0 = E3' · E2' · E1' · E0' S1 = E3' · E2' · E1' · E0 S2 = E3' · E2' · E1 · E0' S3 = E3' · E2' · E1 · E0 S4 = E3' · E2 · E1' · E0' S5 = E3' · E2 · E1’ · E0 S6 = E3' · E2 · E1 · E0' S7 = E3' · E2 · E1 · E0 S8 = E3 · E2' · E1' · E0' S9 = E3 · E2' · E1' · E0 “n” entradas m ≤ 2n “m” salidas Decodificador E0 E1 S1 S2S0 S3
  • 15. Estructura de computadores Tema 4 15 Si no simplificamos las funciones, utilizando inversores y puertas AND de 4 entradas podemos implementar el circuito del siguiente modo Este decodificador activa (pone a 1) una de sus salidas, cuando se presenta una combinación válida en la entrada. En cambio, si el código no es válido (por ejemplo, 1 1 1 1), no se activa ninguna salida. Por tanto, con este diseño se eliminan las combinaciones de entrada no válidas. Es posible diseñar un decodificador que no elimine las combinaciones no válidas, con la ventaja de que resulta un circuito más simple y económico. Si intentamos simplificar estas funciones de salida S0..S9 veremos que no todas se pueden simplificar. Por ejemplo, vamos a simplificar S9, mediante tablas de Karnaugh e implementando por “1”: E3E2 E1E0 00 01 11 10 00 0 0 0 0 01 0 0 0 0 11 x x x x 10 0 1 x x NOTA. Existen decodificadores con salida activa por nivel bajo (“0”), como por ejemplo el 74154, que es un decodificador de 4 a 16. S9 = E3 · E2' · E1' · E0 = E3 · E0 E0 E1 E2 E3 S0 S9
  • 16. Estructura de computadores Tema 4 16 Ejemplo 2: Decodificador de BCD a segmentación en siete Los dispositivos de visualización de las calculadoras electrónicas y relojes digitales utilizan diodos emisores de luz (LEDs). Cada dígito del dispositivo se forma con siete segmentos, cada uno consistente en un LED que se ilumina mediante señales digitales. El decodificador que vamos a ver es un circuito combinacional que acepta un dígito decimal en BCD y genera las salidas adecuadas para la selección de los segmentos que representan el dígito decimal. Disposición de los segmentos en un display de 7 segmentos: Segmentos activos para todos los dígitos decimales: Como vemos, cada segmento se utiliza para varios dígitos decimales, pero ninguno de ellos se emplea para representar todos los dígitos decimales. Por tanto, debemos determinar los segmentos que hay que activar para cada uno de los dígitos decimales. Dígito decimal Segmentos activados 0 a,b,c,d,e,f 1 b,c 2 a,b,d,e,g 3 a,b,c,d,g 4 b,c,f,g 5 a,c,d,f,g 6 a,c,d,e,f,g 7 a,b,c 8 a,b,c,d,e,f,g 9 a,b,c,d,f,g La lógica de decodificación de segmentos requiere cuatro entradas en código decimal binario (BCD) y siete salidas, una para cada segmento del display. La tabla de verdad será de salida múltiple, equivalente a 7 tablas de verdad, una por segmento. Vamos a considerar que al tener "1" en las salidas, el segmento correspondiente está encendido. a..g B C D A Circuito combinacional: decodificador BCD a 7 segmentos g a d b c f e
  • 17. Estructura de computadores Tema 4 17 Entradas SalidasDíg. dec. D C B A a b c d e f g 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 2 0 0 1 0 1 1 0 1 1 0 1 3 0 0 1 1 1 1 1 1 0 0 1 4 0 1 0 0 0 1 1 0 0 1 1 5 0 1 0 1 1 0 1 1 0 1 1 6 0 1 1 0 1 0 1 1 1 1 1 7 0 1 1 1 1 1 1 0 0 0 0 8 1 0 0 0 1 1 1 1 1 1 1 9 1 0 0 1 1 1 1 1 0 1 1 10 1 0 1 0 x x x x x x x 11 1 0 1 1 x x x x x x x 12 1 1 0 0 x x x x x x x 13 1 1 0 1 x x x x x x x 14 1 1 1 0 x x x x x x x 15 1 1 1 1 x x x x x x x Hemos considerado la entrada A como el bit menos significativo (LSB) y la entrada D como el bit más significativo (MSB) porque así lo hacen la mayoría de fabricantes de IC. Como el código BCD tan sólo tiene los valores 0..9, las últimas 6 combinaciones (10-15) nunca aparecerán en las entradas, por lo que tenemos la opción de tratarlas como condiciones indiferentes en las salidas ("x"). Una vez que ya hemos construido la tabla de verdad, a partir de ella podemos obtener las expresiones suma de productos o producto de sumas de cada una de las 7 salidas, es decir, para cada uno de los segmentos. Sumas de productos (implementando por "1") Segmento Expresión lógica a a = D'·C'·B'·A' + D'·C'·B·A' + D'·C'·B·A + D'·C·B'·A + D'·C·B·A' + D'·C·B·A + D·C'·B'·A' + D·C'·B'·A b b = D'·C'·B'·A' + D'·C'·B'·A + D'·C'·B·A' + D'·C'·B·A + D·C'·B·A + D'·C·B·A + D·C'·B'·A' + D·C'·B'·A c c = D'·C'·B'·A' + D'·C'·B'·A + D'·C'·B·A + D·C'·B·A + D'·C·B'·A + D'·C·B·A' + D'·C·B·A + D·C'·B'·A' + D·C'·B'·A d d = D'·C'·B'·A' + D'·C'·B·A' + D'·C'·B·A + D'·C·B'·A + D'·C·B·A' + D·C'·B'·A' + D·C'·B'·A e e = D'·C'·B'·A'+ D'·C'·B·A' + D'·C·B·A' + D·C'·B'·A' f f = D'·C'·B'·A'+ D·C'·B·A + D'·C·B'·A + D'·C·B·A' + D·C'·B'·A' + D·C'·B'·A g g = D'·C'·B·A' + D'·C'·B·A + D·C'·B·A + D'·C·B'·A + D'·C·B·A' + D·C'·B'·A' + D·C'·B'·A
  • 18. Estructura de computadores Tema 4 18 C'·A' B D C·A Producto de sumas (implementando por "0") Segmento Expresión lógica a a = (D+C+B+A') · (D+C'+B+A) b b = (D+C'+B+A') · (D+C'+B'+A) c c = (D+C+B'+A) d d = (D+C+B+A') · (D+C'+B+A) · (D+C'+B'+A') e e = (D+C+B+A') · (D+C+B'+A') · (D+C'+B+A) · (D+C'+B+A') · (D+C'+B'+A') · (D'+C+B+A') f f = (D+C+B+A') · (D+C+B'+A) · (D+C+B'+A') · (D+C'+B'+A') g g = (D+C+B+A) · (D+C+B+A') · (D+C'+B'+A') Debemos tener en cuenta que al ser "multifunciones" tendremos algunos términos comunes cuyas puertas podrán ser compartidas. Vamos a simplificar estas expresiones mediante tablas o mapas de Karnaugh, utilizando condiciones indiferentes e implementando por "1", tanto para la construcción de la tabla de Karnaugh como para su simplificación. Segmento "a": DC BA 00 01 11 10 00 1 1 1 01 1 1 1 11 x x x x 10 1 1 x x a = D + B + C·A + C'·A' Simplificando del mismo modo el resto de segmentos obtendremos: Segmento Expresión lógica a a = D + B + C·A + C'·A' b b = c c = d d = e e = f f = g g =
  • 19. Estructura de computadores Tema 4 19 Podemos comprobar que las expresiones se han simplificado bastante, con lo que podemos implementarlas con muchas menos puertas que antes. El problema que tiene el uso de indiferencias "x" es que el diseño final producirá algunas presentaciones arbitrarias sin sentido en el display con estas combinaciones. Otra opción mejor sería apagar todos los segmentos cuando se produzca cualquiera de las combinaciones de entrada no permitidas. Esto se consigue asignando 0 a las salidas de la tabla de verdad para esas 6 combinaciones. La nueva tabla de verdad sería: Entradas SalidasDíg. dec. D C B A a b c d e f g 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 2 0 0 1 0 1 1 0 1 1 0 1 3 0 0 1 1 1 1 1 1 0 0 1 4 0 1 0 0 0 1 1 0 0 1 1 5 0 1 0 1 1 0 1 1 0 1 1 6 0 1 1 0 1 0 1 1 1 1 1 7 0 1 1 1 1 1 1 0 0 0 0 8 1 0 0 0 1 1 1 1 1 1 1 9 1 0 0 1 1 1 1 1 0 1 1 10 1 0 1 0 0 0 0 0 0 0 0 11 1 0 1 1 0 0 0 0 0 0 0 12 1 1 0 0 0 0 0 0 0 0 0 13 1 1 0 1 0 0 0 0 0 0 0 14 1 1 1 0 0 0 0 0 0 0 0 15 1 1 1 1 0 0 0 0 0 0 0 Segmento "a": DC BA 00 01 11 10 00 1 1 1 01 1 1 1 11 0 0 0 0 10 1 1 0 0 a = D'·B + D'·C·A + C'·B'·A' + D·C'·B' C'·B'·A' D'·B D·C'·B' D'·C·A
  • 20. Estructura de computadores Tema 4 20 Simplificando por Karnaugh todos los segmentos obtendremos: Segmento Expresión lógica a a = D'·B + D'·C·A + C'·B'·A' + D·C'·B' b b = D'·C' + D'·B'·A' + D'·B·A + D·C'·B' c c = D'·C + D'·A + C'·B'·A' + D·C'·B' d d = D'·B·A' + D'·C'·B + C'·B'·A' + D·C'·B' + D'·C·B'·A e e = D'·B·A + C'·B'·A' f f = D'·C·B' + D'·B'·A' + D'·C·A' + D·C'·B' g g = D'·B·A' + D'·C'·B + D'·C·B' + D·C'·B' El decodificador BCD a 7 segmentos se conoce como decodificador por la mayoría de fabricantes de IC, porque decodifica el código binario para una dígito decimal; sin embargo, en realidad es un convertidor que traduce un código decimal de 4 bits a código de 7 bits. La palabra "decodificador" hace referencia a otro tipo de circuito. Ejemplo: el decodificador 7447 es un decodificador de este tipo.
  • 21. Estructura de computadores Tema 4 21 4.3 Multiplexores y demultiplexores 4.3.1 Multiplexores Son circuitos combinacionales con una estructura de varias entradas y una única salida de datos. Permiten seleccionar una de las entradas para realizar la transmisión de datos desde dicha entrada a la salida, que es única. Los demultiplexores realizan la función inversa. Esquemáticamente: Un multiplexor es un selector de datos equivalente a un conmutador de "m" entradas y una salida, por lo que también recibe el nombre de selector de datos o conmutador electrónico. La selección de la entrada se controla mediante unas entradas de selección o control. Cuando sólo tenemos una entrada de control (2 entradas), también se le llama entrada de habilitación (enable). La entrada seleccionada viene biunívocamente determinada por la combinación de "0" y "1" en las entradas de control. Por tanto, si tenemos "m" entradas de datos, harán falta "n" entradas de control, siendo m ≤ 2n . El diagrama de bloques es: Como la salida de datos será igual a la entrada de datos seleccionada, podemos obtener una expresión lógica para la salida en función de las entradas de datos y las entradas de selección. MUX 4 entradas E0 E1 E2 E3 S C0 C1 "m" entradas de información "n" entradas de control (m=2n ) 1 única salida (S) Entradas Multiplexor Salida Salidas Demultiplexor Entrada
  • 22. Estructura de computadores Tema 4 22 Ejemplo: un multiplexor de 4 entradas de datos (4 a 1) Su tabla de verdad es: Entradas de control Entradas de datos Salida C1 C0 E3 E2 E1 E0 S 0 0 x x x 0 0 0 0 x x x 1 1 0 1 x x 0 x 0 0 1 x x 1 x 1 1 0 x 0 x x 0 1 0 x 1 x x 1 1 1 0 x x x 0 1 1 1 x x x 1 en donde la x significa que el valor de dicha entrada no influye en la salida. Implementando por "1" tenemos: S = C1' · C0' · E0 + C1' · C0 · E1 + C1 · C0’ · E2 + C1 · C0 · E3 Esta función se puede simplificar más. La implementación con puertas lógicas es la siguiente: Para diferente número de entradas el circuito tiene la misma estructura. Ejemplos de multiplexor: • el 74157 es un circuito 4 entradas de datos y 2 entradas de control (4 MUX). • el 74151A tiene 8 entradas de datos y 3 de selección (8 MUX). • el 74159 tiene 16 entradas de datos y 4 de selección (16 MUX). C0 C1 S E0 E1 E2 E3 No nos importan
  • 23. Estructura de computadores Tema 4 23 NOTA: Podemos agrupar varios multiplexores para formar otros de mayor número de entradas. Por ejemplo, con 5 multiplexores de 4 entradas podemos formar 1 multiplexor de 16 entradas. Además será necesario alguna lógica en las líneas de control o selección, para habilitar sólo los multiplexores que nos interesen. Las aplicaciones de los multiplexores son muy numerosas: • Conversor paralelo-serie: permiten seleccionar una de entre varias líneas de datos o enviar las informaciones de varias líneas por una sola, dedicando un pequeño intervalo de tiempo a cada una de ellas. • Generador de funciones lógicas: es la posibilidad de implementar funciones lógicas con solamente un multiplexor, directamente desde la tabla de verdad, en forma de suma de productos (implementando por "1"). En general, cualquier función de "n" variables puede implementarse mediante un multiplexor de 2n entradas. Con esto conseguimos sustituir puertas lógicas por multiplexores, para reducir significativamente el número de circuitos integrados y permite que los cambios en el diseño sean mucho más sencillos. MUX 1 MUX 2 MUX 3 MUX 4 MUX 5 S E15 E0 C0 C1 C2 C3
  • 24. Estructura de computadores Tema 4 24 Ejemplo Vamos a implementar una función lógica a partir de un multiplexor dado, y sus conexiones. La función lógica F implementada por un multiplexor se obtiene del siguiente modo: • Para las distintas combinaciones de las entradas de control, vemos las entradas de datos que se activan. Con esto formaremos los distintos términos de la función (productos). • La función lógica final será una suma de productos de los términos producto obtenidos para cada combinación de las entradas de control. La tabla de verdad sería: Señales de control Entradas de datos a b Entrada Valor Término asociado 0 0 E0 c a’·b’·c 0 1 E1 c’ a’·b ·c’ 1 0 E2 0 a ·b’·0 1 1 E3 1 a ·b ·1 Por tanto, la función lógica será la suma de dichos términos producto: F = (a’·b’·c) + (a’·b ·c’) + (a ·b’·0) + (a ·b ·1) Simplificando nos queda: F = (a’·b’·c) + (a’·b ·c’) + (a·b) = a’ · (b’·c + b·c’) + (a·b) = = a’ · (b ⊕ c) + (a·b) MUX 4 E0 (00) E1 (01) E2 (10) E3 (11) C1 C0 F C C’ 0 1 (MSB) a b (LSB)
  • 25. Estructura de computadores Tema 4 25 Ejemplo A partir de la función lógica, vamos a diseñar el circuito utilizando un multiplexor y la lógica necesaria. Primero utilizaremos un multiplexor de 8 entradas de datos y luego uno de 4 entradas. El circuito lógico de una función lógica utilizando un multiplexor se obtiene de la siguiente forma: • Debemos expresar la función en forma de términos canónicos (suma de productos). • Expresamos cada uno de los términos canónicos como su valor binario. • Dependiendo del número de entradas de datos del multiplexor, lo que hacemos es asignar las variables a cada una de las entradas de control, (las que queramos, aunque conviene comenzar por las de mayor peso). • Para el resto de variables (si quedan), debemos averiguar la lógica adicional que hay que poner en cada una de las entradas de datos (constantes "0" o "1", ó entradas de datos sin asignar, ó sus complementos). • Si no quedan variables por asignar en las entradas de control, sólo tendremos 0’s o 1’s en las entradas de datos. Los términos canónicos (productos) que formen parte de nuestra función lógica, pondremos un “1” en la entrada correspondiente a su código binario. Para el resto pondremos “0”. Sea la función lógica: F(a,b,c) = a·b + a’·b·c + a·b’·c’ + a’·b’·c’ 1. La expresamos en términos canónicos: F(a,b,c) = a·b·(c+c’) + a’·b·c + a·b’·c’ + a’·b’·c’ = = a·b·c + a·b·c’ + a’·b·c + a·b’·c’ + a’·b’·c’ 2. Obtenemos el valor binario de todos los términos: F(a,b,c) = 1 1 1 + 1 1 0 + 0 1 1 + 1 0 0 + 0 0 0 Multiplexor de 8 entradas MUX 8 E0 (000) E1 (001) E2 (010) E3 (011) E4 (100) E5 (101) E6 (110) E7 (111) C2 C1 C0 F 1 0 0 1 1 0 1 1 (MSB) a c (LSB)b
  • 26. Estructura de computadores Tema 4 26 Multiplexor de 4 entradas Partimos de la misma función lógica, ya expresada en términos canónicos: F(a,b,c) = a·b·c + a·b·c’ + a’·b·c + a·b’·c’ + a’·b’·c’ Señales de control Entradas de datos a b Entrada Valor Términos asociados 0 0 E0 c’ a’·b’ ⇒ a’·b’·c’ 0 1 E1 c a’·b ⇒ a’·b·c 1 0 E2 c’ a ·b’ ⇒ a·b’·c’ 1 1 E3 1 a ·b ⇒ a·b·c + a·b·c’ = = a·b·(c+c’) = a·b·1 NOTA: Desde la tabla de verdad también se puede obtener la lógica adicional. Para cada posible combinación de las entradas de control, se nos activa una sóla entrada, que será la salida de la función. Pues debemos averiguar el valor o valores que toma la función de salida para cada una de esas combinaciones mirando en la tabla de verdad. Este valor puede ser: q Siempre "0" (constante), independientemente de la variable de entrada sin asignar. q Siempre "1" (constante), independientemente de la variable de entrada sin asignar. q Que coincida exactamente con dicha variable. q Que coincida exactamente con el complementario de dicha variable. MUX 4 E0 E1 E2 E3 C1 C0 F c’ c c’ 1 (MSB) a b (LSB)
  • 27. Estructura de computadores Tema 4 27 4.3.2 Demultiplexores Un demultiplexor es un circuito combinacional que realiza la función inversa de un multiplexor, es decir, expande un circuito de una sola señal de entrada a varias señales de salida: 2n . La información se redirige a una sola salida. La selección de la salida específica es controlada por la combinación de bits de n líneas de selección o control. El diagrama de bloque es: El circuito es: Si examinamos el circuito veremos que el circuito demultiplexor es idéntico a un decodificador de 2 a 4 líneas con entrada de habilitación: • Para el decodificador: las entradas de datos son C0 y C1, y la habilitación es la entrada E. • Para el demultiplexor: la entrada E provee los datos, mientras que las entradas C0 y C1 son las entradas de control o selección. Aunque ambos circuitos tienen aplicaciones diferentes, sus diagramas lógicos son idénticos. Por esto, a los decodificadores con entrada de habilitación se les llama decodificador/demultiplexor. Las aplicaciones de los demultiplexores son: • Conversor serie-paralelo Ejemplo de demultiplexor: el 74154, de 16 salidas. DEMUX 4 salidas S0 S1 S2 S3 E C0 C1 1 entrada única (E) "n"entradas de control (m=2n ) "m" salidas S0 S1 S2 S3 E C0 C1
  • 28. Estructura de computadores Tema 4 28 4.4 Circuitos comparadores La función básica de un comparador consiste en comparar las magnitudes de dos cantidades binarias (n bits) para determinar su relación: igualdad y desigualdad (menor, mayor): A<B A=B A>B El símbolo como bloque es: Sólo una de las tres salidas se pondrá a "1", indicando la magnitud de A respecto de B. Comparador de números binarios de 1 bit Vamos a diseñar un comparador de 2 números A y B de 1 bit cada uno (a y b). El comparador tendrá dos entradas (a y b) y 3 salidas (S1, S2, S3): La tabla de verdad: Entradas Salidas a b S1 (a<b) S2 (a=b) S3 (a>b) 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 Implementando por "1" las tres funciones de salida: • S1 = a'·b • S2 = a'·b' + a·b = (a ⊕ b)' = ( a'·b + a·b' )' • S3 = a·b' El circuito básico será: A = an ... a1 (n bits) B = bn ... b1 (n bits) COMP S1 (A<B) S2 (A=B) S3 (A>B)B A n n a b S3 (a>b) S2 (a=b) S1 (a<b)
  • 29. Estructura de computadores Tema 4 29 Comparador de números binarios de "n" bits Para comparar dos números binarios A y B de "n" bits necesitamos "n" circuitos comparadores de 1 bit como el anterior. Detector de igualdad (A=B) En el caso de la igualdad, para detectar que dos números binarios de "n" bits son iguales, todos los bits deben ser iguales, es decir, las salidas S2 (a=b) correspondientes a cada uno de los circuitos comparadores de 1 bit deben ser todos 1. Por tanto, tendremos que unirlas todas en una puerta AND. Por ejemplo, para n=4: a1 b1 S3 (a>b) S2 (a=b) S1 (a<b) a2 b2 S3 (a>b) S2 (a=b) S1 (a<b) a3 b3 S3 (a>b) S2 (a=b) S1 (a<b) a4 b4 S3 (a>b) S2 (a=b) S1 (a<b) A=B
  • 30. Estructura de computadores Tema 4 30 Para realizar la comparación de igualdad podemos utilizar la puerta XOR (OR exclusiva), ya que su salida es 1 cuando los dos bits de entrada son diferentes y 0 cuando son iguales. Por tanto, el circuito comparador básico (números binarios de 1 bit) se puede implementar del siguiente modo: Para n=4 (comparador de 4 bits) hacemos lo mismo de antes: Detector de desigualdad (A<B y A>B) Para determinar una desigualdad entre dos números binarios A y B de "n" bits, el procedimiento general consiste en: 1. En primer lugar se examina el bit de mayor orden (MSB), y vamos desplazándonos hacia el bit menos significativo (LSB). 2. Si encontramos una igualdad (los bits comparados son iguales), debemos continuar con el proceso, examinando los siguientes bits de orden inmediatamente inferior. 3. En el momento en que encontremos una desigualdad, la relación entre ambos queda ya establecida, y finalizamos el proceso; cualquier otra desigualdad entre bits de posiciones de orden menor debe ignorarse. Es decir, la relación de más alto orden es la que tiene prioridad. Ejemplos de comparadores de magnitud serían: 74HC85 (4 bits MSI) a=b b a a1=b1 b1 a1 a2=b2 b2 a2 a3=b3 b3 a3 a4=b4 b4 a4 A=B
  • 31. Estructura de computadores Tema 4 31 Igual que en el caso de los circuitos sumadores, podemos concatenar varios circuitos comparadores para comparar números binarios de más bits. En el siguiente esquema vemos un comparador de 8 bits formado por dos comparadores de 4 bits. Para el caso del comparador 74HC85, "1" = +5v. y "0" = 0v. COMP A>B A>B A=B A=B A<B A<B S1 (A<B) S2 (A=B) S3 (A>B) A1..4 n B1..4 n COMP A>B A>B A=B A=B A<B A<B A5..8 n B5..8 n "0" "1" "0"
  • 32. Estructura de computadores Tema 4 32 4.5 Generadores/comprobadores de paridad Durante la transmisión de información binaria se pueden producir errores. Para detectar estos errores se utiliza el método de paridad, el cual utiliza un bit de paridad. La idea del método de paridad es la siguiente. Cualquier grupo de bits contiene un número par o impar de 1's. Lo que hacemos es añadir un bit de paridad. Un bit de paridad es un bit adicional incluido en el mensaje binario para hacer que la cantidad de unos sea par o impar. El mensaje se transmite (incluyendo el bit de paridad), y luego se comprueba en el extremo receptor. Si la cantidad de bits 1's del mensaje no corresponden al bit de paridad transmitido quiere decir que uno de los bits ha cambiado de valor, y por tanto, se detecta un error. El circuito que genera el bit de paridad del transmisor se llama generador de paridad. No importa si se añade al principio o al final del mensaje a transmitir. El circuito que comprueba el bit de paridad en el receptor se llama comprobador de paridad. Obviamente, un determinado sistema puede funcionar con paridad par o impar, pero no con ambas: • Paridad par: - el generador de paridad se encarga de añadir un bit de paridad tal que tengamos un número par de 1's. - el comprobador de paridad se encarga de comprobar que el número de 1's recibidos es par. • Paridad impar: - el generador de paridad se encarga de añadir un bit de paridad tal que tengamos un número impar de 1's. - el comprobador de paridad se encarga de comprobar que el número de 1's recibidos es impar. Ejemplo de circuito integrado de paridad de 9 bits (8 de información + 1 de paridad) es el circuito 74180.
  • 33. Estructura de computadores Tema 4 33 x y z P C Ejemplo: Vamos a transmitir un mensaje de 3 bits, con un bit de paridad. Podemos utilizar paridad par o paridad impar. En este ejemplo utilizamos paridad par, es decir, debemos generar el bit de paridad de tal forma que la cantidad total de unos (incluyendo el bit de paridad) sea par. Generador de paridad (par) Tabla de verdad: Mensaje de 3 bits Bit de paridad x y z P 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 Comprobador de paridad (par) NOTA: Es obvio que los circuitos de generación y comprobación de paridad siempre tienen una función de salida cuyos términos son mitad "1" y mitad "0", por lo que pueden implementarse con puertas XOR. Función lógica: P = x ⊕ y ⊕ z Función lógica: C = x ⊕ y ⊕ z ⊕ P Circuito: x y z P Circuito: