Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Captulo 7
Realizaciones ms compactas (al tener soluciones completas en un slo circuito integrado con
algunas pocas puertas extra para realizar la adaptacin en algunos casos).
Menos alambrado (puesto que para usar los circuitos MSI slo se requiere alambrar entradas y
salidas, la funcin lgica que realizan ya est alambrada en su interior)
Soluciones modulares (toda la lgica relacionada con una subfuncin est contenida en un slo
circuito integrado)
80
Captulo 7
Los circuitos combinacionales comercializados en circuito integrado MSI se pueden clasificar dentro
de cuatro grandes divisiones:
Circuitos aritmticos (sumadores y comparadores)
Generadores de paridad
Multiplexores y demultiplexores
Codificadores y decodificadores
En este captulo se tratarn algunos de los circuitos anteriores, sus aplicaciones, su principio de
operacin, sus principales variantes, etc. Adems, se tratar tambin el principio de construccin de
las memorias ROM por su ntima relacin con los decodificadores.
7.2.- CIRCUITOS SUMADORES
El sumador binario es la clula fundamental de todos los circuitos aritmticos, ya que mediante
sumas (y complementos) es posible realizar restas y como ya se vi en captulos anteriores con
sumas y restas (adems de corrimientos) es posible realizar multiplicaciones y divisiones, en otras
palabras, las cuatro operaciones aritmticas fundamentales se pueden realizar usando sumas.
A continuacin se describe el diseo paso a paso de un sumador binario expandible de acuerdo al
nmero de bits de los datos a sumar.
7.2.1.- EL MEDIO SUMADOR
Un medio sumador es un sumador capaz de sumar dos datos de un slo bit y producir un bit de
acarreo de salida. Como se muestra en el siguiente diagrama de bloques
MEDIO
SUMADOR
La manera como realiza la suma y produce el acarreo el medio sumador se desglosa en la siguiente
tabla de verdad
AB
CS
00
00
01
01
10
01
11
10
De lo cual es evidente la expresin lgica para cada salida: C= A.B y S =A/B. Con lo cual, la
implementacin del medio sumador es como se muestra a continuacin
A
B
C
81
Captulo 7
7.2.2.- EL SUMADOR COMPLETO DE UN BIT
El medio sumador no puede ser interconectado con otros medios sumadores para formar un
sumador ms grande, por ello es necesario disear un sumador que admita otra entrada aparte de
los datos a sumar, es decir, un sumador de 3 datos de 1 bit, ste es denominado sumador completo
y su diagrama de bloques es como se muestra a continuacin
A
B
Co
SUMADOR
COMPLETO
C1
(acarreo
de salida)
(acarreo de
entrada)
En la siguiente tabla de verdad se muestra la manera como este sumador realiza su funcin
A B Co
000
001
010
011
100
101
110
111
C1 S
0 0
0 1
0 1
1 0
0 1
1 0
1 0
1 1
Un anlisis de esta tabla de verdad y el uso de Mapas de Karnaugh nos lleva a las siguientes
expresiones para C1 y S:
S = A / B / C 0 , C 1 = AB + (A / B)C 0
Con lo cual la implementacin del sumador completo es como se muestra en la siguiente figura
A
B
Co
C1
Medios sumadores
82
Captulo 7
figura se muestra como se conectaran cuatro sumadores completos de 1 bit para construir un
sumador binario de cuatro bits.
A2 B2
A3 B3
C4
A B
Sumador
C1 Completo Co
S
A B
Sumador
C1 Completo Co
S
C3
C2
A B
Sumador
C1 Completo Co
S
S1
S2
S3
(MSB)
Ao Bo
A1 B1
C1
A B
Sumador
C1 Completo Co
S
Co
So
(LSB)
El sumador mostrado en la figura anterior puede realizar la suma de dos datos binarios de cuatro
bits, el dato A=A3A2A1A0 y el dato B =B3B2B1B0 para producir la suma A+B +C0=S=C4S3S2S1S0
con la posibilidad de recibir un acarreo de entrada C0 y de generar un acarreo de salida C4. Estos
acarreos permiten ver a este sumador como un solo bloque que se puede a su vez conectar en
cascada con otro bloque idntico para formar un sumador binario de 8 bits, y as sucesivamente,
uno de 16 o uno de 32, etc.
7.2.4.- SUMADORES EN CIRCUITO INTEGRADO
Algunos sumadores binarios en circuito integrado de la familia TTL son los siguientes:
7480 Sumador Completo de 1 bit.
7482 Sumador Completo de 2 bits.
7483 Sumador Completo de 4 bits.
74283 igual al 7483 pero con diagrama de patitas diferente
En la siguiente figura se muestra el diagrama funcional del 74LS83 (sumador binario de 4 bits)
1
3
8
10
16
4
7
11
13
A4
A3
A2
A1
74LS83
B4
B3
B2
B1
Co
Vcc
5
Gnd
S4
S3
S2
S1
15
2
6
9
C4
14
12
83
Captulo 7
Convertidor BCD - BCD exceso tres.- Una aplicacin directa de un sumador de cuatro bits como el
7483 es un convertidor de BCD a BCD exceso tres que se puede realizar sumado al dato de entrada
A, una constante B=3=(0011)2 como se muestra en la figura siguiente
1
3
8
DATO
BCD
10
Vcc
16
4
7
11
13
A4
A3
A2
A1
74LS83
B4
B3
B2
B1
Co
Vcc
Gnd
S4
S3
S2
S1
15
2
6
9
C4
14
DATO
BCD exc 3
12
Sumador - Sustractor de 4 bits.- Utilizando el mtodo expuesto en el segundo captulo para realizar
la resta A-B usando la suma de A + complemento a dos de B podemos realizar un sumador/restador
binario de cuatro bits como sigue
Dato
A
1
3
8
10
Dato
16
4
7
11
Vcc
13
A4
A3
A2
A1
74LS83
B4
B3
B2
B1
Co
Vcc
5
Restar
Gnd
S4
S3
S2
S1
15
2
C4
14
6
9
12
Sumar
Obsrvese que el bloque de cuatro puertas EXOR realiza el complemento a uno del dato B cuando
el switch est en la posicin de restar y Co le suma 1 a este complemento a uno de B para obtener
su complemento a dos.
Sumador BCD.- El problema de sumar dos datos BCD usando un sumador binario (como el 7483)
ocurre cuando el resultado de la suma es mayor que 9, ya que entonces el sumador binario
producir un resultado errneo en BCD.
Por ejemplo, al sumar 4+7 el resultado binario ser 15=(1111)2 mientras que el resultado
esperado en BCD es 15=(1 0101)BCD. Obsrvese que si al 15 producido por el sumador binario le
sumramos un 6: 15+6=21 =(10101)2 El resultado sera correcto en BCD!
Lo ilustrado en el caso de la suma 4+7 se cumple en general, de manera que para realizar una
suma de dos datos BCD se proceder de la siguiente manera:
i.
84
Captulo 7
Diseo con Circuitos M.S.I.
ii. Si el resultado es mayor o igual que 10, el resultado correcto en BCD es el resultado en binario
ms 6
Lo anterior se puede resolver usando un par de sumadores binarios: unao para realizar la primera
suma y otro para realizar la correccin (sumar 6) en el caso necesario. Adems se requiere un
circuito lgico comparador para que active un indicador de que el resultado es mayor o igual que 10.
En la siguiente figura se muestra la implementacin del sumador de dos dgitos BCD
A4
A3 74LS83
A2
S4
A1
S3
S2
B4
S1
B3
B2
B1
Co
Comparador con 10
C4
A4
A3 74LS83
A2
S4
A1
S3
S2
B4
S1
B3
B2
B1
Co
C4
C5
MULTIPLEXOR
Dato1
Dato1
Dato2
Dato2
...
Lnea de transmisin
Dato 2
Dato 2
...
...
...
k Lneas de seleccin
Obsrvese que con el esquema de transmisin anterior se produce un considerable ahorro de lneas
de transmisin, ya que en lugar de 2k lneas se requieren slo k+1 lneas, este ahorro es ms
85
Captulo 7
importante a medida que la distancia entre el mux y el demux es mayor. Sin embargo, el esquema
no solo es til para ahorrar lneas como se ver ms adelante.
O Definiremos un multiplexor digital (mux) o selector de datos como un circuito lgico combinacional
que tiene varias lineas de entrada y que, mediante otras lineas de seleccin, determina cual de las
lineas de entrada se conecta a la salida.
Con el propsito de ilustrar cmo se construye y como funciona internamente un multiplexor
digital, a continuacin se presenta el diseo de uno sencillo
Ejemplo: Disear un mux de 4 a 1.
Solucin: Para seleccionar 4=22 lineas de datos se rquieren 2 lineas de seleccin, por lo tanto, el
diagrama de bloques del circuito a disear es como sigue
D0
D1
D2
MUX
de 4 a 1
D3
B
A
Como se puede ver, la tabla de verdad para describir el funcionamiento del circuito anterior
requerir 26= 64 renglones, por ello, en este caso se presenta una versin reducida de dicha tabla,
para lograr esta versin reducida consideramos slo como entradas las lineas de seleccin B, A y
escribimos la salida en trminos de las otras cuatro entradas:
B
D0
D1
D2
D3
O Este tipo de tabla de verdad se denomina Tabla de Verdad con Variables Introducidas, dado que
para formarla se han introducido las 4 variables de entrada D0, D1, D2, D3 que en una tabla de
verdad normal iran afuera de la tabla.
86
Captulo 7
En este caso, un Mapa de Karnaugh no sera de mucha utilidad, ya que ste a su vez tendra
variables introducidas (este tipo de mapas se ver ms adelante). Sin embargo, un anlisis del
significado de la tabla de verdad anterior nos lleva a la siguiente expresin para la salida
Y = BAD 0 + BAD 1 + BAD 2 + BAD 3
D0
D1
Y
D2
D3
A
B
La siguiente es una lista de los MUX de circuito integrado ms populares de la familia TTL:
74157:
74158:
74153:
74151:
74152:
74150:
15
14
13
D4
D5
D6
12
11
10
Vcc
D7
D3
D2
C
D1
D0
S
Gnd
87
Captulo 7
Adems del diagrama de patitas, si se tiene duda de como funciona exactamente el circuito, se
puede consultar la tabla de verdad en las hojas de datos del fabricante, como se muestra a
continuacin. En esta tabla se aclara el funcionamiento de la entrada strobe (S) que como se
puede ver es una seal de habilitacin/deshabilitacin del mux.
Tabla de verdad del 74151
Entradas
S CBA
H
***
L
LLL
Salidas
Y W
L H
LLH
D1 D 1
LHL
D2 D 2
LHH
HLL
D3 D 3
D4 D 4
HLH
D5 D 5
HHL
D6 D 6
HHH
D7 D 7
D0 D 0
La seal Strobe (S) permite la interconexin de un mux con otros mux para expandir su capacidad a
un mayor nmero de entradas.
Ejemplo. En la siguiente figura se muestra la implementacin de un mux de 16 a 1 usando circuitos
74151.
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
74151
mux
de 8 a 1
C
B
A Strobe
D8
D9
D10
D11
D12
D13
D14
D15
D
C
B
A
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
74151
mux
de 8 a 1
C
B
A Strobe
74151
mux
de 8 a 1
C
B
A Strobe
88
Y
Y
Captulo 7
Un demultiplexor es un circuito que conecta la informacin de una linea de entrada hacia una de
varias lineas de salida de acuerdo a un cdigo de seleccin.
O Un decodificador simplemente habilita un cierto nivel (alto bajo) en una salida seleccionada entre
varias por un cdigo de seleccin.
E
Demultiplexor
Y1
de 2 a 4
Y2
Y3
A
Cuya tabla de verdad es la que se muestra a continuacin
E
Y0
Y1
Y2
Y3
De la tabla de verdad obtenemos con un poco de anlisis :Y o = BAE, Y 1 = BAE, Y 2 = BAE, Y 3 = BAE, lo
cual nos conduce a la implementacin que se muestra en la siguiente figura
89
Captulo 7
Y0
B
A
Y1
Y2
Y3
Demux/decodificador de 3 a 8
Demux/decodificador de 2 a 4, doble
Decodificador/driver BCD - decimal
Demux/Decodificador de 4 a 16
Demux/decodificador de 4 a 16 con salidas de colector abierto
Demux/decodificador doble de 2 a 4
igual al 74155, pero con salidas de colector abierto
16
15
14
13
12
11
10
Vcc
Y0
Y1 Y2
Y3
Y4
G2A G2B
G1
Y5
Y6
Y7
Gnd
1
90
Captulo 7
CBA
XXX
XXX
XXX
000
001
010
011
100
101
110
111
Y0
1
1
1
0
1
1
1
1
1
1
1
Y1
1
1
1
1
0
1
1
1
1
1
1
Y2
1
1
1
1
1
0
1
1
1
1
1
Y3
1
1
1
1
1
1
0
1
1
1
1
Y4
1
1
1
1
1
1
1
0
1
1
1
Y5
1
1
1
1
1
1
1
1
0
1
1
Y6
1
1
1
1
1
1
1
1
1
0
1
Y7
1
1
1
1
1
1
1
1
1
1
0
Como puede verse en la tabla de verdad, las entradas G2A,G2B y G1 pueden ser usadas como
dato de entrada del mux de 1 a 8 o bien, como seales tipo strobe para habilitar o deshabilitar al
decodificador de 3 a 8.
En el siguiente ejemplo se da una ilustracin de como pueden usarse estas seales G para
interconectar el circuito con otros similares para expandir su capacidad de salidas
Ejemplo. En la siguiente figura se muestra como se implementara un demux de 1 a 16 usando
circuitos 74138
G2A
G2B
G
74138
demux
de 3 a 8
C
B
A
D
C
B
A
G2A
G2B
G
74138
demux
de 3 a 8
C
B
A
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y8
Y9
Y10
Y11
Y12
Y13
Y14
Y15
91
Captulo 7
corriente de salida y tienen salidas activas en bajo, lo cual los hace compatibles con desplegadores
de 7 segmentos de nodo comn
7449: Decodificador/driver de BCD a 7 segmentos con salidas activas en alto (compatible con
desplegadores de ctodo comn).
A continuacin, slo para el 7447 se detalla la informacin que proporciona el fabricante
comenzando por su diagrama de patitas
16
15
14
13
12
11
10
Vcc
f
d
e
A
B
C
LT Bi/Rbo Rbi
Gnd
1
No se describir aqu la tabla de verdad del circuito, ya que en captulos anteriores ya se ha tratado
la conversin BCD a 7 segmentos, en cambio, se describe a continuacin la manera como funcionan
las entradas y salidas especiales de este circuito:
LT (Lamp Test).- Cuando esta seal se activa (en bajo) todas las salidas de segmento se activan.
Esto sirve para probar si los leds del desplegador estn o no en buen estado, ya que en esta
condicin todos debern encender, si no es as, probablemente alguno este daado).
RBI/RBO (Right Blank Input/Output).- Esta es una salida de colector abierto que funciona en
conjuncin con la entrada RBI que se explica a continuacin
RBI (Right Blank Input).- Cuando esta entrada es activada (en bajo) y el dato BCD de entrada al
7447 es cero (DCBA = 0000) en lugar de activar el cdigo de 7 segmentos del cero, apaga todos
los segmentos y adems activa RBO (en bajo).
Quizs pueda parecer un poco raro la manera en que actan las seales RBi, Rbo, sin embargo, si
se tiene presente que en conjunto permite el blanqueo de ceros a la izquierda cuando se despliega
informacin de varios dgitos se entender mjeor su funcionamiento. En la siguiente figura se
muestra el despliegue del nmero 040 con el cero de la izquierda blanqueado:
92
Captulo 7
abcdefg
abcdefg
abcdefg
7447
7447
7447
Rbo
Rbi
Rbo
Rbi
Rbo
Rbi
DCBA
DCBA
DCBA
0000
0100
0000
A B
1G 2G
74155
1Y0 1Y1 1Y21Y3 2Y0 2Y1 2Y2 2Y3
+Vcc
74152
SALIDA
LINEAS
DE
SELECCION
1K
D0
D1
D2
D3
D4
A
B
C
D5
D6
D7
93
Captulo 7
En la figura cada tecla representada por un pequeo crculo implica un switch en cada una de las
64 intersecciones de las 8 salidas del 74155 con las 8 entradas del 74152.
La figura representa como tecla presionada la interseccin de la salida 1Y1 con la entrada D6, de
manera que cuando las lineas de seleccin del 74152 tengan un 6 (CBA=110)y las lneas de
seleccin del 74155 tengan un 1 (CBA=001) se activar la salida del 74152, indicando que hay
una tecla presionada en esa interseccin. El cdigo de la tecla se puede formar a partir de estas seis
entradas de seleccin.
7.3.6.- IMPLEMENTACIN DE FUNCIONES LGICAS USANDO MULTIPLEXORES
Los multiplexores adems representan una alternativa al diseo de funciones lgicas resultando ser
circuitos universales para esta aplicacin, es decir a travs de un multiplexor se puede construir
cualquier funcin lgica con nmero de variables igual al nmero de lneas de seleccin del mux,
como se ver a continuacin.
Ejemplo. La implementacin de una funcin usando multiplexores es simplemente una consulta a la
tabla de verdad de la funcin como si fuera una tabla de alambrado, por ejemplo, la implementacn
de la funcin f(A,B,C) = m(0,1,3,5,7) consiste simplemente en la conexin de las entradas
correspondientes a los mintrminos a Vcc y las otra a tierra, mientras que las entradas de la funcin
corresponden a las lneas de seleccin del mux como se muestra en la siguiente figura
Vcc
D0
D1
D2
D3
D4
D5
D6
D7
A
B
C
MUX
de 8 a 1
C
B
A
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
f
0
1
1
1
0
0
1
0
94
f
C
1
0
C
Captulo 7
Vcc
D0
D1
D2
C
D3
MUX
de 4 a 1
A
B
B
A
Lo anterior tambin es posible realizarlo an cuando la funcin tiene condiciones sin cuidado
Ejemplo. Obtener la tabla de verdad reducida para la siguiente funcin lgica, introduciendo la
variable D: f(A,B,C,D) = m(0,2,7,10,11,13)+ d(3,6,9,14)
Tabla de verdad completa
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
F
1
0
1
*
0
0
*
1
0
*
1
1
0
1
*
0
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
D
D*+D
0
D+D*
D*
1
D
D*
En la tabla de verdad se ha enfatizando el hecho de que cada par de renglones consecutivos tiene la
misma informacin en las variables A,B,C y por lo tanto, generarn un rengln de la tabla reducida
Como puede verse, es posible introducir, no slo una sino dos o ms variables y cualesquiera de
ellas, como se ilustra en el siguiente ejemplo
Ejemplo. Para la funcin anterior, sin considerar condiciones sin cuidado, introducir las variables C y
D e implementar usando un mux de 4 a 1
Solucin. La funcin original sin condiciones sin cuidado es f(A,B,C,D) = m(0,2,7,10,11,13), nos
lleva a la siguiente tabla de verdad reducida (introduciendo D)
95
Captulo 7
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
D
D
0
D
0
1
D
0
AB
00
C 0
0 D
01
11
6
10
4
0
1
Sobre este mapa (o sobre el original) se puede an introducir otra variable, por ejemplo C, para
obtener un mapa an ms reducido con las variables C y D introducidas codificando la informacin
de cada par de celdas del mapa anterior en un slo trmino como sigue
AB
0
00
D
01
1
C.D
11
3
10
2
C.D
D0
D1
D2
D3
MUX
de 4 a 1
A
B
B
A
96
Captulo 7
A 0
1
0
*
1
C
97
Captulo 7
Puede ser reescrito como sigue
A 0 BC
1
B
0
C*+C*
1
BC
C+C
A 0
B
1
0
0
1
AB
Finalmente, al sumar las expresiones del paso 1 y el mapa auxiliar obtenemos f= BC + BC + AB
Ejemplo: Sea la funcin definida como F(A,B,C,D)= m(2,4,5,10,11,13)+ d(0,1,6,15). al
expresarla en un mapa con D introducida, obtenemos los siguientes mapas
AB
C 00
0
BCD
01
0
D+D
*
1
11
6
D*
D*
11
01
0
D
3
AB
C 00
10
10
4
ABC
AD
En el mapa de la izquierda estn marcados los grupos que se toman en e primer paso, ntese que el
1 de la celda dos se ha exrpresado en trminos de la variable introducida D, ya que esto ayuda a
visualizar la agrupacin ms claramente, en cambio el 1 de la celda 5 que no se usa en el primer
paso se expres simplemente como 1. El mapa de la derecha es el mapa auxiliar obtenido en el
segundo paso. La expresin reducida es la suma de las expresiones marcadas en ambos mapas:
F1 = BCD + A.D + ABC
98
Captulo 7
Ejemplo: Finalmente presentamos un ejemplo con una funcin de cinco variables, con el siguiente
mapa que tiene dos variables introducidas
AB
00
C
0
11
2
H
1
AB
C 00
CH
01
H
ABH
1
3
10
01
G+H
AG
10
11
2
G
7
AB
6
1
3
0
7
BC
En el mapa de la izquierda se muestran los grupos tomados en el primer paso, obsrvese que
aunque no se escribe explcitamente, el uno de la celda 7 se ha considerado como 1= 1+1=
G + G + H + H, con lo cual ha podido ser usado para simplificar grupos de G y de H, en cambio el uno
de la celda 3 se ha expresado slo en trminos de H y el uno de la celda 6 slo en trminos de G. el
mapa de la derecha es el mapa auxiliar. Finalmente, la expresin reducida queda como
F = A.B.H + AG + CH + AB + BC
99