Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tema 4:
Circuitos combinacionales
4.0 Introduccin
Los circuitos lgicos digitales pueden ser de dos tipos:
combinacionales
secuenciales.
Circuitos combinacionales
Aquellos circuitos digitales con varias entradas y varias salidas, en los
cuales la relacin entre cada salida y las entradas puede ser expresada
mediante una funcin lgica (expresiones algebraicas, tablas de verdad,
circuito con puertas lgicas, etc.), se denominan circuitos
combinacionales.
De la definicin 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").
x1
F(t) = (x1 (t) , x2(t), ... )
F
x2
Sistema
Combinacional
S0
S1
Sm
Estructura de computadores
E1
En
S0
S1
Sn
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
1/2
Suma (S)
Acarreo (C)
C=ab
La suma S responde a una funcin OR-exclusiva y el acarreo C a una
funcin AND.
Cin
Cout
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
a
b
Suma (S)
Cin
Acarreo (Cout )
a y b = Variables de entrada
Cin = Acarreo entrada (etapa anterior)
S = Suma
Cout = Acarreo salida (etapa siguiente)
a'b'C in
00
0
01
1
11
3
10
2
1
4
a'bC in'
1
7
abC in
Cin\ab
ab'C in'
Cout
01
11
00
0
10
2
1
1
bC in
aC in
ab
b)C in =
b)
1/2
1/2
Su esquema es el siguiente:
MSB
an
bn
Cn
a3
b3
C3
n
Sn
a2
b2
C2
3
S3
a1
b1
C1
2
S2
LSB
0 v.
1
S1
n
Cn
A = a n ... a 1 (n bits)
B = b n ... b 1 (n bits)
S = S n ... S 1 (n bits)
n bits
0 v.
n
S
Retardo de propagacin
Los bits de entrada se aplican simultneamente 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 adicin. El retardo de propagacin del acarreo para cada sumador
completo es el tiempo transcurrido desde la aplicacin 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 diseo alternativo que permite eliminar este retardo es el sumador
con acarreo anticipado, a costa de incrementar el nmero de puertas.
Expansin de sumadores
Podemos conectar en cascada varios sumadores de un nmero fijo de
bits (n) para conseguir otro sumador del ms de bits. A esto se le llama
expansin 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 conexin 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 construccin de un sistema digital y, por
tanto, se define como bloque funcional.
A8..5
B8..5
4
Cout
A4..1
4 bits
B4..1
4
Cout
0 v.
4 bits
4
S8..5
S4..1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
1/2
D
Diferencia (D)
Acarreo (C)
Cin
Cout
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
Diferencia (D)
Cin
Acarreo (Cout )
a y b = Variables de entrada
Cin = Acarreo entrada (etapa anterior)
D = Diferencia
Cout = Acarreo salida (etapa siguiente)
00
01
1
a'b'C in
11
a'bC in'
10
Cin\ab
abC in
00
1
5
ab'C in'
Cout
01
11
3
10
1
1
a'C in
a'b
bC in
Cin = (a
b)
Cin
Cout
1/2
D
1/2
D
Cout
Cin
1/2
D
1/2
Cin
Cout
Cn
an
bn
Dn
Dn
a3
C3
b3
D3
D3
a2
C2
b2
D2
D2
a1
C1
b1
D1
LSB
0 v.
D1
b3
an
b2
a3
Cn
b1
a2
C3
a1
C2
Sn
S3
C2 = C1 + 1
C1
2
S2
S1
b3
b2
b1
S/R
S/R = 0 Sumar
S/R = 1 Restar
an
a3
Cn
a2
C3
C2
Sn
a1
S3
C1
2
S2
S1
Suma: 0
Resta: 1
(C2 = C1 + 1)
bi
0
1
0
1
XOR
0
1
1
0
Descripcin
Suma: no cambia b i
Resta: complementa b i
Adems, suma "1" para obtener el C 2
10
E1
E2
E3
m entradas
m 2n
n salidas
Codificador
S0
S1
E6
0
0
0
0
0
0
1
0
E5
0
0
0
0
0
1
0
0
Entradas
E4
E3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
E2
0
0
1
0
0
0
0
0
E1
0
1
0
0
0
0
0
0
E0
1
0
0
0
0
0
0
0
S2
0
0
0
0
1
1
1
1
Salidas
S1
0
0
1
1
0
0
1
1
S0
0
1
0
1
0
1
0
1
11
Este decodificador tiene la limitacin de que slo puede estar activa una
entrada en un momento dado: si se activan simultneamente dos entradas, la
salida produce una combinacin incorrecta. Para resolver esta ambigedad,
algunos circuitos codificadores deben establecer una prioridad de entrada
para asegurar que slo se codifique una entrada. Por ejemplo, en este caso
podramos haber establecido una prioridad ms alta para las entradas con
subndices mayores.
Otra ambigedad de este codificador es que se genera una salida de 0s
cuando todas las entradas son 0, pero esta salida es igual que cuando D0=1.
Esta discrepancia puede resolverse dando una salida ms para indicar que al
menos una de las entradas es igual a 1.
4.2.1.2 Ejemplo: Teclados
Ejemplos tpicos de codificacin son los utilizados en los teclados de los
computadores y mquinas de calcular. En un teclado alfanumrico, por
ejemplo, tenemos 27 teclas para letras y 10 para cifras. Cada tecla va
conectada a una lnea elctrica, que estar a nivel lgico 1 0, segn la
tecla correspondiente est pulsada o no.
Para que la informacin enviada por el teclado al computador se
transmita, es inviable disponer de tantas lneas como teclas. Por ello se emplea
un codificador que permite pasar del nmero de lneas igual al de teclas, a slo
7 lneas, si se emplea, por ejemplo, cdigo ASCII.
Otro caso tpico es el del teclado numrico, en el cual, mediante un
codificador, se pasa de 10 lneas a 4 lneas. Vamos a ver como ejemplo este
caso, suponiendo que el cdigo de salida es BCD (Decimal Codificado en
Binario).
Como hay 10 smbolos diferentes sern necesarias 10 entradas y 4
salidas. La correspondencia entre entradas y salidas se representa en la tabla
siguiente:
E9
0
0
0
0
0
0
0
0
0
1
E8
0
0
0
0
0
0
0
0
1
0
E7
0
0
0
0
0
0
0
1
0
0
E6
0
0
0
0
0
0
1
0
0
0
Entradas
E5 E 4
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
E3
0
0
0
1
0
0
0
0
0
0
E2
0
0
1
0
0
0
0
0
0
0
E1
0
1
0
0
0
0
0
0
0
0
E0
1
0
0
0
0
0
0
0
0
0
S3
0
0
0
0
0
0
0
0
1
1
Salidas
S2 S 1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
S0
0
1
0
1
0
1
0
1
0
1
12
13
4.2.2 Decodificadores
Realizan la funcin inversa de los codificadores. Partiendo de una
informacin codificada de n bits, obtiene la informacin de que se trata. El
nmero m de informaciones que se pueden obtener (salidas) debe ser tal que
n
m 2 . Si la informacin codificada de n bits tiene combinaciones no usadas
(indiferencias), el decodificador podra tener menos de 2 n salidas.
E0
E1
n entradas
m 2n
m salidas
Decodificador
S0
S1
S2
S3
Entradas
E2 E 1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
E0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
S9
0
0
0
0
0
0
0
0
0
1
x
x
x
x
x
x
S8
0
0
0
0
0
0
0
0
1
0
x
x
x
x
x
x
S7
0
0
0
0
0
0
0
1
0
0
x
x
x
x
x
x
S6
0
0
0
0
0
0
1
0
0
0
x
x
x
x
x
x
Salidas
S5 S 4
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
x
x
x
x
x
x
x
x
x
x
x
x
S3
0
0
0
1
0
0
0
0
0
0
x
x
x
x
x
x
S2
0
0
1
0
0
0
0
0
0
0
x
x
x
x
x
x
S1
0
1
0
0
0
0
0
0
0
0
x
x
x
x
x
x
S0
1
0
0
0
0
0
0
0
0
0
x
x
x
x
x
x
S5 = E3' E 2 E 1 E 0
S6 = E3' E 2 E 1 E 0'
S 7 = E 3' E 2 E 1 E 0
S8 = E3 E 2' E 1' E 0'
S9 = E3 E 2' E 1' E 0
14
Estructura de computadores
Tema 4
E1
E2
E3
S0
S9
00
01
11
10
01
11
10
S9 = E3 E 2' E 1' E 0 = E3 E 0
NOTA. Existen decodificadores con salida activa por nivel bajo (0),
como por ejemplo el 74154, que es un decodificador de 4 a 16.
15
Circuito
combinacional:
decodificador BCD
a 7 segmentos
a..g
f
b
c
Segmentos activados
a,b,c,d,e,f
b,c
a,b,d,e,g
a,b,c,d,g
b,c,f,g
a,c,d,f,g
a,c,d,e,f,g
a,b,c
a,b,c,d,e,f,g
a,b,c,d,f,g
16
Dg.
dec.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
D
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Entradas
C
B
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
A
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
a
1
0
1
1
0
1
1
1
1
1
x
x
x
x
x
x
b
1
1
1
1
1
0
0
1
1
1
x
x
x
x
x
x
Salidas
c
d
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
x
x
x
x
x
x
x
x
x
x
x
x
e
1
0
1
0
0
0
1
0
1
0
x
x
x
x
x
x
f
1
0
0
0
1
1
1
0
1
1
x
x
x
x
x
x
g
0
0
1
1
1
1
1
0
1
1
x
x
x
x
x
x
17
Expresin lgica
a = (D+C+B+A') (D+C'+B+A)
b = (D+C'+B+A') (D+C'+B'+A)
c = (D+C+B'+A)
d = (D+C+B+A') (D+C'+B+A) (D+C'+B'+A')
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 = (D+C+B+A') (D+C+B'+A) (D+C+B'+A') (D+C'+B'+A')
g = (D+C+B+A) (D+C+B+A') (D+C'+B'+A')
00
01
11
10
C'A'
01
11
10
CA
a = D + B + CA + C'A'
Simplificando del mismo modo el resto de segmentos obtendremos:
Segmento
a
b
c
d
e
f
g
Expresin lgica
a = D + B + CA + C'A'
b=
c=
d=
e=
f=
g=
18
D
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Entradas
C
B
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
A
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
a
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
b
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
Salidas
d
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
c
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
e
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
f
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
g
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
Segmento "a":
DC \ BA
00
00
11
10
01
11
10
C'B'A'
01
DC'B'
D'B
D'CA
19
Expresin lgica
a = D'B + D'CA + C'B'A' + DC'B'
b = D'C' + D'B'A' + D'BA + DC'B'
c = D'C + D'A + C'B'A' + DC'B'
d = D'BA' + D'C'B + C'B'A' + DC'B' + D'CB'A
e = D'BA + C'B'A'
f = D'CB' + D'B'A' + D'CA' + DC'B'
g = D'BA' + D'C'B + D'CB' + DC'B'
20
Salida
Entrada
Multiplexor
Salidas
Demultiplexor
MUX
4
entradas
E3
C0
C1
21
E3
x
x
x
x
x
x
0
1
No nos importan
Entradas de datos
E2
E1
x
x
x
x
x
0
x
1
0
x
1
x
x
x
x
x
Salida
S
0
1
0
1
0
1
0
1
E0
0
1
x
x
x
x
x
x
E2
E3
C0
C1
22
MUX
1
MUX
2
MUX
MUX
MUX
E15
C0 C1
C2 C3
23
Ejemplo
Vamos a implementar una funcin lgica a partir de un multiplexor dado,
y sus conexiones.
MUX 4
C
E0 (00)
E1 (01)
0
1
E2 (10)
E3 (11)
C1 C0
(MSB) a
b (LSB)
Entradas de datos
Entrada
Valor
E0
c
E1
c
E2
0
E3
1
Trmino asociado
abc
ab c
a b0
a b 1
Ejemplo
A partir de la funcin lgica, vamos a disear el circuito utilizando un
multiplexor y la lgica necesaria. Primero utilizaremos un multiplexor de 8
entradas de datos y luego uno de 4 entradas.
El circuito lgico de una funcin lgica utilizando un multiplexor se
obtiene de la siguiente forma:
Debemos expresar la funcin en forma de trminos cannicos (suma de
productos).
Expresamos cada uno de los trminos cannicos como su valor binario.
Dependiendo del nmero 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 lgica
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, slo
tendremos 0s o 1s en las entradas de datos. Los trminos cannicos
(productos) que formen parte de nuestra funcin lgica, pondremos un
1 en la entrada correspondiente a su cdigo binario. Para el resto
pondremos 0.
Sea la funcin lgica:
E0 (000)
E1 (001)
0
1
E2 (010)
E3 (011)
1
0
E4 (100)
E5 (101)
1
1
E6 (110)
E7 (111)
C2 C1 C0
(MSB) a
b c (LSB)
25
Multiplexor de 4 entradas
Partimos de la misma funcin lgica, ya expresada en trminos
cannicos:
F(a,b,c) = abc + abc + abc + abc + abc
Seales de control Entradas de datos
a
b
Entrada
Valor
0
0
E0
c
0
1
E1
c
1
0
E2
c
1
1
E3
1
Trminos asociados
ab
ab
a b
a b
abc
abc
abc
abc + abc =
= ab(c+c) = ab1
MUX 4
c
E0
E1
F
c
1
E2
E3
C1 C0
(MSB) a
b (LSB)
26
4.3.2 Demultiplexores
Un demultiplexor es un circuito combinacional que realiza la funcin
inversa de un multiplexor, es decir, expande un circuito de una sola seal de
entrada a varias seales de salida: 2n. La informacin se redirige a una sola
salida. La seleccin de la salida especfica es controlada por la combinacin de
bits de n lneas de seleccin o control.
El diagrama de bloque es:
S0
E
DEMUX
4
salidas
S1
S2
S3
C0
C1
El circuito es:
E
S0
S1
S2
S3
Si examinamos el circuito
veremos que el circuito demultiplexor
es idntico a un decodificador de 2 a
4 lneas con entrada de habilitacin:
Para
el
decodificador:
las
entradas de datos son C0 y C1, y la
habilitacin es la entrada E.
Para el demultiplexor : la entrada
E provee los datos, mientras que las
entradas C 0 y C1 son las entradas de
control o seleccin.
C0
C1
A=B
A>B
COMP
n
B
S2 (A=B)
A = a n ... a 1 (n bits)
B = b n ... b 1 (n bits)
S3 (A>B)
b
0
1
0
1
S1 (a<b)
0
1
0
0
Salidas
S2 (a=b)
1
0
0
1
S3 (a>b)
0
0
1
0
S1 (a<b)
S2 (a=b)
S3 (a>b)
S1 (a<b)
S2 (a=b)
b1
S3 (a>b)
a2
S1 (a<b)
S2 (a=b)
b2
S3 (a>b)
A=B
a3
S1 (a<b)
S2 (a=b)
b3
S3 (a>b)
a4
S1 (a<b)
S2 (a=b)
b4
S3 (a>b)
a=b
a1=b1
a2
b2
a2=b2
a3
b3
a3=b3
a4
b4
a4=b4
A=B
A1..4
n
"0"
"1"
"0"
B1..4
COMP
COMP
A5..8
n
A>B
A>B
A>B
A>B
A=B
A=B
A=B
A=B
A<B
A<B
A<B
A<B
B5..8
n
S1 (A<B)
S2 (A=B)
S3 (A>B)
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
x
y
z
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Funcin lgica:
Bit de
paridad
P
0
1
1
0
1
0
0
1
P=x
Circuito:
x
y
z
Circuito:
y
x
y
z
P
NOTA: Es obvio que los circuitos de generacin y comprobacin de
paridad siempre tienen una funcin de salida cuyos trminos son mitad "1" y
mitad "0", por lo que pueden implementarse con puertas XOR.