Está en la página 1de 15

Unidad III – Diseño de Circuitos Combinacionales – Parte 3

Clase #13 – Diseño con Multiplexores

Lógica Digital
Prof. Ricardo Villegas
Contenido
 Diseño de Circuitos Selectores
 Diseño con Multiplexores (MUXs)
• Definición, Casos de Estudio, Tipos de MUXs
• Expansión de MUXs
• Aplicaciones de los MUXs
• Implementación de funciones lógicas con MUXs
Diseño de Circuitos Selectores
Problema: Diseñar un circuito que dado un par de entradas múltiples A y B de n bits cada una, coloque en la salida
una de ellas dependiendo del valor de una señal de selección.
Análisis:
A partir de los teoremas T1 y T2 del álgebra de Boole:
T1) x + 0 = x ; x ⋅ 1 = x
T2) x + 1 = 1 ; x ⋅ 0 = 0
, es posible deducir que podemos utilizar el valor de una señal simple para filtrar un conjunto de entradas
simultáneas usando el operador AND: si la señal de selección vale 0, las entradas “desaparecen” (se van a 0); en
caso contrario, las entradas “pasan” con el valor que tengan los bits de sus elementos.
Finalmente, se pueden recopilar los elementos de la salida deseada con el operador OR, ya que un conjunto de las
entradas habrán sido filtradas y sus bits serán 0s, mientras que el otro conjunto habrá pasado sin modificación

Ejemplo:
A1 A0 Sel B1B0
Para dos entradas A y B de 2 bits cada una, la salida S debe ser A ó B
dependiendo de la señal de selección Sel.
0 → S = A
Sel = 
Cuando Sel vale 0, las AND que operan
1 → S = B
con B llevan sus salidas a 0, mientras
que las que operan con A mantienen los
Diagrama de Caja Negra valores de A puesto que Sel está negada
y vale 1; ocurre algo similar por simetría
Sel cuando Sel vale 1.

2
Las OR agrupan los valores del lado que
A
2 prevalece y los llevan a las salidas.
Selector

2 S
B
El diseño es generalizable para entradas
S1 S0
y salidas de mayor dimensión.
Diseño con Multiplexores (MUXs)
 Multiplexor (MUX):
Dispositivo que selecciona una de varias entradas posibles y coloca su valor en una única salida.
- Distribuye o encamina las entradas hacia la salida.

I0 • Tiene m entradas de datos y n entradas de control o selección


I1 Sn-1..S0 → m = 2n
m I2 • Las entradas de control determinan la entrada seleccionada.
Y

Im-1 MUX m:1 → m entradas, 1 salida

 Caso de Estudio – MUX 4:1 Circuito Lógico


Diagrama de Caja Negra Bloque Funcional
A B E A B Y
A B
1 X X 0 I0
I0 I1 MUX
I1 MUX
0 0 I0 I2 4:1
Y
Y
I2 4:1 0 1 I1 I3
I3 0
E

1 0 I2
1 1 I3
E

E es una entrada de habilitación en activo bajo. Cuando vale 1, el


MUX está desactivado y la salida siempre es 0; en caso contrario,
la salida depende de lo que esté conectado en las entradas de
datos y la configuración de las entradas de selección.
Expansión de Multiplexores
Existen 4 tipos básicos de MUX → 2:1, 4:1, 8:1, 16:1
- Cualquier otra configuración m:1 puede implementarse con base a los anteriores → árboles de MUX

I0 A B C I0 A B C D
A B I1 I1
I0
A I2 I2 MUX en Circuitos Integrados TTL
I0MUX Y I1MUX Y I3 MUX MUX 74157 → (4x) MUX 2:1
I1 2:1 I2 4:1 I4 8:1 Y 16:1
Y
74153 → (2x) MUX 4:1



I5
I3 I6 I14 74151 → (1x) MUX 8:1
I7 I15 74150 → (1x) MUX 16:1

Árboles de MUX
Conjunto de MUX organizados en capas, comenzando en una capa inicial con varias entradas y cuyas salidas son
entradas de la siguiente capa y así van convergiendo progresivamente en cada capa hacia una única salida.
• Las variables de selección menos significativas (varían más rápidamente) se distribuyen en las entradas de
selección de las capas iniciales del árbol, mientras que las más significativas (varían más lentamente) aparecen
en las entradas de selección de las capas finales.
Entradas de
selección
0
M:1


M:1
Salida final
Entradas iniciales

de datos 0

M:1

Capa final Estructura de


árbol
0
M:1

Capa inicial
Ejemplo: Supongamos que se desea construir un árbol de MUX que se comporte como un MUX 8:1 pero basado en
MUXs más pequeños, es decir 2:1 y 4:1. Existen diversas configuraciones posibles, pero lo importante es entender
que el árbol debe comenzar en una capa que tiene 8 entradas, finalizar en una sola salida y que las tres entradas de
selección que tendría un MUX 8:1, deben distribuirse en las entradas de selección de los MUXs utilizados en el árbol.

Variables de Selección Opción #1: Árbol de MUX 2:1 solamente

A B C C
0 0 0 I0 0
B
I1 2:1
0 0 1 3 variables para 1

0 1 0 manejar 23 = 8 C 0
2:1
0 1 1 entradas de datos I2
1
A
0
2:1
1 0 0 I3 1

1 0 1 C
0
1
2:1 Y
1 1 0 En las soluciones se omiten I4 0
B
2:1
1 1 1 C varía más rápido; las entradas de habilitación I5 1

A varía más lento de los MUX por simplicidad. C


0
1
2:1
I6 0
2:1
I7 1

Opción #2: Árbol mixto de MUX 4:1 y 2:1


B C
Opción #3: Árbol mixto de MUX 2:1 y 4:1
I0 0 C
I1 I0
1
MUX I1
0
1
2:1
A B
I2 2 4:1 A
C
I3 3
I2 0
0
MUX 2:1
B C 0
Y I3 1 1
MUX
2:1 Y
1
C 2 4:1
I4 0
I4 0 3
2:1
I5 I5 1
1
MUX
I6 2 4:1 C
I7 I6 0
3
2:1
I7 1
Ejemplo: Implementar un MUX 32:1 basado en árboles de los MUXs existentes (2:1, 4:1, 8:1, 16:1).
En este ejemplo existen mayor cantidad de configuraciones posibles; se ilustrarán solamente dos de ellas.
Diagrama de Caja Negra Opción #2: Árbol mixto de MUX 8:1 y 4:1
S2 S1 S0
S4 S3 S2 S1S0
Un MUX 32:1 tiene 32 entradas
de datos y requiere 5 entradas I0 I0 A B C
de selección ya que 25 = 32 I0 I1 I1
MUX
I1 8:1 Y



MUX


Y I6 I6
32:1 I7


I7
I31
E

S2 S1 S0
E I8 I0 A B C
I9 I1
Opción #1: Árbol mixto de MUX 16:1 y 2:1 MUX S4 S3
8:1 Y




S3 S2 S1 S0 I14 I6 A B
I15 I7 I0
I0
E
0 A B C D I1 MUX
I1 E Y Y
1
S2 S1 S0 I2 4:1
MUX
Y I3

16:1

E
I14 I16 I0 A B C
14 S4 I17 I1
I15 15 E MUX
8:1 Y




A
I22 I6
Y
E 0 MUX
S3 S2 S1 S0 2:1
Y I23 I7 E
1
E
I16 A B C D
S2 S1 S0
0

I17 1

MUX
La entrada externa E de I24 I0 A B C

16:1

Y
I25 I1
I30 14 habilitación es común para MUX
las entradas de habilitación 8:1 Y



I31 15
I30
de todos los MUXs del árbol. I6
E
I31 I7 E
Circuito Selector: Selección y distribución de datos Aplicaciones de los Multiplexores
provenientes de diferentes fuentes o dispositivos.
S1 S0 Dato
S1 S0 Circuito Multiplexor: Compartir un único canal de
0 0 Disp0 salida entre varios canales de entradas o emisores.
x0 I0
A B 0 1 Disp1

I1 MUX 1 0 Disp2
x1 Y muestreo cíclico de canales Recorrido en alta
Dispositivo 0 I2 4:1 1 1 Disp3 frecuencia por todas
x2 I3 las combinaciones
Canal0 de las variables de
x3 selección
S1 S0 Canal1 MUX
Salida
M:1


x0 I0
A B Canalm-1
Dato
x1 I1 MUX
Y
Dispositivo 1 I2 4:1 x0
x2
I3
x1
x3
x2 Implementación de funciones lógicas: Utilizar un
S1 S0 MUX o un conjunto de ellos para implementar el
x3 comportamiento de una función lógica.
x0 A B
I0
x1 I1 MUX
Dispositivo 2 Y
x2 I2 4:1
I3 X Y F Vcc
x3 X Y
0 0 1
S1 S0 A B
I0
0 1 0
x0 I1MUX Y
A B 1 0 0 I2 4:1
F
x1 I0

Dispositivo 3 I1 MUX 1 1 1 I3
x2 I2 4:1
Y E

x3 I3
 Implementación de funciones lógicas con MUX
Objetivo: Utilizar un solo MUX o un árbol de MUX para implementar funciones lógicas.
Ejemplo: Puede observarse que si colocamos en las entradas de
Vcc
X Y datos del MUX los valores deseados (salidas) de la tabla de
X Y F la verdad de la función, la combinación apropiada de
I0
A B valores en las variables de selección proporcionará el valor
0 0 1 esperado de la función en la salida del MUX.
I1 MUX
Y F
0 1 0 I2 4:1
1 0 0 I3
E Enable a GND → MUX siempre activado
1 1 1

 Caso 1 - Base: El MUX tiene tantas entradas de selección como variables tiene la función.
• En este caso tendremos tantas entradas de datos en el MUX como filas tiene la tabla de la verdad de la función.
• Las entradas del MUX estarán conectadas con 1s y 0s (Vcc y GND).
• Si la función tuviese “don’t care”, habría que decidir cuales valdrán 0s y cuales 1s.

Vcc
Ejemplo: a b c
a b c F Las implementaciones tipo

F ( a , b, c ) = ∑ (0,2,3,5)
“caso base” son simples y
0 0 0 1 I0 A B C directas con respecto a la
I1
0 0 1 0 I2 definición de la función en su
I3 MUX tabla de la verdad.
0 1 0 1 I4 8:1 Y F Sin embargo, requiere un MUX
I5 suficientemente grande para
0 1 1 1
I6
I7 E que acepte todas las variables
1 0 0 0
de la función en sus entradas
3 variables → n=3 1 0 1 1 de selección.
23 = 8 → MUX 8:1

?
1 1 0 0
1 1 1 0 Ejercicio: F ( w, x, y , z ) = ∏ ( 4,5,7,8,12,15)
 Caso 2: El MUX tiene menor cantidad de entradas de selección que la cantidad de variables de la función.
• También hay menos entradas de datos en el MUX que las filas de la tabla de la verdad de la función.
• De acuerdo con esto, si nf es el número de variables de la función y n el número de entradas de selección del MUX:
→ nf > n → r = nf - n ; aparecen r variables “residuales” que no “caben” en el MUX.
• Las entradas de datos van a estar ahora expresadas en relación con las variables residuales:
-Estarán conectadas con 0s, 1s y expresiones que contienen a las variables residuales.
• Si el enunciado no especifica cuales son las variables de selección o residuales a usar, estas deben escogerse pero
tomando en cuenta lo siguiente:
IMPORTANTE: el cambio del conjunto de variables de selección produce una implementación equivalente
de la función pero complemente diferente → Se genera un circuito equivalente diferente.

 Caso 2.a – Una variable residual: El número de entradas de selección del MUX es menor en 1 que la cantidad de
variables de la función → r = nf - n = 1 → una sola variable residual.
• Se determinan las expresiones a conectar en las entradas de datos por inspección de la tabla de la verdad.
- Para una sola variable residual, las únicas expresiones posibles son la variable o la variable negada.

Ejemplo: Implementar F con MUX 4:1, tomando a y b como variables de selección.

F ( a , b, c ) = ∑ (0,2,3,5) a b c F ¿Cómo cambia F en relación con c?


c a b
0 0 0 1 F:
MUX 4:1 → 2 ent. selección c b A B
a
0 1 I0
nf = 3 ; n = 2
0 0 1 0
Vcc I1 MUX Y
r = 3-2 = 1 var. residual → c 0 1 0 1 0 c 1 F
1 I2 4:1
0 1 1 1 1 c 0
I3
Combinaciones 1 0 0 0
E

posibles de a y b c Este MK está en función de las


1 0 1 1
variables de selección y ayuda
1 1 0 0 a visualizar que se debe
0 conectar en las entradas del ¿Cómo cambiaría el circuito si las
1 1 1 0
MUX para cada combinación. variables de selección no son a y b?
Ejemplo: Implementar F con MUX 8:1, tomando w, x, y como variables de selección.

F ( w, x, y , z ) = ∏ (0,1,3,5,10,12,13,15) + φ (6,14 )

MUX 8:1 → 3 ent. selección


nf = 4 ; n = 3
r = 4-3 = 1 var. residual → z

w x y
F: z
w x y z F xy
w 00 01 11 10
I0 A B C
0 0 0 0 0
0 0 0 z z z I1
0 0 0 1 0 I2
1 1 0 I3 MUX
0 0 1 0 1 z z Vcc I4 8:1 Y F
z I5
0 0 1 1 0 I6
I7 E
0 1 0 0 1
0 1 0 1 0
z
0 1 1 0 φ
0 1 1 1 1
z ó 1 ≈ z + z ⋅φ φ =0→z
1 0 0 0 1
1 0 0 1 1
1 • Las expresiones se deducen del valor
de F con respecto a z si φ es 0 o 1.
1 0 1 0 0 • En este momento decidimos cuanto
z vale cada φ y por lo tanto la expresión

?
1 0 1 1 1
resultante que irá conectada en la ¿Cuáles serían los circuitos
1 1 0 0 0
entrada respectiva del MUX. resultantes si las variables de
1 1 0 1 0 0 selección fuesen wxz, wyz o xyz?
1 1 1 0 φ φ =1→ z
1 1 1 1 0
0 ó z ≈ z ⋅φ
 Caso 2.b – Dos o más variables residuales: El número de entradas de selección del MUX es menor al menos en 2
que la cantidad de variables de la función → r = nf - n ≥ 2 → más de una variable residual.
• Se determinan las expresiones a conectar en las entradas de datos por simplificación de expresiones con MK:
-Se construyen tantos mapas de Karnaugh con respecto a las variables residuales como combinaciones existan de
las variables de selección y se llenan con los valores correspondientes de la función a implementar.
- De cada mapa se obtiene una expresión simplificada que es función de las variables residuales y se conecta a la
entrada de datos correspondiente del MUX.

Ejemplo: Implementar F con MUX 4:1, tomando C y D como variables residuales.


F ( A, B , C , D ) = ∑ (1,2,3,4,7,11,12,13,15)
Mapa de Karnaugh para
A B C D F MUX 4:1 → 2 ent. selección las entradas de datos
nf = 4 ; n = 2 F:
B
0 0 0 0 0
r = 4-2 = 2 var. residuales → CD; AB sel. 0 1
0 0 0 1 1 A
0 C+D C⊕D
0 0 1 0 1 AB=00 AB=01
1 C +D
0 0 1 1 1
f0: f1 :
C⋅D
D D
0 1 0 0 1 0 1 0 1
C C
0 1 0 1 0 0 0 1 0 1 0 C D
0 1 1 0 0 1 1 1 1 0 1
0 1 1 1 1
AB
1 0 0 0 0
f0 = C + D f1 = C ⊕ D A B
I0
1 0 0 1 0 AB=10 AB=11 I1 MUX Y
F
1 0 1 0 0 f2 : f3: I2 4:1
D D I3
1 0 1 1 1 0 1 0 1
C C E
1 1 0 0 1 0 0 0 0 1 1
1 1 0 1 1 1 0 1 1 0 1
1 1 1 0 0 ¿Cómo cambiaría el circuito si las
f2 = C ⋅ D f3 = C + D variables de selección no son A y B?
1 1 1 1 1
Ejemplo: Implementar H con MUX 2:1, tomando: H (r , s, t ) = ∏ (0,2,6) + φ (7) MUX 2:1 → 1 ent. selección
a) r como variable de selección. nf = 3 ; n = 1
b) rs como variables residuales. r = 3-1 = 2 var. residuales

a) r s t H r=0 r=1
0 0 0 f0: f1 : r
t 0 1 t 0 1
s s
0
0 1 1
0 1 1 1 0 → H = t
0 0 A
1 0 0 r= t I0 MUX
1 → H = s
Y H
1 1 1
1 0 1 1 0 φ s I1 2:1
E
0 0 1
f0 = t f1 = s
0 1 1
1 1 0 0
Mapa de Karnaugh para
1 1 φ
las entradas de datos

b) r s t H t=0 t=1
0 0 0 0 f0 : f1:
s s
0 1 0 1
0 0 1 1 r r
t
0 0 0 0 1 1 0 → H = r ⋅ s r
t=
0 1 0 0

1 → H = 1
A
1 1 0 1 1 φ
0 1 1 1
s I0MUX Y
I1 2:1
H
1 0 0 1
f0 = r ⋅ s f1 = 1 Vcc E
1 0 1 1
1 1 0 0
1 1 1 φ
Ejemplo: Implementar F según las siguientes especificaciones: F ( a, b, c, d ) = ∑ (1,2,3,6,9,13) + φ (12,15)
1) Con MUX 4:1, ab de selección
2) Con MUX 4:1, ad residuales MUX 4:1 → 2 ent. selección MUX 2:1 → 1 ent. selección
3) Con MUX 2:1, a de selección nf = 4 ; n = 2 nf = 4 ; n = 1
r = 4-2 = 2 var. residuales r = 4-1 = 3 var. residuales
a b c d F 1)
ab=00 ab=01 ab=10 ab=11 c d
0 0 0 0 0
0 0 0 1 1 f0 : f1 : f2: f3: d 0
a b
d d d 1
0 1 0 1 0 1 c
0 0 1 0 1 c c c A B
0 0 1 0 0 0 0 0 1 0 φ 1 I0
0 0 1 1 1 I1 MUX Y
0 1 0 0 0
1 1 1 1 1 0 1 0 0 1 0 φ I2 4:1
F

0 1 0 1 0 I3
f0 = c + d f1 = c ⋅ d f2 = c ⋅ d f3 = d E

2)
0 1 1 0 1
0 1 1 1 0
bc=00 bc=01 bc=10 bc=11 a d
1 0 0 0 0
f0 : f1 : f2: f3: d b c
1 0 0 1 1 d d d
0 1 0 1 0 1 a 0 1
a a a
1 0 1 0 0 A B
0 0 1 0 1 1 0 0 0 0 1 0 I0
1 0 1 1 0 I1 MUX Y
1 0 1 1 0 0 1 φ 1 1 0 φ 4:1
F
1 1 0 0 φ I2
f0 = d f1 = a f2 = a f3 = a ⋅ d = a + d I3
1 1 0 1 1 E
1 1 1 0 0 3) bc d
1 1 1 1 φ a=0 a=1
f0 : f1: a
cd cd 00
00 01 11 10 01 11 10
b b A
0 0 1 1 1 0 0 1 0 0 I0MUX Y
I1 2:1
F
1 0 0 0 1 1 φ 1 φ 0
E
f0 = b ⋅ d + c ⋅ d f1 = c ⋅ d
 Implementación de funciones lógicas con árboles de MUX Ejemplo: Implementar F con un árbol de MUX 4:1.
Utilizando una técnica similar a la expansión de MUXs, se F ( w, x, y , z ) = ∑ (1,2,3,6,9,13) + φ (12,15)
organiza un árbol de MUXs distribuyéndolos en capas según
los siguientes principios:
• Las entradas de datos de los MUXs de la capa más externa y z

están conectadas a los valores de la función según su A B


I0
definición en la tabla de la verdad.
I1 MUX
• Las capas intermedias convergen progresivamente hacia Y
I2 4:1
el MUX de la última capa. Vcc I3
• La salida del MUX de la última capa representa el valor de
la función implementada. y z

• Las variables de la función se van distribuyendo en las A B


entradas de selección de los MUXs, partiendo desde la I0
I1 MUX
capa más externa con las variables que varían más Y
Vcc I2 4:1
rápidamente hasta las que varían menos frecuentemente w x
I3
ubicadas en las últimas capas. A B
y z I0
I1MUX Y
A B F
I0 I2 4:1
Vcc I1 MUX I3
Y
• Para esta implementación, los “don’t care” de I2 4:1
los términos 12 y 15 se han establecido I3
deliberadamente en 1 y 0, respectivamente. y z
• Por simplicidad se han omitido las entradas de
habilitación (E, enable) de los MUX; todas A B
I0
deben estar conectadas a GND. Vcc I1 MUX
• Implementaciones con otras configuraciones Y
árboles de MUXs son posibles y se dejan I2 4:1
planteadas como ejercicio. I3

También podría gustarte