Electrónica Digital
Circuitos Combinacionales – Decodificadores
3.1 – PROBLEMA (5 BOLETÍN CLASE)
El circuito de la figura es un decodificador de 2 a 4.
a. Obtener la tabla de verdad. Describir el comportamiento del circuito. ¿Qué
función tiene la entrada “EN”?
b. Escribir un programa en VHDL para describirlo.
Con sentencias concurrentes (WHEN … ELSE).
Con sentencias concurrentes (WHITH … SELECT).
Con sentencias secuenciales (CASE …).
3.2 - PROBLEMA
Escribir un programa en VHDL para el decodificador 74138. (WITH … SELECT)
3.3 - PROBLEMA
Implementar los siguientes decodificadores:
- 5 a 32 utilizando 74154
- 6 a 64 utilizando 74154
- 5 a 32 utilizando 74138
- 4 a 16 utilizando 7442
- 5 a 32 utilizando 7442
3.4 - PROBLEMA
Realizar un multiplexor de 16 canales usando para ello: 2 C.I. 74153 (doble multiplexor
de 4 canales), 1 C.I. 74139 (doble decodificador de 2 a 4) y puertas NAND.
3.5 - PROBLEMA
Diseñar un circuito que detecte la presencia de 2 y sólo 2 ceros en palabras binarias de 4
bits.
− Utilizar decodificadores 74154 (4 a 16) y puertas NAND – 3.
− Hacerlo también con decodificadores 74138 (3 a 8) y puertas NOR – 3.
3.6 - PROBLEMA
Implementar la siguiente función lógica con decodificadores 74154 y las puertas que se
necesiten F(e, d, c, b, a ) = e ⋅ d ⋅ c ⋅ b + e ⋅ d ⋅ b ⋅ a .
Electrónica Digital
Circuitos Combinacionales – Decodificadores
3.7 - PROBLEMA
- Implementar un conversor de código BCD - natural a BCD – Aiken con 7442.
- Implementar un conversor de código BCD - natural a código Johnson con 7442.
- Implementar un conversor de código BCD + 3 a decimal con 7442.
- Implementar un conversor de código BCD - Aiken a decimal con 7442.
3.8 - PROBLEMA NOV13
Se pretende diseñar un circuito combinacional que recibe a su entrada un número de 4
bits: x3 x2 x1 x0 (x0 es el LSB). El objetivo es que nuestro circuito convierta el código
Johnson recibido, en BCD natural, utilizando decodificadores 74138 y puertas lógicas.
Suponer que en la entrada siempre tendremos una combinación válida de Johnson.
3.10 - PROBLEMA (6 BOLETÍN CLASE)
Diseñar en VHDL un convertidor de código BCD a BCD exceso a tres, a la entrada del
circuito un número en BCD (X), y a la salida su equivalente (Y) en BCD exceso a tres.
3.11 - PROBLEMA (14 BOLETÍN CLASE)
Diseñar en VHDL un circuito que convierta un número binario de 4 bits B(3:0) a código
Gray G(3:0). Utilizar la sentencia FOR … LOOP.
3.12 - PROBLEMA (15 BOLETÍN CLASE)
Diseñar en VHDL un convertidor de código Gray G(3:0) a binario de 4 bits B(3:0).
Utilizar la sentencia FOR … LOOP.
3.13 - PROBLEMA (16 BOLETÍN CLASE)
Probar el correcto funcionamiento de los convertidores diseñados en los dos ejercicios
anteriores. Para ello crear un proyecto nuevo en el que se acoplarán mediante
instanciación los dos circuitos, de tal forma que se introduzca un número binario
(Entrada(3:0)), se convierta a Gray en el primer circuito, y a continuación se vuelva a
convertir a binario en el segundo, obteniendo de nuevo la salida en binario (Salida(3:0))
que debe coincidir siempre con el número de entrada. Se han de incorporar a este
proyecto los ficheros de descripción de cada uno de los convertidores, e instanciarlos
como componentes en un tercer fichero VHDL.
Electrónica Digital
Circuitos Combinacionales – Decodificadores
3.14 - PROBLEMA
Dado el siguiente circuito, ¿qué salidas hay que conectar a la entrada de la puerta AND
para obtener la función f = ∑ (1,2,6,7) + ∑ (0,4) ?.
3 0
3.15 - PROBLEMA
Realizar un circuito combinacional que detecte la igualdad o desigualdad de 2 números
de 6 bits. (a5 a4 a3 a2 a1 a0) y (b5 b4 b3 b2 b1 b0). Disponemos de 2 decodificadores
BCD / DEC 7442, 2 multiplexores de 8 canales 74151, una puerta AND–2.
3.16 - PROBLEMA
Tenemos un circuito con 8 fuentes de datos que compartirán un decodificador
BCD/OCTAL conectado a un display de 7 segmentos. ¿Cuántos MUX hacen falta y
cuantos canales tiene cada MUX?
a) 4 MUX x 4 canales
b) 4 MUX x 8 canales
c) 8 MUX x 4 canales
d) 8 MUX x 8 canales
3.17 – PROBLEMA NOV16
Diseñar un circuito combinacional que cuente los unos en palabras de 4 bits con el
decodificador 74ALS138 y puertas NAND-4.
3.18 – PROBLEMA NOV17
Realizar el circuito combinacional de 3 entradas y 4 salidas que se muestra en la tabla
siguiente, utilizando únicamente el decodificador 74ALS138 y puertas NAND de
cualquier número de entradas.
ON E1 E0 CE CLEAR LD RS
X 0 0 X 1 X 1
0 0 1 0 0 0 0
1 0 1 1 0 0 0
X 1 0 0 0 1 0
X 1 1 X 1 0 0
Electrónica Digital
Circuitos Combinacionales – Decodificadores
3.19 – PROBLEMA NOV17
El circuito de la figura se utiliza para mostrar dos números de 2 dígitos cada uno (Nº 1 y
Nº 2) en un único display de 2 cifras (decenas y unidades).
- Si la señal “SEL” toma el valor 1 se mostrará el Nº 1 y si es 0 se mostrará el Nº 2.
- Se trata de reemplazar los circuitos discretos 74ALS157 y 7447 por un dispositivo
programable en VHDL.
- La interfaz del diseño dispondrá de las siguientes entradas: “SEL” y 4 vectores
“DEC1”, “DEC2”, ”UNI1”, “UNI2” y en las salidas 2 vectores “SEG_DEC” y
“SEG_UNI”.
a) Crear un módulo MUX con el código del multiplexor 74ALS157. Se incluirá un
testbench con suficientes casos para comprobar su correcto funcionamiento.
b) Crear el módulo del circuito completo e instanciar en él los módulos del MUX y del
decodificador de 7 segmentos. Se incluirá un testbench…
DEC1 UNI1 DEC2 UNI2
4
4 4
4
I1 I0 I1 I0
SEL
S EN S EN
4 4
DECO – 7 SEG DECO – 7 SEG
SEG_DEC SEG_UNI
Electrónica Digital
Circuitos Combinacionales – Decodificadores
3.20 - PROBLEMA SEP08
a) Mediante decodificadores como el de la figura, generar un decodificador de 4
entradas a nivel alto, 16 salidas a nivel bajo y una entrada a nivel bajo de activación
(G). Usar 4 o 5 decodificadores e inversores si es necesario.
1 0
2 1
2
EN 3
b) Usando el decodificador anterior, diseñar un sistema combinacional de 16 entradas
A[15..0] y 5 salidas #CS[4..0], de manera que cada salida se active a nivel bajo para
el margen de combinaciones binarias de entrada indicada en la tabla.
A[15..0] (HEX) SALIDA
INICIAL FINAL
0000 07FF #CS0
0800 17FF #CS1
1800 37FF #CS2
5800 5FFF #CS3
7000 7FFF #CS4
Electrónica Digital
Circuitos Combinacionales – Decodificadores
3.21 - PROBLEMA FEB08
En el circuito de la figura 1, mediante los bits de la línea de direcciones A[7..0] y un
decodificador, se selecciona qué dato de cuatro bits, X Y U o V, se envía por el bus
D[3..0]. El margen de direcciones que seleccionan esta transmisión es únicamente el
mostrado en la tabla 1, para cualquier otra dirección no se transmite ninguno de los
datos.
A[7..0] (HEX) D[3..0]
08 0F X
20 27 Y
28 2F U
60 6F V
Para enviar sin conflictos los datos de 4 bits por el bus D[3..0] se emplean
circuitos 74HCT244 (un doble buffer de 4 bits con salida triestado), cuyo símbolo y
tabla de funcionamiento se muestran a continuación.
INPUTS OUTPUT
nOE nAn nYn
L L L
L H H
H X Z
1. Suponga que se tienen los datos en decimal X=3, Y=8, U=10 V=15. Complete la
siguiente tabla indicando el nivel lógico de las salidas Y8 … Y1 de los buffer
triestado SEL1 y SEL2, así como de las líneas del bus D3 … D0.
A[7..0] (HEX) (SEL2) Y8 Y7 Y6 Y5 (SEL1) Y4 Y3 Y2 Y1 D3 D2 D1 D0
0A
21
6E
74
2. Realizar las conexiones oportunas de la figura empleando una única puerta
adicional para lograr la correcta transmisión de los datos, únicamente para los
rangos de dirección indicados, no enviándose ninguno de ellos para cualquier
otra dirección.