Decodificadores multiplexores
-
Upload
angel-morales -
Category
Documents
-
view
1.162 -
download
0
Transcript of Decodificadores multiplexores
� Diseño con Circuitos MSI
⌦ La evolución de la electrónica digital ha llevado a la comercialización de circuitos integrados demedia escala de integración (MSI) que representan soluciones ya hechas a una gran variedad deproblemas de lógica combinacional y secuencial. En este capítulo se presentan las funcionestípicas de lógica combinacional que han encontrado su realización en circuitos integradoscomerciales MSI así como su utilización y adaptación a diversos problemas mediante la lógicaSSI (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 realizanmás que una simple función lógica. Estos circuitos, dependiendo de su complejidad y de la cantidadde 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ógicasbásicas)Media Escala de Integración (MSI).- Hasta 100 compuertas lógicasAlta 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 funcionalesrealizados en circuito integrado representan la experiencia y el trabajo de diseñadores de funcioneslógicas que es conveniente tener en cuenta para no repetir esfuerzos, su uso conlleva las siguientesventajas:
þ Realizaciones más compactas (al tener soluciones completas en un sólo circuito integrado conalgunas 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 ysalidas, 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ólocircuito 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 procedimientovisto 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 lafunción requerida?
Si la respuesta a alguna de estas preguntas es afirmativa casi seguro que esta opción nos dará lamejor solución comparada con el procedimiento de diseño visto en el capítulo anterior (lo único quefaltaría es un análisis comparativo de costos en donde se considere cuántos circuitos se deseaconstruir, cual es el costo por unidad, si se van a comercializar, etc...)
Capítulo 7 Diseño con Circuitos M.S.I.
80
Los circuitos combinacionales comercializados en circuito integrado MSI se pueden clasificar dentrode cuatro grandes divisiones:
Circuitos aritméticos (sumadores y comparadores)Generadores de paridadMultiplexores y demultiplexoresCodificadores y decodificadores
En este capítulo se tratarán algunos de los circuitos anteriores, sus aplicaciones, su principio deoperación, sus principales variantes, etc. Además, se tratará también el principio de construcción delas 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 mediantesumas (y complementos) es posible realizar restas y como ya se vió en capítulos anteriores consumas y restas (además de corrimientos) es posible realizar multiplicaciones y divisiones, en otraspalabras, 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 alnú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 deacarreo de salida. Como se muestra en el siguiente diagrama de bloques
La manera como realiza la suma y produce el acarreo el medio sumador se desglosa en la siguientetabla de verdad
1 01 10 11 00 10 10 00 0C SA B
De lo cual es evidente la expresión lógica para cada salida: C= A.B y S = . Con lo cual, laA/Bimplementación del medio sumador es como se muestra a continuación
Capítulo 7 Diseño con Circuitos M.S.I.
81
MEDIO
SUMADOR
A
B
S
C
A
BS
C
7.2.2.- EL SUMADOR COMPLETO DE UN BIT
El medio sumador no puede ser interconectado con otros medios sumadores para formar unsumador más grande, por ello es necesario diseñar un sumador que admita otra entrada aparte delos datos a sumar, es decir, un sumador de 3 datos de 1 bit, éste es denominado sumador completoy su diagrama de bloques es como se muestra a continuación
En la siguiente tabla de verdad se muestra la manera como este sumador realiza su función
1 11 1 11 01 1 01 01 0 10 11 0 01 00 1 10 10 1 00 10 0 10 00 0 0C1 SA B Co
Un análisis de esta tabla de verdad y el uso de Mapas de Karnaugh nos lleva a las siguientesexpresiones para C1 y S:
S = A / B / C0, C1 = AB + (A / B)C0
Con lo cual la implementación del sumador completo es como se muestra en la siguiente figura
7.2.3.- EL SUMADOR BINARIO DE n BITS
La ventaja del sumador completo de un bit es que permite conectarse en cascada con otrossumadores completos para realizar un sumador completo de varios bits. Por ejemplo, en la siguiente
Capítulo 7 Diseño con Circuitos M.S.I.
82
SUMADORA
BS
C1Co
COMPLETO
(acarreo de entrada)
(acarreode salida)
AB S
C1
Co
Medios sumadores
figura se muestra como se conectarían cuatro sumadores completos de 1 bit para construir unsumador binario de cuatro bits.
El sumador mostrado en la figura anterior puede realizar la suma de dos datos binarios de cuatrobits, 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. Estosacarreos permiten ver a este sumador como un solo bloque que se puede a su vez conectar encascada 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)
7.2.4.1.- CIRCUITOS CON SUMADORES
A continuación se presentan algunos ejemplos sencillos sobre el uso de circuitos sumadoresbinarios en aplicaciones donde se requieren funciones ligeramente diferentes a las que el circuitorealiza.
Capítulo 7 Diseño con Circuitos M.S.I.
83
SumadorCompleto CoC1
A B
S
SumadorCompleto CoC1
A B
S
SumadorCompleto CoC1
A B
S
SumadorCompleto CoC1
A B
S
CoC1C2C3C4
A3 B3 Ao BoA1 B1A2 B2
S3 S2 S1 So
(MSB) (LSB)
A4A3A2A1
B4B3B2B1
S4S3S2S1
Vcc GndC4Co
74LS83
1
8
10
3
164
711
13 14
152
69
5 12
Convertidor BCD - BCD exceso tres.- Una aplicación directa de un sumador de cuatro bits como el7483 es un convertidor de BCD a BCD exceso tres que se puede realizar sumado al dato de entradaA, una constante B=3=(0011)2 como se muestra en la figura siguiente
Sumador - Sustractor de 4 bits.- Utilizando el método expuesto en el segundo capítulo para realizarla resta A-B usando la suma de A + complemento a dos de B podemos realizar un sumador/restadorbinario de cuatro bits como sigue
Obsérvese que el bloque de cuatro puertas EXOR realiza el complemento a uno del dato B cuandoel switch está en la posición de restar y Co le suma 1 a este complemento a uno de B para obtenersu 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 binarioproducirá un resultado erróneo en BCD.
Por ejemplo, al sumar 4+7 el resultado binario será 15=(1111)2 mientras que el resultadoesperado en BCD es 15=(1 0101)BCD. Obsérvese que si al 15 producido por el sumador binario lesumá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 unasuma 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
Capítulo 7 Diseño con Circuitos M.S.I.
84
A4A3A2A1
B4B3B2B1
S4S3S2S1
Vcc
Vcc
GndC4Co
74LS83
1
8
10
3
164
711
13 14
152
69
5 12
DATO
DATO
BCD
BCD exc 3
A4A3A2A1
B4B3B2B1
S4S3S2S1
VccVcc
GndC4Co
74LS83
1
8
10
3
164
711
13 14
152
69
5 12
Dato A
Dato
B
Sumar
Restar
ii. Si el resultado es mayor o igual que 10, el resultado correcto en BCD es el resultado en binariomás 6
Lo anterior se puede resolver usando un par de sumadores binarios: unao para realizar la primerasuma y otro para realizar la corrección (sumar 6) en el caso necesario. Además se requiere uncircuito 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
7.3.- MULTIPLEXORES Y DEMULTIPLEXORES
La idea fundamental en la utilización de multiplexores (MUX) y demultiplexores (DEMUX) es elahorro 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?. Larespuesta está obviamente en compartir por tiempo la línea, es decir, en un momento dado sólo unade las señales puede ser transmitida. El esquema fundamental para lograr esto, se muestra en lasiguiente figura:
Obsérvese que con el esquema de transmisión anterior se produce un considerable ahorro de líneasde transmisión, ya que en lugar de 2k líneas se requieren sólo k+1 líneas, este ahorro es más
Capítulo 7 Diseño con Circuitos M.S.I.
85
A4A3A2A1
B4B3B2B1
S4S3S2S1
C4Co
74LS83A4A3A2A1
B4B3B2B1
S4S3S2S1
C4Co
74LS83
C5
Comparador con 10
...
......
k Líneas de selección
Línea de transmisión
Dato1
Dato2
Dato 2k k
Dato1
Dato2
Dato 2
MULTIPLEXOR DEMULTIPLEXOR
...
importante a medida que la distancia entre el mux y el demux es mayor. Sin embargo, el esquemano 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 puedehacerlo en ambos sentidos, de manera que un multiplexor analógico es a la vez un demultiplexoranaló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 claramentedefinido el sentido en que viaja la información.
O Definiremos un multiplexor digital (mux) o selector de datos como un circuito lógico combinacionalque tiene varias lineas de entrada y que, mediante otras lineas de selección, determina cual de laslineas de entrada se conecta a la salida.
Con el propósito de ilustrar cómo se construye y como funciona internamente un multiplexordigital, 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, eldiagrama de bloques del circuito a diseñar es como sigue
Como se puede ver, la tabla de verdad para describir el funcionamiento del circuito anteriorrequerirá 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 yescribimos la salida en términos de las otras cuatro entradas:
D311
D201
D110
D000
YAB
O Este tipo de tabla de verdad se denomina Tabla de Verdad con Variables Introducidas, dado quepara formarla se han introducido las 4 variables de entrada D0, D1, D2, D3 que en una tabla deverdad normal irían afuera de la tabla.
Capítulo 7 Diseño con Circuitos M.S.I.
86
MUX
de 4 a 1
D0
D1
D2
D3
B
A
Y
En este caso, un Mapa de Karnaugh no sería de mucha utilidad, ya que éste a su vez tendríavariables introducidas (este tipo de mapas se verá más adelante). Sin embargo, un análisis delsignificado de la tabla de verdad anterior nos lleva a la siguiente expresión para la salida
Y = BAD0 + BAD1 + BAD2 + BAD3
Esta expresión nos lleva a la siguiente Implementación usando puertas NAND.
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 strobe74158: Cuatro mux de 2 a 1 con señal strobe salidas invertidas74153: Dos mux de 4 a 1 con strobe74151: Un mux de 8 a 1 (salida invertida y sin invertir), con strobe74152: 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 presentaa continuación una descripción del 74151, comenzando por su diagrama de patitas que se muestraen 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 mayorinformación en este sentido hay necesidad de consultar el manual correspondiente.
Capítulo 7 Diseño con Circuitos M.S.I.
87
D0
D1
D2
D3
A
B
Y
D4 D5 D6 D7 A B
CD3
D2 D1 D0 Y W S
Vcc
Gnd
1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
Además del diagrama de patitas, si se tiene duda de como funciona exactamente el circuito, sepuede consultar la tabla de verdad en las hojas de datos del fabricante, como se muestra acontinuación. En esta tabla se aclara el funcionamiento de la entrada “strobe” (S) que como sepuede ver es una señal de habilitación/deshabilitación del mux.
Tabla de verdad del 74151
D7 D7H H HLD6 D6H H LLD5 D5H L HLD4 D4H L LLD3 D3L H HLD2 D2L H LLD1 D1L L HLD0 D0L L LLL H* * *H
SalidasY W
Entradas S C B A
La señal Strobe (S) permite la interconexión de un mux con otros mux para expandir su capacidad aun mayor número de entradas.
Ejemplo. En la siguiente figura se muestra la implementación de un mux de 16 a 1 usando circuitos74151.
Capítulo 7 Diseño con Circuitos M.S.I.
88
74151mux
de 8 a 1
D0D1D2D3D4D5D6D7
CBA Strobe
Y
74151mux
de 8 a 1
D0D1D2D3D4D5D6D7
CBA Strobe
Y
74151mux
de 8 a 1
D0D1D2D3D4D5D6D7
CBA Strobe
Y
D0D1D2D3D4D5D6D7
D8D9D10D11D12D13D14D15
DCBA
Y
7.3.2.- DEMULTIPLEXORES/DECODIFICADORES DIGITALES
Un demultiplexor (demux) es otro circuito MSI disponible para el diseño lógico, el cual puede serusado en una gran variedad de aplicaciones. a continuación se presenta una definición demultiplexor uy decodificador:
O Un demultiplexor es un circuito que conecta la información de una linea de entrada hacia una devarias 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 entrevarias por un código de selección.
F Obsérvese que de acuerdo a las definiciones anteriores, un demultiplexor se convierte en undecodificador si su línea de entrada se considera fija (en alto o en bajo). Esto justifica el nombrede demultiplexor/decodificador
Como una manera de entender mejor como están construidos internamente los demultiplexoresenseguida 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
Cuya tabla de verdad es la que se muestra a continuación
1000111
0100011
0010101
0001001
0000XX0
Y3Y2Y1Y0ABE
De la tabla de verdad obtenemos con un poco de análisis : , loYo = BAE, Y1 = BAE,Y2 = BAE,Y3 = BAEcual nos conduce a la implementación que se muestra en la siguiente figura
Capítulo 7 Diseño con Circuitos M.S.I.
89
Demultiplexor
de 2 a 4
Y0
Y1
Y2
Y3B
A
E
En la actualidad se tienen varios demultiplexores en circuito integrado. Por ejemplo, un circuitoequivalente al diseñado en el ejemplo es el 74155. El 74155 es un CI que se puede usar como dosdecodificadores de 2 a 4 ó bien como dos demultiplexores de 1 a 4 ó, como un decodificador de 3 a8 ó un demultiplexor de 1 a 8. Ya que como ya se dijo, un demultiplexor se convierte en undecodificador al conectar su entrada a un estado lógico fijo.
La siguiente es una lista de los demultiplexores/decodificadores más populares en cicuito integradode la familia TTL
74138: Demux/decodificador de 3 a 874139: Demux/decodificador de 2 a 4, doble74141: Decodificador/driver BCD - decimal74154: Demux/Decodificador de 4 a 1674159: Demux/decodificador de 4 a 16 con salidas de colector abierto74155: Demux/decodificador doble de 2 a 474156: igual al 74155, pero con salidas de colector abierto
Como una ilustración de la información proporcionada por el fabricante respecto al funcionamientológico de un demux, se presenta a continuación para el circuito 74138, comenzando por sudiagrama de patitas
La tabla de verdad correspondiente es como sigue
Capítulo 7 Diseño con Circuitos M.S.I.
90
B
A
EY3
Y2
Y1
Y0
Y0 Y1 Y2 Y3 Y4 Y5Y6A
B C G2A G2B G1 Y7
Vcc
Gnd
1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
1 1 1 1 1 1 1 01 1 11001 1 1 1 1 1 0 11 1 01001 1 1 1 1 0 1 11 0 11001 1 1 1 0 1 1 11 0 01001 1 1 0 1 1 1 10 1 11001 1 0 1 1 1 1 10 1 01001 0 1 1 1 1 1 10 0 11000 1 1 1 1 1 1 10 0 01001 1 1 1 1 1 1 1X X X0XX1 1 1 1 1 1 1 1X X XX1X1 1 1 1 1 1 1 1 X X XXX1
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7C B AG1G2BG2A
Como puede verse en la tabla de verdad, las entradas G2A,G2B y G1 pueden ser usadas comodato de entrada del mux de 1 a 8 o bien, como señales tipo “strobe” para habilitar o deshabilitar aldecodificador de 3 a 8.
En el siguiente ejemplo se da una ilustración de como pueden usarse estas señales G parainterconectar 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 usandocircuitos 74138
7.3.4.- DECODIFICADORES ESPECIALES
Existen algunos paquetes en circuito integrado que realizan funciones lógicas muy usuales y querepresentan una ligera variante a los decodificadores mencionados anteriormente, talesdecodificadores especiales son:
7445: Decodificador/driver de BCD a decimal (decodificador de 4 a 10 con capacidad de altacorriente (80 mA por salida). tiene salidas activas en bajo
7446, 7447: Decodificadores /driver de BCD a 7 segmentos con salidas de colector abierto. Estoscircuitos manejan alto voltaje de salida (15 volts para el 7447 y 30 volts para el 7446). manejan alta
Capítulo 7 Diseño con Circuitos M.S.I.
91
G2AG2BG
CBA
Y0Y1Y2Y3Y4Y5Y6Y7
74138demux
de 3 a 8
G2AG2BG
CBA
Y0Y1Y2Y3Y4Y5Y6Y7
74138demux
de 3 a 8DCBA
E
Y0Y1Y2Y3Y4Y5Y6Y7
Y8Y9Y10Y11Y12Y13Y14Y15
corriente de salida y tienen salidas activas en bajo, lo cual los hace compatibles con desplegadoresde 7 segmentos de ánodo común
7449: Decodificador/driver de BCD a 7 segmentos con salidas activas en alto (compatible condesplegadores de cátodo común).
A continuación, sólo para el 7447 se detalla la información que proporciona el fabricantecomenzando por su diagrama de patitas
No se describirá aquí la tabla de verdad del circuito, ya que en capítulos anteriores ya se ha tratadola conversión BCD a 7 segmentos, en cambio, se describe a continuación la manera como funcionanlas 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 estacondició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 enconjunció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 al7447 es cero (DCBA = 0000) en lugar de activar el código de 7 segmentos del cero, apaga todoslos 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, sise tiene presente que en conjunto permite el “blanqueo” de ceros a la izquierda cuando se despliegainformación de varios dígitos se entenderá mjeor su funcionamiento. En la siguiente figura semuestra el despliegue del número 040 con el cero de la izquierda blanqueado:
Capítulo 7 Diseño con Circuitos M.S.I.
92
f g a b c deB
C LT Bi/Rbo Rbi D A
Vcc
Gnd
1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
7.3.5.- CODIFICACIÓN DE TECLADOS
Los teclados numéricos y alfanuméricos son un dispositivo extremadamente útil para laintroducción de datos a un sistema digital. Las teclas de un teclado normalmente accionaninterruptores que tienen dos contactos normalmente abiertos que se cierran cuando la tecla espresionada.
Codificar un teclado significa asignar un código binario a cada una de las teclas que componen elteclado. Así como decodificarlo significa determinar cual de las teclas fue presionada de acuerdo alcódigo que la representa. La codificación de teclados se puede realizar usando multiplexores ydemultiplexores.
Como ejemplo enseguida se ilustra un esquema para codificar 64 teclas arregladas en una matriz de8x8, usando un 74155 (como decodificador de 3 a 8) y un multiplexor 74152. En este ejemplo unnivel ALTO en la salida del 74152 indica que una tecla se oprimió y la combinación de las 3entradas de selección del 74152 con las del 74155 determinan cual fue la tecla que se oprimió.
Capítulo 7 Diseño con Circuitos M.S.I.
93
7447Rbi Rbo
D C B A
a b c d e f g
7447Rbi Rbo
D C B A
a b c d e f g
7447Rbi Rbo
D C B A
a b c d e f g
0 0 0 0 0 0 0 0 0 1 0 0
0 0 1 1
D0D1D2D3D4
D5D6D7C
BA
74152+Vcc
1 K
1Y0 1Y1 1Y21Y3 2Y0 2Y12Y2
A B 1G 2G1C 2C
74155
SALIDA
LINEASDE
SELECCION
2Y3
En la figura cada tecla representada por un pequeño círculo implica un switch en cada una de las64 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, demanera que cuando las lineas de selección del 74152 tengan un 6 (CBA=110)y las líneas deselección del 74155 tengan un 1 (CBA=001) se activará la salida del 74152, indicando que hayuna tecla presionada en esa intersección. El código de la tecla se puede formar a partir de estas seisentradas 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 sercircuitos universales para esta aplicación, es decir a través de un multiplexor se puede construircualquier 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 latabla de verdad de la función como si fuera una tabla de alambrado, por ejemplo, la implementacónde la función f(A,B,C) = Σ m(0,1,3,5,7) consiste simplemente en la conexión de las entradascorrespondientes a los mintérminos a Vcc y las otra a tierra, mientras que las entradas de la funcióncorresponden a las líneas de selección del mux como se muestra en la siguiente figura
Otra alternativa es la utilización de tablas de verdad reducidas, mediante la técnica de introducciónde 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 unmux 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
ð
Con lo cual, la implementación usando un mux de 4 a 1 queda como sigue
Capítulo 7 Diseño con Circuitos M.S.I.
94
MUXde 8 a 1
fY
D0D1D2D3D4D5D6D7
CBA
ABC
Vcc
01 1 111 1 001 0 101 0 010 1 110 1 010 0 100 0 0fA B C
C1 101 010 1C0 0fA B
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 lavariable 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
ð
En la tabla de verdad se ha enfatizando el hecho de que cada par de renglones consecutivos tiene lamisma 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 deellas, como se ilustra en el siguiente ejemplo
Ejemplo. Para la función anterior, sin considerar condiciones sin cuidado, introducir las variables C yD 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), noslleva a la siguiente tabla de verdad reducida (introduciendo D)
Capítulo 7 Diseño con Circuitos M.S.I.
95
MUXde 4 a 1
B
A
Yf
D0
D1
D2
D3
AB
C
Vcc
01*01 1 1
1 1 1
11001 1 0
1 1 0
11101 0 1
1 0 1
*1001 0 0
1 0 0
11*00 1 1
0 1 1
01000 1 0
0 1 0
*1100 0 1
0 0 1
01100 0 0
0 0 0
FDA B C
D*1 1 1D1 1 011 0 1
D*1 0 0D+D*0 1 1
00 1 0D*+D0 0 1
D0 0 0FA B C
01 1 1D1 1 011 0 101 0 0D0 1 100 1 0D0 0 1D0 0 0FA B C
Esta tabla se puede expresar en un Mapa de Karnaugh reducido como sigue
Sobre este mapa (o sobre el original) se puede aún introducir otra variable, por ejemplo C, paraobtener un mapa aún más reducido con las variables C y D introducidas codificando la informaciónde cada par de celdas del mapa anterior en un sólo término como sigue
Con lo cual, la implementación usando un mux de 4 a 1 queda como sigue
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, yasea en una tabla de verdad o en un Mapa de Karnaugh, al introducir variables en ellos. También seha ilustrado la relación de estas formas de expresar una función lógica con su implementaciónmediante multiplexores, sin embargo, ¿Cómo interpretar una función que ya ha sido expresado porotros en un mapa con variables introducidas?. En esta sección se responderá a esta pregunta,planteando el conocido como
Capítulo 7 Diseño con Circuitos M.S.I.
96
0
1
2
3 7
4
5
6
AB
C00 01 11 10
0
1
D
D
0
D
0
1
D
0
0 1 2 3
AB00 01 11 10
D C.D CC.D
MUXde 4 a 1
B
A
Yf
D0
D1
D2
D3
AB
C
D
El Método Extendido de los Mapas de Karnaugh
Mediante este método podemos obtener expresiones booleanas mínimas para una función booleanaexpresada en un Mapa de Karnaugh con variables introducidas. No se pretende dar una justificacióndel 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 variablesintroducidas son:
0, 1, *, u, u*, u, u*, u*+u, u*+u(Cualquier 1 equivale a y cualquier * equivale a )u+u u*+u*
donde u representa una variable o una combinación de variables lógicas cualquiera, porejemplo, u podría ser A+BC, etc..
Paso 1 - Agrupar las expresiones del tipo u que ocupan celdas adyacentes del mapa (como si fueranunos de un mapa normal). La expresión obtenida por cada grupo es idétnica a la que seobtendría en un mapa normal, pero afectada por una operación AND con u
- Repetir lo mismo para las expresiones del tipo . Por ningpun motivo se incluyan en unumismo grupo u con u
Paso 2 Transformar el mapa de acuerdo a lo siguiente:
a) Reemplazar las expresiones del tipo u, por cerosu
b) Reemplazar las expresiones u+ * y +u* por * si se agrupó al menos el término SINu uasterisco.
c) Reemplazar las expresiones u+ * y +u* por 1 sólo se agrupó el término CON asteriscou uo si no se agrupó ninguno de los dos términos.
d) Reemplazar los 1’s del mapa por * si ambos términos (u+ ) fueron agrupados de loucontrario 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 expresionesobtenidas en los pasos 1 y 3.
Ejemplo: Dado el siguiente M.K.
Capítulo 7 Diseño con Circuitos M.S.I.
97
AB
0
1
100
1 3
2
1 C
*C
Puede ser reescrito como sigue
En el mapa anterior se muestra también el primer paso y las expresiones obtenidas en él. acontinuación se muestra el mapa auxiliar obtenido en el paso 2
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). alexpresarla en un mapa con D introducida, obtenemos los siguientes mapas
En el mapa de la izquierda están marcados los grupos que se toman en e primer paso, nótese que el1 de la celda dos se ha exrpresado en términos de la variable introducida D, ya que esto ayuda avisualizar la agrupación más claramente, en cambio el 1 de la celda 5 que no se usa en el primerpaso se expres simplemente como 1. El mapa de la derecha es el mapa auxiliar obtenido en elsegundo paso. La expresión reducida es la suma de las expresiones marcadas en ambos mapas:
F1 = BCD + A.D + ABC
Capítulo 7 Diseño con Circuitos M.S.I.
98
AB
0
1
100
1 3
2
C+C C
C*+C*C
BC
BC
AB
0
1
100
1 3
2
1 0
00
AB
ABC
0
1
101101000
1 3 7 5
462
1
D+D
D*
*
D
0
D*
D
B C D
A D
ABC
0
1
101101000
1 3 7 5
462
1
* 0* 0
000ABC
Ejemplo: Finalmente presentamos un ejemplo con una función de cinco variables, con el siguientemapa que tiene dos variables introducidas
En el mapa de la izquierda se muestran los grupos tomados en el primer paso, obsérvese queaunque no se escribe explícitamente, el uno de la celda 7 se ha considerado como 1= 1+1=
, con lo cual ha podido ser usado para simplificar grupos de G y de H, en cambio el unoG + G + H + Hde 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. elmapa de la derecha es el mapa auxiliar. Finalmente, la expresión reducida queda como
F = A.B.H + AG + CH + AB + BC
Capítulo 7 Diseño con Circuitos M.S.I.
99
ABC
0
1
101101000
1 3 7 5
462
G+H
H G0
1 1
1
H
ABH AG
CH ABC
0
1
101101000
1 3 7 5
462
0
1 1
10
0 0
0
BC
AB