Está en la página 1de 20

Capítulo 7 Diseño con Circuitos M.S.I.

’ Diseño con Circuitos MSI

Ö La evolución de la electrónica digital ha llevado a la comercialización de circuitos integrados de


media escala de integración (MSI) que representan soluciones ya hechas a una gran variedad de
problemas de lógica combinacional y secuencial. En este capítulo se presentan las funciones
típicas de lógica combinacional que han encontrado su realización en circuitos integrados
comerciales MSI así como su utilización y adaptación a diversos problemas mediante la lógica
SSI (pequeña escala de integración) adecuada.

7.1.- INTRODUCCIÓN

La evolución de los circuitos integrados ha producido una gran variedad de circuitos que realizan
más que una simple función lógica. Estos circuitos, dependiendo de su complejidad y de la cantidad
de compuertas lógicas internas han sido clasificados como circuitos de:

Baja Escala de Integración (SSI).- Hasta 12 compuertas lógicas o menos (funciones lógicas
básicas)
Media Escala de Integración (MSI).- Hasta 100 compuertas lógicas
Alta y muy Alta Escala de Integración (LSI y VLSI) .- Más de 100 compuertas lógicas

Hay varias ventajas en el uso de los circuitos MSI. Además de que estos bloques funcionales
realizados en circuito integrado representan la experiencia y el trabajo de diseñadores de funciones
lógicas que es conveniente tener en cuenta para no repetir esfuerzos, su uso conlleva las siguientes
ventajas:

þ Realizaciones más compactas (al tener soluciones completas en un sólo circuito integrado con
algunas pocas puertas extra para realizar la adaptación en algunos casos).

þ Menos alambrado (puesto que para usar los circuitos MSI sólo se requiere alambrar entradas y
salidas, la función lógica que realizan ya está alambrada en su interior)

þ Soluciones modulares (toda la lógica relacionada con una subfunción está contenida en un sólo
circuito integrado)

þ Facilidad de mantenimiento (por la misma razón que el punto anterior).

Por esto, al abordar un problema de diseño de circuitos lógicos, antes de aplicar el procedimiento
visto en el capítulo anterior, primero hay que responderse las siguientes preguntas:

¿Existe un circuito integrado que ya realiza la función requerida?


¿Es posible adaptar con poca lógica adicional un circuito integrado (o varios) para realizar la
función requerida?

Si la respuesta a alguna de estas preguntas es afirmativa casi seguro que esta opción nos dará la
mejor solución comparada con el procedimiento de diseño visto en el capítulo anterior (lo único que
faltaría es un análisis comparativo de costos en donde se considere cuántos circuitos se desea
construir, cual es el costo por unidad, si se van a comercializar, etc...)

80
Capítulo 7 Diseño con Circuitos M.S.I.

Los circuitos combinacionales comercializados en circuito integrado MSI se pueden clasificar dentro
de cuatro grandes divisiones:

Circuitos aritméticos (sumadores y comparadores)


Generadores de paridad
Multiplexores y demultiplexores
Codificadores y decodificadores

En este capítulo se tratarán algunos de los circuitos anteriores, sus aplicaciones, su principio de
operación, sus principales variantes, etc. Además, se tratará también el principio de construcción de
las memorias ROM por su íntima relación con los decodificadores.

7.2.- CIRCUITOS SUMADORES

El sumador binario es la célula fundamental de todos los circuitos aritméticos, ya que mediante
sumas (y complementos) es posible realizar restas y como ya se vió en capítulos anteriores con
sumas y restas (además de corrimientos) es posible realizar multiplicaciones y divisiones, en otras
palabras, las cuatro operaciones aritméticas fundamentales se pueden realizar usando sumas.

A continuación se describe el diseño paso a paso de un sumador binario expandible de acuerdo al


número 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 sólo bit y producir un bit de
acarreo de salida. Como se muestra en el siguiente diagrama de bloques

A MEDIO S

B SUMADOR C

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 expresión lógica para cada salida: C= A.B y S =A/B. Con lo cual, la
implementación del medio sumador es como se muestra a continuación

A
S
B

81
Capítulo 7 Diseño con Circuitos M.S.I.

7.2.2.- EL SUMADOR COMPLETO DE UN BIT

El medio sumador no puede ser interconectado con otros medios sumadores para formar un
sumador más grande, por ello es necesario diseñar 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 continuación

A
SUMADOR S
B
COMPLETO C1
Co (acarreo
(acarreo de
de salida)
entrada)

En la siguiente tabla de verdad se muestra la manera como este sumador realiza su función

A B Co C1 S
000 0 0
001 0 1
010 0 1
011 1 0
100 0 1
101 1 0
110 1 0
111 1 1

Un análisis 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 implementación del sumador completo es como se muestra en la siguiente figura

A
B S
Co

C1

Medios sumadores

7.2.3.- EL SUMADOR BINARIO DE n BITS

La ventaja del sumador completo de un bit es que permite conectarse en cascada con otros
sumadores completos para realizar un sumador completo de varios bits. Por ejemplo, en la siguiente

82
Capítulo 7 Diseño con Circuitos M.S.I.
figura se muestra como se conectarían cuatro sumadores completos de 1 bit para construir un
sumador binario de cuatro bits.

A3 B3 A2 B2 A1 B1 Ao Bo

A B A B A B A B
C4 Sumador C3 Sumador C2 Sumador C1 Sumador Co
C1 Completo Co C1 Completo Co C1 Completo Co C1 Completo Co
S S S S

S3 S2 S1 So
(MSB) (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 idéntico 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 A4
3
A3
8
A2 74LS83
10 15
A1 S4
2
S3
6
16 S2 9
B4
4 S1
B3
7
B2
11
B1
13 14
Co C4
Vcc Gnd
5 12

7.2.4.1.- CIRCUITOS CON SUMADORES

A continuación se presentan algunos ejemplos sencillos sobre el uso de circuitos sumadores


binarios en aplicaciones donde se requieren funciones ligeramente diferentes a las que el circuito
realiza.

83
Capítulo 7 Diseño con Circuitos M.S.I.
Convertidor BCD - BCD exceso tres.- Una aplicación 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 A4
3
DATO A3
BCD 8
10
A2 74LS83 15
A1 S4
2 DATO
S3
6
S2 BCD exc 3
Vcc 16 B4 9
4 S1
B3
7
B2
11
B1
13 14
Co C4
Vcc Gnd
5 12

Sumador - Sustractor de 4 bits.- Utilizando el método expuesto en el segundo capítulo 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

1 A4
Dato 3
A3
A 8
A2 74LS83
10 15
A1 S4
2
S3
6
S2
Dato 16 B4 9
4 S1
B3
B 7
B2
11
B1
Vcc 13
Co C4 14
Vcc Gnd
Restar 5 12

Sumar

Obsérvese que el bloque de cuatro puertas EXOR realiza el complemento a uno del dato B cuando
el switch está en la posición 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 erróneo 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. Obsérvese que si al 15 producido por el sumador binario le
sumáramos un 6: 15+6=21 =(10101)2 ¡El resultado sería 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. Si el resultado es menor que 10 es correcto tanto en binario como en BCD

84
Capítulo 7 Diseño 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
más 6

Lo anterior se puede resolver usando un par de sumadores binarios: unao para realizar la primera
suma y otro para realizar la corrección (sumar 6) en el caso necesario. Además se requiere un
circuito lógico comparador para que active un indicador de que el resultado es mayor o igual que 10.

En la siguiente figura se muestra la implementación del sumador de dos dígitos BCD

A4 A4
A3 74LS83 A3 74LS83
A2 A2
A1 S4 A1 S4
S3 S3
S2 S2
B4 B4
S1 S1
B3 B3
B2 Comparador con 10 B2
B1 B1
Co C4 Co C4

C5

7.3.- MULTIPLEXORES Y DEMULTIPLEXORES

La idea fundamental en la utilización de multiplexores (MUX) y demultiplexores (DEMUX) es el


ahorro de líneas de comunicación, es decir, el uso de una sola línea para realizar múltiples funciones,
o para conectar a través de ella múltiples fuentes de información o señales a transmitir.

¿Cómo es posible utilizar una sóla línea para transmitir diversas señales de información?. La
respuesta está obviamente en compartir por tiempo la línea, es decir, en un momento dado sólo una
de las señales puede ser transmitida. El esquema fundamental para lograr esto, se muestra en la
siguiente figura:

MULTIPLEXOR DEMULTIPLEXOR
Dato1 Dato1

Dato2 Dato2

Línea de transmisión
...

k k
Dato 2 Dato 2

...
...

...

k Líneas de selección

Obsérvese que con el esquema de transmisión anterior se produce un considerable ahorro de líneas
de transmisión, ya que en lugar de 2k líneas se requieren sólo k+1 líneas, este ahorro es más

85
Capítulo 7 Diseño con Circuitos M.S.I.
importante a medida que la distancia entre el mux y el demux es mayor. Sin embargo, el esquema
no solo es útil para ahorrar líneas como se verá más adelante.

7.3.1.- MULTIPLEXORES DIGITALES


El esquema de la figura anterior permite la transmisión de señales analógicas, de hecho puede
hacerlo en ambos sentidos, de manera que un multiplexor analógico es a la vez un demultiplexor
analógico y su función sólo depende de hacia donde viaja la información.

No sucede así si la información es digital, ya que los dispositivos digitales tienen claramente
definido el sentido en que viaja la información.

O Definiremos un multiplexor digital (mux) o selector de datos como un circuito lógico combinacional
que tiene varias lineas de entrada y que, mediante otras lineas de selección, determina cual de las
lineas de entrada se conecta a la salida.

Con el propósito de ilustrar cómo se construye y como funciona internamente un multiplexor


digital, a continuación se presenta el diseño de uno sencillo

Ejemplo: Diseñar un mux de 4 a 1.

Solución: Para seleccionar 4=22 lineas de datos se rquieren 2 lineas de selección, por lo tanto, el
diagrama de bloques del circuito a diseñar es como sigue

D0
D1
D2
MUX
D3 Y
de 4 a 1

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 versión reducida de dicha tabla,
para lograr esta versión reducida consideramos sólo como entradas las lineas de selección B, A y
escribimos la salida en términos de las otras cuatro entradas:

B A Y
0 0 D0
0 1 D1
1 0 D2
1 1 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 irían afuera de la tabla.

86
Capítulo 7 Diseño con Circuitos M.S.I.
En este caso, un Mapa de Karnaugh no sería de mucha utilidad, ya que éste a su vez tendría
variables introducidas (este tipo de mapas se verá más adelante). Sin embargo, un análisis del
significado de la tabla de verdad anterior nos lleva a la siguiente expresión para la salida

Y = BAD 0 + BAD 1 + BAD 2 + BAD 3

Esta expresión nos lleva a la siguiente Implementación usando puertas NAND.

D0

D1

D2

D3

La siguiente es una lista de los MUX de circuito integrado más populares de la familia TTL:

74157: Cuatro mux de 2 a 1 con señal strobe


74158: Cuatro mux de 2 a 1 con señal strobe salidas invertidas
74153: Dos mux de 4 a 1 con strobe
74151: Un mux de 8 a 1 (salida invertida y sin invertir), con strobe
74152: Un mux de 8 a 1 (salida invertida)
74150: Un mux de 16 a 1 con strobe

Como un ejemplo de la información que proporciona el fabricante sobre un multiplexor, se presenta


a continuación una descripción del 74151, comenzando por su diagrama de patitas que se muestra
en la siguiente figura. En esta descripción sólo se presentará la información lógica del circuito,
omitiendo la información sobre datos eléctricos que también proporciona el fabricante, para mayor
información en este sentido hay necesidad de consultar el manual correspondiente.

16 15 14 13 12 11 10 9

Vcc
D4 D5 D6 D7 A B
D3 C
D2 D1 D0 Y W S
Gnd
1 2 3 4 5 6 7 8

87
Capítulo 7 Diseño con Circuitos M.S.I.

Además 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
continuación. En esta tabla se aclara el funcionamiento de la entrada “strobe” (S) que como se
puede ver es una señal de habilitación/deshabilitación del mux.

Tabla de verdad del 74151

Entradas Salidas
S CBA Y W
H *** L H
L LLL D0 D 0
L LLH D1 D 1
L LHL D2 D 2
L LHH D3 D 3
L HLL D4 D 4
L HLH D5 D 5
L HHL D6 D 6
L HHH D7 D 7

La señal Strobe (S) permite la interconexión de un mux con otros mux para expandir su capacidad a
un mayor número de entradas.

Ejemplo. En la siguiente figura se muestra la implementación de un mux de 16 a 1 usando circuitos


74151.
D0 D0
D1 D1
D2 D2
D3 D3
D4 D4 74151
D5 mux Y D0
D5
D6 de 8 a 1 D1
D6
D7 D2
D7
D3
C 74151 Y
D4
B D5 mux Y
A Strobe D6 de 8 a 1
D7
C
D8 B
D0 A Strobe
D9 D1
D10 D2
D11 D3
D12 D4 74151
D13 D5 mux Y
D14 D6 de 8 a 1
D15 D7
D
C C
B B
A A Strobe

88
Capítulo 7 Diseño con Circuitos M.S.I.

7.3.2.- DEMULTIPLEXORES/DECODIFICADORES DIGITALES

Un demultiplexor (demux) es otro circuito MSI disponible para el diseño lógico, el cual puede ser
usado en una gran variedad de aplicaciones. a continuación se presenta una definición de
multiplexor uy decodificador:

O Un demultiplexor es un circuito que conecta la información de una linea de entrada hacia una de
varias lineas de salida de acuerdo a un código de selección.

O Un decodificador simplemente habilita un cierto nivel (alto ó bajo) en una salida seleccionada entre
varias por un código de selección.

F Obsérvese que de acuerdo a las definiciones anteriores, un demultiplexor se convierte en un


decodificador si su línea de entrada se considera fija (en alto o en bajo). Esto justifica el nombre
de demultiplexor/decodificador

Como una manera de entender mejor como están construidos internamente los demultiplexores
enseguida ilustraremos el diseño de un demux sencillo

Ejemplo. Diseño de un demux de 2 a 4,


El diagrama de bloques correspondiente a un demux de 2 a 4 es como sigue

E Y0
Demultiplexor Y1
de 2 a 4 Y2
B
Y3
A

Cuya tabla de verdad es la que se muestra a continuación

E B A Y0 Y1 Y2 Y3
0 X X 0 0 0 0
1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1

De la tabla de verdad obtenemos con un poco de análisis :Y o = BAE, Y 1 = BAE, Y 2 = BAE, Y 3 = BAE, lo
cual nos conduce a la implementación que se muestra en la siguiente figura

89
Capítulo 7 Diseño con Circuitos M.S.I.

Y0
B

A
Y1

Y2

Y3
E

En la actualidad se tienen varios demultiplexores en circuito integrado. Por ejemplo, un circuito


equivalente al diseñado en el ejemplo es el 74155. El 74155 es un CI que se puede usar como dos
decodificadores de 2 a 4 ó bien como dos demultiplexores de 1 a 4 ó, como un decodificador de 3 a
8 ó un demultiplexor de 1 a 8. Ya que como ya se dijo, un demultiplexor se convierte en un
decodificador al conectar su entrada a un estado lógico fijo.

La siguiente es una lista de los demultiplexores/decodificadores más populares en cicuito integrado


de la familia TTL

74138: Demux/decodificador de 3 a 8
74139: Demux/decodificador de 2 a 4, doble
74141: Decodificador/driver BCD - decimal
74154: Demux/Decodificador de 4 a 16
74159: Demux/decodificador de 4 a 16 con salidas de colector abierto
74155: Demux/decodificador doble de 2 a 4
74156: igual al 74155, pero con salidas de colector abierto

Como una ilustración de la información proporcionada por el fabricante respecto al funcionamiento


lógico de un demux, se presenta a continuación para el circuito 74138, comenzando por su
diagrama de patitas

16 15 14 13 12 11 10 9

Vcc

Y0 Y1 Y2 Y3 Y4 Y5
A Y6
B C G2A G2B G1 Y7

Gnd
1 2 3 4 5 6 7 8

La tabla de verdad correspondiente es como sigue

90
Capítulo 7 Diseño con Circuitos M.S.I.
G2A G2B G1 CBA Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
1 X X XXX 1 1 1 1 1 1 1 1
X 1 X XXX 1 1 1 1 1 1 1 1
X X 0 XXX 1 1 1 1 1 1 1 1
0 0 1 000 0 1 1 1 1 1 1 1
0 0 1 001 1 0 1 1 1 1 1 1
0 0 1 010 1 1 0 1 1 1 1 1
0 0 1 011 1 1 1 0 1 1 1 1
0 0 1 100 1 1 1 1 0 1 1 1
0 0 1 101 1 1 1 1 1 0 1 1
0 0 1 110 1 1 1 1 1 1 0 1
0 0 1 111 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 señales tipo “strobe” para habilitar o deshabilitar al
decodificador de 3 a 8.

En el siguiente ejemplo se da una ilustración de como pueden usarse estas señales G para
interconectar el circuito con otros similares para expandir su capacidad de salidas

Ejemplo. En la siguiente figura se muestra como se implementaría un demux de 1 a 16 usando


circuitos 74138

Y0 Y0
G2A
Y1 Y1
E G2B
G Y2 Y2
74138 Y3 Y3
demux Y4 Y4
C de 3 a 8 Y5 Y5
B Y6 Y6
A Y7
Y7

Y8
G2A Y0
Y1 Y9
G2B
Y2 Y10
G 74138 Y3 Y11
D demux Y4 Y12
C C de 3 a 8 Y5 Y13
B B Y6 Y14
A A Y7 Y15

7.3.4.- DECODIFICADORES ESPECIALES

Existen algunos paquetes en circuito integrado que realizan funciones lógicas muy usuales y que
representan una ligera variante a los decodificadores mencionados anteriormente, tales
decodificadores especiales son:

7445: Decodificador/driver de BCD a decimal (decodificador de 4 a 10 con capacidad de alta


corriente (80 mA por salida). tiene salidas activas en bajo

7446, 7447: Decodificadores /driver de BCD a 7 segmentos con salidas de colector abierto. Estos
circuitos manejan alto voltaje de salida (15 volts para el 7447 y 30 volts para el 7446). manejan alta

91
Capítulo 7 Diseño con Circuitos M.S.I.
corriente de salida y tienen salidas activas en bajo, lo cual los hace compatibles con desplegadores
de 7 segmentos de ánodo común

7449: Decodificador/driver de BCD a 7 segmentos con salidas activas en alto (compatible con
desplegadores de cátodo común).

A continuación, sólo para el 7447 se detalla la información que proporciona el fabricante


comenzando por su diagrama de patitas

16 15 14 13 12 11 10 9

Vcc

f g a b c d
B e
C LT Bi/Rbo Rbi D A

Gnd
1 2 3 4 5 6 7 8

No se describirá aquí la tabla de verdad del circuito, ya que en capítulos anteriores ya se ha tratado
la conversión BCD a 7 segmentos, en cambio, se describe a continuación la manera como funcionan
las entradas y salidas especiales de este circuito:

LT (Lamp Test).- Cuando esta señal se activa (en bajo) todas las salidas de segmento se activan.
Esto sirve para probar si los leds del desplegador están o no en buen estado, ya que en esta
condición todos deberán encender, si no es así, probablemente alguno este dañado).

RBI/RBO (Right Blank Input/Output).- Esta es una salida de colector abierto que funciona en
conjunción con la entrada RBI que se explica a continuación

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 código de 7 segmentos del cero, apaga todos
los segmentos y además activa RBO (en bajo).

Quizás pueda parecer un poco raro la manera en que actúan las señales RBi, Rbo, sin embargo, si
se tiene presente que en conjunto permite el “blanqueo” de ceros a la izquierda cuando se despliega
información de varios dígitos se entenderá mjeor su funcionamiento. En la siguiente figura se
muestra el despliegue del número 040 con el cero de la izquierda blanqueado:

92
Capítulo 7 Diseño con Circuitos M.S.I.

abcdefg abcdefg abcdefg

7447 7447 7447


Rbi Rbo Rbi Rbo Rbi Rbo
0 0 1 1
DCBA DCBA DCBA

0000 0100 0000

7.3.5.- CODIFICACIÓN DE TECLADOS

Los teclados numéricos y alfanuméricos son un dispositivo extremadamente útil para la


introducción de datos a un sistema digital. Las teclas de un teclado normalmente accionan
interruptores que tienen dos contactos normalmente abiertos que se cierran cuando la tecla es
presionada.

Codificar un teclado significa asignar un código binario a cada una de las teclas que componen el
teclado. Así como decodificarlo significa determinar cual de las teclas fue presionada de acuerdo al
código que la representa. La codificación de teclados se puede realizar usando multiplexores y
demultiplexores.

Como ejemplo enseguida se ilustra un esquema para codificar 64 teclas arregladas en una matriz de
8x8, usando un 74155 (como decodificador de 3 a 8) y un multiplexor 74152. En este ejemplo un
nivel ALTO en la salida del 74152 indica que una tecla se oprimió y la combinación de las 3
entradas de selección del 74152 con las del 74155 determinan cual fue la tecla que se oprimió.

1C 2C A B 1G 2G
74155
1Y0 1Y1 1Y21Y3 2Y0 2Y1 2Y2 2Y3

+Vcc
74152
1K
D0
D1
SALIDA D2
D3
D4

LINEAS A D5
DE B D6
SELECCION D7
C

93
Capítulo 7 Diseño con Circuitos M.S.I.

En la figura cada tecla representada por un pequeño círculo 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 intersección de la salida 1Y1 con la entrada D6, de
manera que cuando las lineas de selección del 74152 tengan un 6 (CBA=110)y las líneas de
selección del 74155 tengan un 1 (CBA=001) se activará la salida del 74152, indicando que hay
una tecla presionada en esa intersección. El código de la tecla se puede formar a partir de estas seis
entradas de selección.

7.3.6.- IMPLEMENTACIÓN DE FUNCIONES LÓGICAS USANDO MULTIPLEXORES

Los multiplexores además representan una alternativa al diseño de funciones lógicas resultando ser
circuitos universales para esta aplicación, es decir a través de un multiplexor se puede construir
cualquier función lógica con número de variables igual al número de líneas de selección del mux,
como se verá a continuación.

Ejemplo. La implementación de una función usando multiplexores es simplemente una consulta a la


tabla de verdad de la función como si fuera una tabla de alambrado, por ejemplo, la implementacón
de la función f(A,B,C) = Σ m(0,1,3,5,7) consiste simplemente en la conexión de las entradas
correspondientes a los mintérminos a Vcc y las otra a tierra, mientras que las entradas de la función
corresponden a las líneas de selección del mux como se muestra en la siguiente figura

Vcc
D0
D1
D2
D3
D4
MUX f
D5 Y
D6 de 8 a 1
D7
A C
B B
C A

Otra alternativa es la utilización de tablas de verdad reducidas, mediante la técnica de introducción


de variables, la cual permite reducir el tamaño del multiplexor a utilizar.

Ejemplo Reducir la siguiente tabla de verdad introduciendo la variable C e implementarla usando un


mux de 4 a 1 f(A,B,C) = Σ m(1,2,3,6)

De la tabla de verdad completa: Obtenemos la tabla de verdad reducida

A B C f
0 0 0 0 AB f
0
0
0
0
1
1
1
0
1
1
1
1
ð 00
01
10
11
C
1
0
C
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 0

Con lo cual, la implementación usando un mux de 4 a 1 queda como sigue

94
Capítulo 7 Diseño con Circuitos M.S.I.
Vcc
D0
D1
D2
f
C D3 Y
MUX
de 4 a 1
A B
B A

Lo anterior también es posible realizarlo aún cuando la función tiene condiciones sin cuidado

Ejemplo. Obtener la tabla de verdad reducida para la siguiente función lógica, 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 Tabla de verdad reducida


A B C D F
0 0 0 0 1
0 0 0 1 0
0 0 1 0 1 A B C F
0 0 1 1 * 0 0 0 D
0 1 0 0 0 0 0 1 D*+D
0 1 0 1 0 0 1 0 0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
*
1
0
*
ð 0
1
1
1
1
0
0
1
1
0
1
0
D+D*
D*
1
D
1 0 1 0 1 1 1 1 D*
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 *
1 1 1 1 0

En la tabla de verdad se ha enfatizando el hecho de que cada par de renglones consecutivos tiene la
misma información en las variables A,B,C y por lo tanto, generarán un renglón de la tabla reducida

Como puede verse, es posible introducir, no sólo una sino dos o más variables y cualesquiera de
ellas, como se ilustra en el siguiente ejemplo

Ejemplo. Para la función anterior, sin considerar condiciones sin cuidado, introducir las variables C y
D e implementar usando un mux de 4 a 1

Solución. La función 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
Capítulo 7 Diseño con Circuitos M.S.I.
A B C F
0 0 0 D
0 0 1 D
0 1 0 0
0 1 1 D
1 0 0 0
1 0 1 1
1 1 0 D
1 1 1 0

Esta tabla se puede expresar en un Mapa de Karnaugh reducido como sigue

AB
00 01 11 10
C 0 2 6 4
0 D 0 D 0
1 3 7 5
1 D D 0 1

Sobre este mapa (o sobre el original) se puede aún introducir otra variable, por ejemplo C, para
obtener un mapa aún más reducido con las variables C y D introducidas codificando la información
de cada par de celdas del mapa anterior en un sólo término como sigue
AB
00 01 11 10
0 1 3 2
D C.D C.D C

Con lo cual, la implementación usando un mux de 4 a 1 queda como sigue

D D0
D1
D2
f
C D3 Y
MUX
de 4 a 1

A B
B A

7.4.- MAPAS DE KARNAUGH CON VARIABLES INTRODUCIDAS

En la sección anterior se ha ilustrado como se reduce la representación de una función booleana, ya


sea en una tabla de verdad o en un Mapa de Karnaugh, al introducir variables en ellos. También se
ha ilustrado la relación de estas formas de expresar una función lógica con su implementación
mediante multiplexores, sin embargo, ¿Cómo interpretar una función que ya ha sido expresado por
otros en un mapa con variables introducidas?. En esta sección se responderá a esta pregunta,
planteando el conocido como

96
Capítulo 7 Diseño con Circuitos M.S.I.
El Método Extendido de los Mapas de Karnaugh

Mediante este método podemos obtener expresiones booleanas mínimas para una función booleana
expresada en un Mapa de Karnaugh con variables introducidas. No se pretende dar una justificación
del método, sino más bien presentar una “receta de cocina” que habrá de seguirse paso por paso

Observación: El tipo de expresiones que pueden aparecer en un mapa con variables


introducidas son:
0, 1, *, u, u*, u, u*, u*+u, u*+u
(Cualquier 1 equivale a u+u y cualquier * equivale a u*+u*)

donde u representa una variable o una combinación de variables lógicas cualquiera, por
ejemplo, u podría ser A+BC, etc..

Paso 1 - Agrupar las expresiones del tipo u que ocupan celdas adyacentes del mapa (como si fueran
unos de un mapa normal). La expresión obtenida por cada grupo es idétnica a la que se
obtendría en un mapa normal, pero afectada por una operación AND con u

- Repetir lo mismo para las expresiones del tipo u. Por ningpun motivo se incluyan en un
mismo grupo u con u

Paso 2 Transformar el mapa de acuerdo a lo siguiente:

a) Reemplazar las expresiones del tipo u, u por ceros

b) Reemplazar las expresiones u+u* y u+u* por * si se agrupó al menos el término SIN
asterisco.

c) Reemplazar las expresiones u+u* y u+u* por 1 sólo se agrupó el término CON asterisco
o si no se agrupó ninguno de los dos términos.

d) Reemplazar los 1’s del mapa por * si ambos términos (u+u) fueron agrupados de lo
contrario dejarlos como están

e) Los *’s y 0´s del mapa se conservan

Paso 3.- Hasta aquí se tiene un mapa normal, el cual se simplifica como siempre

Paso 4.- Finalmente, la expresión reducida para la función lógica será el OR de las expresiones
obtenidas en los pasos 1 y 3.

Ejemplo: Dado el siguiente M.K.


A 0 1
B 0 2

0 C *
1 3

1 1 C

97
Capítulo 7 Diseño con Circuitos M.S.I.
Puede ser reescrito como sigue

A 0 BC
B 1
0 2

0 C C*+C*
1 3

C BC
1 C+C

En el mapa anterior se muestra también el primer paso y las expresiones obtenidas en él. a
continuación se muestra el mapa auxiliar obtenido en el paso 2

A 0 1
B 0 2

0 0 0
1 3

1 1 0

AB
Finalmente, al sumar las expresiones del paso 1 y el mapa auxiliar obtenemos f= BC + BC + AB

Ejemplo: Sea la función 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 BCD
AB
C 00 0
01
2
11
6
10
4
C 00 01 11 10
0 2 6 4
0 * D+D D 0 0 * 0 0
*
1 3 7 5
1 3 7 5
1 D D* D* 1
1
ABC
0 0 0 1
AD

En el mapa de la izquierda están marcados los grupos que se toman en e primer paso, nótese que el
1 de la celda dos se ha exrpresado en términos de la variable introducida D, ya que esto ayuda a
visualizar la agrupación más 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 expresión reducida es la suma de las expresiones marcadas en ambos mapas:

F1 = BCD + A.D + ABC

98
Capítulo 7 Diseño con Circuitos M.S.I.

Ejemplo: Finalmente presentamos un ejemplo con una función de cinco variables, con el siguiente
mapa que tiene dos variables introducidas

AB CH AB AB
00 01 11 10 01 11 10
C
0 2 6 4
C 00
0 2 6 4

0 H 0 1 G 0 0
0 1 0
1 3 7 5
1 3 7 5

1 H 1 1 G+H 0 1 0
1 1
ABH AG BC

En el mapa de la izquierda se muestran los grupos tomados en el primer paso, obsérvese que
aunque no se escribe explícitamente, 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 sólo en términos de H y el uno de la celda 6 sólo en términos de G. el
mapa de la derecha es el mapa auxiliar. Finalmente, la expresión reducida queda como

F = A.B.H + AG + CH + AB + BC

99