multiplexores teoria
TRANSCRIPT
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
MULTIPLEXORES
Marco teorico:
Un multiplexor o selector de datos es la versión electrónica de un conmutador rotatorio de un sentido.
Entradas
0
1
2
3 Salida
4
5
6
7
Selector mecánico de datos.
Las ocho entradas están a la izquierda y la única salida esta a la derecha. Un dato de entrada se transfiere a
través de los contactos del conmutador rotatorio. Análogamente con un multiplexor los datos de entrada se
transfieren a través de los circuitos del selector. La selección del dato se hace girando mecánicamente el
rotor del conmutador rotatorio. En el selector de datos la posición del dato se selecciona colocando el
numero binario adecuado en las entradas de selección de datos. El selector de datos permite que los datos
fluyan solamente de la entrada a la salida, mientras que el conmutado rotatorio permite que loas datos fluyan
en ambas direcciones. Un selector de datos puede considerarse como un conmutador rotatorio de una
dimensión.
Procedimiento:
Los pasos para el desarrollo de circuitos combinacionales con multiplexores es el siguiente:
1. comprensión del problema
2. variables de entrada y salida
3. nombres de las variables
4. Tablas de verdad.
5. Seleccionar el multiplexor.
6. Establecer mapa del multiplexor.
7. Obtener resultados del mapa.
8. Esquema lógico.
En el laboratorio, se llevo a cabo el diseño de tres circuitos combinacionales con multiplexores que son:
Sumador de dos palabras de dos bites cada una.
Sustractor de dos palabras de dos bites.
Sumador de tres bites o completo.
Sumador de dos palabras de dos bites cada una:
1. Se necesita diseñar un sumador de dos palabras de dos bites utilizando multiplexores.
2. Cuatro variables de entrada tres variables de salida.
3. Variables de entrada A B C D.
Variables de salida X Y Z.
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
4.
A B C D X Y Z
0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1
2 0 0 1 0 0 1 0
3 0 0 1 1 0 1 1
4 0 1 0 0 0 0 1
5 0 1 0 1 0 1 0
6 0 1 1 0 0 1 1
7 0 1 1 1 1 0 0
8 1 0 0 0 0 1 0
9 1 0 0 1 0 1 1
10 1 0 1 0 1 0 0
11 1 0 1 1 1 0 1
12 1 1 0 0 0 1 1
13 1 1 0 1 1 0 0
14 1 1 1 0 1 0 1
15 1 1 1 1 1 1 0
X = F(A,B,C,D) = ∑(7,10,11,13,14,15).
Y = F(A,B,C,D) = ∑(2,3,5,6,8,9,12,15).
Z = F(A,B,C,D) = ∑(1,3,4,6,9,11,12,14).
5. Para Hacer la selección del multiplexor se deben analizar las variables de entrada. La variable más
significativa es la entrada del multiplexor y las demás son los selectores. Como serian tres selectores, el
multiplexor a escoger seria el de ocho canales.
6. X = F(A,B,C,D) = ∑(7,10,11,13,14,15). Y = F(A,B,C,D) = ∑(2,3,5,6,8,9,12,15). C0 C1 C2 C3 C4 C5 C6 C7 CO C1 C2 C3 C4 C5 C6 C7
A’ 0 1 2 3 4 5 6 7 A’ 0 1 2 3 4 5 6 7
A 8 9 10 11 12 13 14 15 A 8 9 10 11 12 13 14 15
0 0 A A 0 A A 1 A A A’ A’ A A’ A’ A
Z = F(A,B,C,D) = ∑(1,3,4,6,9,11,12,14).
C0 C1 C2 C3 C4 C5 C6 C7
A’ 0 1 2 3 4 5 6 7
A 8 9 10 11 12 13 14 15
0 1 0 1 1 0 1 0
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
A B C D
X
Vcc
A B C D
Y
Z
Vcc
Sustractor de dos palabras de dos bites cada una:
1. Se necesita diseñar un sustractor de dos palabras de dos bites cada una, utilizando multiplexores.
2. Se requieren de cuatro variables de entrada y tres de salida.
3. Variables de entrada W X Y Z.
Variables de salida Signo A B.
MU
LT
8 C
AN
AL
ES
MU
LT
8 C
AN
AL
ES
MU
LT
8 C
AN
AL
ES
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
4.
W X Y Z Signo A B
0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1
2 0 0 1 0 0 1 0
3 0 0 1 1 0 1 1
4 0 1 0 0 1 0 1
5 0 1 0 1 0 0 0
6 0 1 1 0 0 0 1
7 0 1 1 1 0 1 0
8 1 0 0 0 1 1 0
9 1 0 0 1 1 0 1
10 1 0 1 0 0 0 0
11 1 0 1 1 0 0 1
12 1 1 0 0 1 1 1
13 1 1 0 1 1 1 0
14 1 1 1 0 1 0 1
15 1 1 1 1 0 0 0
Signo = F(W,X,Y,Z) = ∑(4,8,9,12,13,14).
A = F(W,X,Y,Z) = ∑(2,3,7,8,12,13).
B = F(W,X,Y,Z) = ∑(1,3,4,6,9,11,12,14).
5. Para el diseño de este circuito se utilizó un multiplexor de ocho canales, por tener tres selectores.
6. Signo = F(W,X,Y,Z) = ∑(4,8,9,12,13,14).
C0 C1 C2 C3 C4 C5 C6 C7
W’ 0 1 2 3 4 5 6 7
W 8 9 10 11 12 13 14 15
W W 0 0 1 W W 0
A = F(W,X,Y,Z) = ∑(2,3,7,8,12,13).
C0 C1 C2 C3 C4 C5 C6 C7
W’ 0 1 2 3 4 5 6 7
W 8 9 10 11 12 13 14 15
W 0 W’ W’ W W 0 W’
B = F(W,X,Y,Z) = ∑(1,3,4,6,9,11,12,14).
C0 C1 C2 C3 C4 C5 C6 C7
W’ 0 1 2 3 4 5 6 7
W 8 9 10 11 12 13 14 15
0 1 0 1 1 0 1 0
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
7.
W X Y Z
Signo
Vcc
A
W X Y Z
B
Vcc
Sumador de tres bites o completo
1. Se necesita desarrollar un sustractor de tres bites o completo, utilizando multiplexores.
2. Se requieren de tres variables de entrada y dos de salida.
MU
LT
8 C
AN
AL
ES
MU
LT
8 C
AN
AL
ES
MU
LT
8 C
AN
AL
ES
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
3. Variables de entrada A B C
Variables de salida S C
4.
C = F(A,B,C) = ∑(3,5,6,7).
S = F(A,B,C) = ∑(1,2,4,7).
5. Para este circuito utilizaremos un multiplexor de
cuatro canales, por tener dos selectores.
6. C = F(A,B,C) = ∑(3,5,6,7).
C0 C1 C2 C3
A’ 0 1 2 3
A 4 5 6 7
0 A A 1
S = F(A,B,C) = ∑(1,2,4,7).
C0 C1 C2 C3
A’ 0 1 2 3
A 4 5 6 7
A A’ A’ A
7.
A B C
C
Vcc
S
4. Realiza con el 74LS151 las funciones Σ3(3,5,6) y Σ4(0,2,6,10,13,15). 5. Realiza las funciones F=Σ3(0,1,4,7) y G=Σ3(0,2,5,6) con: (a) Un multiplexor de 8 entradas de datos de 2 bits. (b) Un multiplexor de 4 entradas de datos de 2 bits.
A B C C S
0 0 0 0 0 0
1 0 0 1 0 1
2 0 1 0 0 1
3 0 1 1 1 0
4 1 0 0 0 1
5 1 0 1 1 0
6 1 1 0 1 0
7 1 1 1 1 1
MU
LT
4
CA
NA
LE
S
MU
LT
4
CA
NA
LE
S
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
MULTIPLEXORES Y DEMULTIPLEXORES A NIVEL SSI Y MSI. APLICACIONES
MULTIPLEXORES
En las comunicaciones, y sistemas de computadora se ejecutan muchas operaciones
mediante circuitos lógicos combinatorios. Cuando un circuito se ha diseñado para
efectuar alguna tarea en una aplicación, a menudo también encuentra empleo en otras
diferentes aplicaciones. En este tema se tratarán los multiplexores y demultiplexores
tanto a nivel SSI como MSI y como podemos aprovechar sus funciones en el desarrollo de
circuitos combinacionales.
Un Multiplexor o “Selector de datos” es un circuito lógico que acepta varias entradas de
datos y permite que sólo una de ellas pase a un tiempo a la salida. El enrutamiento de la
entrada de datos hacia la salida está controlado por las entradas de selección (a las que
se hace referencia a veces como las entradas de dirección).
El multiplexor, también conocido como MUX, actúa como un conmutador multiposicional
controlado digitalmente, donde el código digital aplicado a las entradas de selección
controla cuáles entradas de datos serán conmutadas hacia la salida. Por ejemplo, la
salida será igual a la entrada de datos, llamémosle D0,
para el código de entrada de
selección que sea cero (ABC=000 en el diagrama de abajo); la salida será igual D1
para
cuando el código de selección sea uno y así sucesivamente. Establecido de otra manera,
un multiplexor selecciona 1 de N fuentes de datos y transmite los datos seleccionados a
un solo canal de salida. Esto se llama multiplexión o multiplexaje.
Los multiplexores son representados en diagramas de bloques como trapezoides
isósceles. A continuación muestro el esquemático de un multiplexor de dos entradas y
una salida con su respectivo bit de selección:
ó
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
Un ejemplo de multiplexores (aunque no digitales como los que vemos aquí) se ve en las
líneas telefónicas. Éstas usan exactamente este principio. Transmiten varias llamadas
telefónicas (señales de audio) a través de un único par cableado usando la técnica de
“multiplexado” y cada señal de audio va únicamente al receptor al que está destinado.
Una aplicación común para los MUX es encontrado en las computadoras, en las cuales la
memoria dinámica usa las mismas líneas de dirección para el direccionamiento tanto de
las filas como de las columnas. Un grupo de multiplexores es usado para primero
seleccionar las direcciones de la columna y luego cambiar para seleccionar la de la fila.
Este esquema permite que grandes cantidades de memoria sean incorporadas dentro de
una computadora mientras se limita a la vez la cantidad de conexiones de cobre
requeridas para conectar la memoria al resto del circuito. Por eso es que también se les
conoce a veces como “selectores de datos”.
Ya se vio el símbolo esquemático del multiplexor de 2 entradas y una salida pero los
multiplexores no están limitados a 2 entradas. Si las líneas de selección son dos
podemos alternar entre 4 datos de entrada, si son 3 entre 8 y así sucesivamente. A
continuación se muestran los símbolos esquemáticos de los multiplexores de “4 a 1”
(cuatro entradas y una salida), “8 a 1” (ocho entradas y una salida) y “16 a 1” (dieciséis
entradas y una salida) con sus respectivas líneas de selección, respectivamente.
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
En todos los casos la salida es Z, las entradas de selección S y el resto es la entrada que
será multiplexada.
A veces pueden verse en forma rectangular asemejando el circuito integrado que
representan pero en este caso siempre deben ir bien identificados para poder saber que
es. Por ejemplo:
representa (como se ve indicado) un multiplexor a nivel MSI de 8 entradas (que implica
las 3 líneas de selección) y una salida (F). Las entradas de selección, o sea, quienes
indicarán cual de las entradas será reflejada en la salida, vienen dadas por el código
binario representado por ABC. ABC son las “entradas de direccionamiento” o de dirección
o de selección, como usted lo quiera llamar, ya que estas serán quienes indican el dato a
acceder. Este mismo concepto es el usado en las memorias.
Veamos ahora la implementación de multiplexores a nivel SSI. Para el caso de un
multiplexor de 2 entradas y una salida (quien por supuesto requiere sólo una línea de
selección) el circuito sería:
El uso del inversor dos veces NO es absolutamente necesario. Se observa que cuando la
entrada de selección “A” tiene un valor cualquiera, una de las compuertas AND tendrá un
UNO en una de sus entradas y la otra un CERO. La que tiene el CERO dejará pasar sólo el
CERO pero el que tenga el valor de UNO dejará pasar la otra entrada de la AND intacta y
será este valor quien se refleje a la salida. Pueden verificar este circuito a través de su
tabla de la verdad. Veámosla a continuación:
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
A X0 X1 X
0
1 1 1
1 0 1
0 1 0
0 0 0
1
1 1 1
1 0 0
0 1 1
0 0 0
Se ve aquí que cuando que cuando A=0, X=X0
y cuando A=1, X=X1
. Esto representa la
función booleana: X = AX1
+A'X0
que es exactamente la implementación mostrada.
Veamos como se ven las implementaciones de 4 a 1 y de 16 a 1:
Analícenlos y si lo desean hagan sus tablas de la verdad.
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
Se ve que en el diseño de multiplexores de n entradas se requerirá siempre
líneas de selección (que daría un número entero si n es potencia de 2). Claro que, aunque
es lo normal, el multiplexor no necesariamente debe tener 2m
líneas de entrada con m
entero pero en todo caso se requerirán tantas líneas de selección que hagan suficientes
combinaciones para direccionar todas las entradas. Por ejemplo, para multiplexar 3 ó 4
entradas se requieren 2 líneas de selección. Si se requiere multiplexar 5, 6, 7 ú 8,
entonces se necesitan 3 líneas de selección y así sucesivamente.
El Multiplexor es típicamente usado para combinar dos o más señales digitales en una
sola línea pero no es la única forma. También puede conseguirse de otras características
pero aquí mencionaré sólo un par de ejemplos de multiplexores:
De dos entradas de 4 bits y una salida de 4 bits. Éste selecciona uno de los nibbles
de entrada (internamente son 4 multiplexores de 2 a 1 en un solo encapsulado) y
lo refleja en la salida.
De dos entradas de 4 bits a una salida de dos bits que representan un bit
direccionado en cada nibble reflejado a la salida (internamente son 2 multiplexores
de 4 a 1).
Algunas designaciones para multiplexores de la familia TTL son: 74153 que son dos
multiplexores 4 a 2, 74157 que son cuatro MUX 2 a 1 y el 74151 que es un MUX 8 a 1.
Los circuitos multiplexores pueden incluir también una línea de habilitación indicado con
una E por Enable, pero de eso hablaremos en el próximo tema.
Como último comentario de lo multiplexores quiero agregar que estos pueden ser
organizados en cascada (tal como los sumadores que vimos en el tema anterior) para
implementar multiplexores más grandes. Por ejemplo podemos usar multiplexores de 2 a
1 para implementar un multiplexor de 4 a 1 (o de 4 a 2 que si lo piensan se darán cuenta
de que es elemental) o incluso para implementar multiplexores de más entradas. Veamos
específicamente el ejemplo de implementación de un multiplexor de 16 a 1 usando sólo
multiplexores de 4 a 1. El dato de entrada es X formado por los 16 bits x0
, x1
,...,x14
y x15
.
Las líneas de selección vienen dadas por S. OJO con este ejemplo. Analícelo y entiéndalo.
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
En los multiplexores vemos también la entrada de enable E (que además son de lógica
negativa que quiere decir que los IC's se activaran con un cero). Ese es el bit de
habilitación que les dije veremos en el próximo tema.
DEMULTIPLEXORES
Es lo inverso a un multiplexor. Los demultiplexores o DEMUX tienen una entrada que es
transferida a una de las m posibles líneas de salida. La línea m vendrá direccionada por
los n bits de selección donde lo normal es que 2n
=m. Se podría decir que, como
profundizaremos en el próximo tema, cada salida del demultiplexor corresponde con
el término mínimo del número binario que se encuentra en las líneas de selección.
Un uso popular del DEMUX es como decodificador y por eso suele usarse el término
Demultiplexor/Decodificador indistintamente. Ya hablaremos de él en próximo tema,
pero el propósito principal de un decodificador no es tanto transferir una entrada a una
de las salidas sino llevar un valor binario (el de la entrada de selección) a una
representación de una única línea a la salida. Esta función es de gran utilidad en la
decodificación de la dirección en los microporcesadores por ejemplo cuando involucra la
selección de uno de multiples dispositivos (como por ejemplo la memoria). De hecho, la
mayoría de los decodificadores son de lógica invertida (o negativa) debido a que la
mayoría de los dispositivos periféricos de los microprocesadores son activados por una
señal baja (como el pin E' que vimos en los multiplexores en cascada hace un par de
párrafos).
Los DEMUX también suelen incluir un bit de entrada de habilitación. Algunos DEMUX de
la familia TTL son: el 74139 que son dos DEMUX de 1 a 4 con salidas invertidas (lógica
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
negada), el 74156 que son dos DEMUX de 1 a 4 con salida de colector abierto (Open
Collector), el 74138 que es un DEMUX de 1 a 8 con salida invertida, el 74156 que es un
DEMUX de 1 a 16 y el 74159 que es de 1 a 16 con salida a colector abierto.
Veamos a continuación la implementación de demultiplexores a nivel SSI. Para el caso de
un demultiplexor de 1 a 2 sería:
Se observa que el circuito tiene sólo una entrada
(representada por IN), dos salidas (OUT1
y OUT0
) y el bit
de dirección (A). El proceso es justo el contrario del
multiplexor. Para los casos de DEMUX de 1 a 4 y de 1 a 8
tenemos las siguientes implementaciones.
Si lo desean hagan sus tablas de la verdad para que les facilite entender el
comportamiento de estos circuitos.
APLICACIONES
Resulta que algunas veces un circuito diseñado para cierto fin suele ser de gran utilidad
en la resolución de problemas que no fueron exactamente para el que fueron diseñados.
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
El multiplexor es una de esos ejemplos. Una poderosísima utilidad de los multiplexores
está en la implementación de funciones lógicas.
Vamos a estudiar algunas posibilidades de implementación de funciones lógicas
mediante multiplexores. Veamos el siguiente ejemplo:
F(x2, x1, x0 ) = ∑(2,5,6)
Sabemos que esta función es uno para los términos mínimos 2, 5 y 6. Esta función tiene
3 variables que pueden formar 8 combinaciones. La forma más sencilla de
implementación, que es la que veremos a continuación, es a través de un multiplexor de
8 a 1. Veamos la tabla de la verdad de la función y la implementación con el multiplexor:
Dado que se trata de una función de tres variables, el
método acabado de sugerir implica en principio utilizar
un multiplexor de 8 canales (es decir,con 3 entradas de
control). Hay que conectar las variables x2, x1 y x0 a las
entradas de selección e introducir en cada uno de los
canales el valor ("0" o "1") que toma la función para cada
combinación de dichas variables. Observe la figura y note que el paso de una a otra es
inmediato ya que el multiplexor tiene cableada las entradas 2, 5 y 6 a uno y el resto a
cero. De esta forma se garantiza que para las combinaciones de las variables X (quien se
colocó en las líneas de selección) para los que se requiere que la función sea uno harán
f=1.
Veamos otro ejemplo. F(A,B,C)=∑(3,5,6,7). Con un multiplexor de 8 entradas se vería:
Es fácil de observar el porqué de esto, así que no lo
analizaremos más.
Llegados a este punto, una pregunta que podemos hacernos es
si es posible implementar funciones de n variables mediante
multiplexores con menos de n entradas de control. La
respuesta es afirmativa, aunque para ello será necesario en
general añadir algún módulo o conjunto de puertas. Siempre
podremos implementar funciones lógicas de 2n
combinaciones con multiplexores de 2n-1
entradas. O lo que es lo mismo, siempre
podremos implementar funciones lógicas de n variables con un multiplexor de n-1 líneas
de selección. Veamos el siguiente ejemplo:
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
F(A,B,C) = ∑(1,3,5,6)
Esta función tiene 8 (23
) posibles combinaciones de variables (3 variables) pero debemos
implementarlo con un multiplexor de sólo dos (3-1) entradas de selección, o sea, un
multiplexor de 4 (22
) a 1. Llamemos a la entrada del multiplexor I (I3
I2
I1
I0
). La tabla de la
verdad de la función F es:
Lo primero que debemos hacer es decidir como vamos a
trabajar con las variables. En estos casos sólo n-1 de las
variables de la función se usarán en las líneas de selección y la
otra restante se usará a la entrada del multiplexor. Es este caso
particular sólo dos de las variables pueden ser usadas en las
líneas de selección. He decidido que éstas serán B y C. Por lo
tanto A será usada a la entrada del multiplexor. Ok, lo primero
que haremos será formar una tabla. Ésta deberá tener todas las
posibles entradas del multiplexor como títulos de las columnas
y las dos posibles combinaciones de la variable que decidimos
usar en la entrada (en nuestro caso A en sus formas A' [0] y A
[1]) como títulos de las filas.
I0
I1
I2
I3
A'
A
A cada celda de la tabla le corresponderá un término mínimo. Vemos que cuando A=0
(A'), los términos de la función van del 0 al 3 y cuando A=1 (A) van de 4 a 7. O sea que la
tabla deberá ser llenada con:
I0
I1
I2
I3
A' m0
m1
m2
m3
A m4
m5
m6
m7
A B C F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
Aquí usted podría sólo encerrar en círculos los términos mínimos que sean uno en la
función (en nuestro caso m1
, m3
, m5
y m7
) para procesar la tabla. Yo sencillamente voy a
encerrarla con paréntesis (únicamente por comodidad y no tener que estar haciendo más
gráficos). También suele colocarse sólo el número del término en vez del mn
. Entonces,
colocando los “círculos” donde corresponde tenemos:
Aquí empezamos el análisis. Cuando en una columna de
la tabla no hay ningún termino en círculo como es el
caso de la primera columna, concluimos que en esa
entrada del multiplexor debe ir 0 (cero). Cuando en una
columna AMBOS términos aparecen en círculo decimos
que en esa entrada del multiplexor debemos colocar un uno. Cuando en una columna
sólo UNO de los términos aparece en círculo, decimos que en la entrada correspondiente
del multiplexor se colocará la variable escogida (en nuestro caso la A) en la forma que
aparezca con círculo que aquí sería A para la tercera columna y A' para la cuarta
columna. Regularmente nuestra tabla, luego del análisis, quedaría:
Por lo tanto, nuestra implementación de la función F de
tres variables con un multiplexor de 4 a 1 (con sólo dos
líneas de selección) nos quedaría:
La entrada I1
puede ir directamente
conectada a UNO (1 ó Vcc) y ahorrarnos ese
inversor.
Yo decidí poner B y C en las entradas de
selección pero podría ir cualquier combinación de dos variables. Lo único que hay que
tener en cuenta es que la tabla no lleva los términos mínimos organizados de la
misma forma. Supongamos que queremos poner A y B en las líneas de direccionamiento,
entonces nuestra tabla sería:
I0
I1
I2
I3
A' 0 (1) 2 (3)
A 4 (5) (6) 7
I0
I1
I2
I3
A' 0 (1) 2 (3)
A 0 (5) (6) 7
0 1 A A'
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
Ya que C es el bit menos significativo y para las casos
donde A y B son cero con C' tenemos el cero y con C el
uno, Si A=0 y B=1 entonces en C' tenemos 2 y en C tres,
y así sucesivamente. Aquí ya sólo nos quedaría
implementar el circuito que sería colocando A en S1
, B
en S0
, C en I0
e I1
e I2
y por último C' en I3
. Haga el
esquemático.
Por último con respecto a este mismo ejemplo, demuestre que si quisiéramos colocar B
en la entrada, la tabla quedaría:
y dibuje el esquemático.
Veamos como último ejemplo de ésto la función
F(A,B,C,D)=∑(2,5,6,7,10,11,12,14). Suponiendo que
queremos cablear A en la entrada, nuestra tabla aquí
sería:
I0
I1
I2
I3
I4
I5
I6
I7
A' (0) (1) 2 (3) (4) 5 6 7
A (8) (9) 10 11 12 13 14 (15)
1 1 0 A' A' 0 0 A
Y el circuito sería:
Aquí también podemos eliminar el uso
de uno de los inversores y cablear
directo a 0 ó 1 dependiendo del caso.
Haga este ejercicio para los casos con
B, C ó D a la entrada del multiplexor.
I0
I1
I2
I3
C' 0 2 4 (6)
C (1) (3) (5) 7
C C C C'
I0
I1
I2
I3
B' 0 (1) 4 (5)
B 2 (3) (6) 7
0 1 B B'
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
Diseño combinacional con demultiplexores.
Este tema será visto mejor más adelante con el uso de decodificadores pero igual será
comentado brevemente aquí. Al presentar los demultiplexores se comentaba el hecho de
que cada una de las salidas coincide algebraicamente con un término mínimo diferente
de las variables de entrada. Por tanto es inmediato sintetizar directamente cualquier
función de n variables mediante un demultiplexor con n líneas de selección y una
puerta OR que agrupe las salidas correspondientes a los términos mínimos que
aparecen en la expresión canónica como suma de productos de la función. Veamos por
ejemplo la implementación de un generador de un bit de paridad impar para un código
de 3 bits. Su tabla de verdad sería:
No hacemos mapa de Karnaugh ya que simplificar la
función no es requerido en este tipo de ejercicios debido a
que la implementación será hecha a nivel MSI y lo único
que nos interesa realmente es que términos mínimos
conforman la función.
De la tabla de la verdad anterior podemos concluir que la
implementación de esa función lógica a través de un
demultiplexor sería:
La entrada E' es el bit de habilitación del IC.
A B C f
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
UNIVERSIDAD TECNOLOGICA DEL PERÚ F.I.E.M CIRCUITOS DIGITALES I
DOCENTE: ING. Luis Pacheco Cribillero
EJERCICIOS
1. Implemente un multiplexor de 8 bits de entrada (dos nibbles indicando dos datos
diferentes) y dos de salida (uno de cada nibble) mediante multiplexores de 2 a 1.
2. Implemente un multiplexor con dos números binarios de 3 bits (X2
, X1
, X0
y Y2
, Y1
,
Y0
) como entrada que transmita una u otra a la salida Z (Z2
, Z1
y Z0
) con la ayuda de
una única línea de selección usando multiplexores de 2 a 1.
3. Implemente la siguiente función con multiplexores 8 a 1 y 4 a 1:
F(A,B,C)=∑(0,1,4,7). En el caso de 4 a 1, hágalo de las tres formas posibles (Con A,
B ó C a la entrada del multiplexor).
4. Implemente las siguientes funciones con multiplexores de forma óptima (para
funciones N variables use multiplexores de N-1 líneas de selección):
F(A, B, C, D) = ∑(0,4,6,10,11,13)
F(w, x, y, z) = ∑(3,4,5,7,11,12,14,15)
F(a, b, c, d) = ∑(3,5,7,11,15)
F(A, B, C, D, E) = ∑(0,1,2,8,9,11,15-19,24,25,29-31)
F(A, B, C, D, E, F) = ∑(0,2,4,5,7,8,16,18,24,32,36,40,48,56)
5. Un número primo es aquel que sólo es divisible entre si mismo y la unidad. Diseñe
un circuito lógico que detecte todos los números primos entre 0 y 31. La salida
F(A, B, C, D, E), donde A es la variable de mayor peso binario, será igual a 1, si y
sólo si, los cinco bits de la entrada representan un número primo. Realice el
circuito óptimo utilizando un multiplexor.
6. Diseñe un circuito que convierta de BCD a exceso a 3 con multiplexores.
7. Diseñe un circuito que convierta de BCD a 84-2-1 con multiplexores.