0% encontró este documento útil (0 votos)
121 vistas4 páginas

Boletin 2

1. El documento trata sobre circuitos combinacionales MSI y contiene varios ejercicios prácticos sobre su diseño e implementación. Incluye problemas sobre el cálculo de retardos de propagación, diseño de puertas lógicas personalizadas usando puertas básicas, implementación de funciones booleanas, diseño de circuitos de votación y decodificadores, entre otros. Los ejercicios proponen soluciones tanto con componentes lógicos discretos como mediante descripción en lenguaje VHDL.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
121 vistas4 páginas

Boletin 2

1. El documento trata sobre circuitos combinacionales MSI y contiene varios ejercicios prácticos sobre su diseño e implementación. Incluye problemas sobre el cálculo de retardos de propagación, diseño de puertas lógicas personalizadas usando puertas básicas, implementación de funciones booleanas, diseño de circuitos de votación y decodificadores, entre otros. Los ejercicios proponen soluciones tanto con componentes lógicos discretos como mediante descripción en lenguaje VHDL.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CIRCUITOS COMBINACIONALES MSI.

1. Determinar el retardo de propagación máximo desde la entrada IN a la salida OUT


del circuito de la figura para las transiciones de Alto a Bajo y de Bajo a Alto,
suponiendo que los retardos que indica el fabricante son: tPHLmax= 12 ns tPLHmax 15 ns

2. Se desea diseñar una puerta BUT que dispone de 4 entradas: A1, A2, B1, B2, y 2
salidas: Z1, Z2. El funcionamiento sería el siguiente: Z1 es 1 si A1 y B1 son 1
mientras A2 o B2 son 0. La salida Z2 funcionaría de forma simétrica.
a. Diseñar este circuito con el menor número de puertas posible. Solamente se
dispone de los integrados: 7400, 7404, 7410, 7420 y 7430.
b. Escribir el código VHDL para realizar esta puerta.

3. Dada la función de 4 variables F=∑(5,7,10,11,13,14), implementarla mediante una


puerta BUT (definida en el ejercicio anterior) y una OR de 2 entradas. Escribir el
código VHDL que resuelva este problema instanciando la puerta BUT del problema
anterior y probarlo con todas las combinaciones posibles de las entradas.
4. Describir la función que realiza el circuito de la figura. Indicar los niveles activos de
las entradas y salidas, y especificar concretamente la función de cada una.

1
5. Un sistema sencillo para hacer votación secreta, es utilizar un circuito
combinacional cuyas entradas están controladas por interruptores que pueden
accionar los miembros del jurado. La salida del circuito será “0” ó “1 ” en función
de cómo hayan puesto los interruptores la mayoría de miembros del jurado. El
sistema que queremos realizar es el siguiente:

Hay dos tribunales A y B. A tiene cuatro miembros (a,b,c,d) y B tres (e,f,g). El


veredicto será:
- El del tribunal A en caso de que en este no se produzca empate.
- Si se produce empate en el tribunal A, el veredicto será el del tribunal B.

Se recomienda diseñar el circuito según el diagrama de bloques adjunto, según el


cual se pueden diseñar por separado.
a) Realizar cada circuito con decodificadores hexadecimales (74154) y puertas
NAND.
b) Diseñar este circuito en VHDL. En este caso no es preciso seguir el
diagrama de bloques propuesto.

F1
a
b Circuito A F2
c
d
F
Circuito C

e
F3
f Circuito B

6. Diseñar en VHDL un convertidor de código BCD a BCD exceso a tres, a la entrada


del circuito se recibe un número en BCD (X), y a la salida debemos obtener su
equivalente (Y) en BCD exceso a tres.
7. Diseñar un decodificador 1 a 16 utilizando decodificadores 74LS138.
8. Realizar un multiplexor de 16 canales utilizando los integrados 74HC151 y
74HC157, sin ninguna otra lógica.
9. Implementar la función z=c’ba’+dc’b’a+d’cb’a’ utilizando el 74HC151 y los
inversores necesarios.
10. En la figura se muestra un decodificador que actúa como interfaz entre un
microprocesador y un módulo de memoria. El módulo de memoria puede recibir
datos del microprocesador (una operación de Escritura) o enviarle datos (operación
de Lectura). Los datos se transfieren mediante el bus de datos. Para hacer las
operaciones de Lectura o Escritura se sigue el siguiente procedimiento:
a. El microprocesador coloca la dirección de memoria en sus líneas de salida de
dirección A15-A0.
b. Genera la señal R/W’=1 para una operación de Lectura o R/W’=0 para una
Escritura.

2
c. Los 5 bits superiores de las líneas de dirección se decodifican mediante el
74ALS138, para activar la entrada Enable del módulo de memoria. Esta
entrada debe estar activa para realizar cualquier operación sobre el módulo
de memoria.
d. El resto de los bits de dirección se conectan al módulo de memoria para
seleccionar la posición específica interna de memoria a la que el
microprocesador va a acceder, siempre y cuando Enable esté activa.
e. Para poder leer o escribir sobre el módulo de memoria, el microprocesador
debe colocar la dirección correcta en las líneas de dirección para habilitar la
memoria, y después aplicar un pulso a CP para que cambie a estado alto.
i. Determinar cuál de las siguientes direcciones hexadecimales activará
el módulo de memoria: 607F, 57FA, 5F00.
ii. Determinar el intervalo de direcciones hexadecimales que activará la
memoria
iii. Suponer que se añade otro módulo de memoria idéntico al circuito,
con sus líneas de dirección, R/W’ y de E/S de datos conectadas igual
que el primer módulo, excepto que su entrada de habilitación
(Enable) está conectada a la salida O4 del decodificador. ¿Qué
intervalo de direcciones hexadecimales activará este segundo
módulo?
iv. ¿Es posible que el microprocesador lea o escriba en ambos módulos a
la vez?

11. Diseñar en VHDL un codificador con prioridad de 8 a 3 líneas, con funcionamiento


idéntico al 74HC148.

3
12. Se desea diseñar un circuito para monitorizar el estado de un bus de 16 líneas. Si
cualquier línea del bus toma el valor ‘1’, el circuito debe activar con un 1 una salida
llamada ‘Uno presente’. También debe generar una palabra Z de 4 bits en binario
natural indicando la línea Bi del bus activada. Si aparecen varios unos sólo ha de
indicarse la línea Bi que tenga el índice más alto. Usar el 74HC148 y puertas
lógicas.
13. Diseñar en VHDL un doble multiplexor de 4 canales como el 74HC253 (con salidas
de alta impedancia).
14. 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.
15. Diseñar en VHDL un convertidor de códigos Gray de 4 bits (g(3:0)) a binario de 4
bits (b(3:0)). Utilizar la sentencia For..Loop.
16. 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.
17. Dados dos números binarios de 4 bits (A y B) visualizar en un display de 7
segmentos el mayor de ambos. El proyecto será de tipo esquemático, con dos
ficheros VHDL en los que se describirá: el comparador y el decodificador binario a
7 segmentos. En el esquemático se interconectarán los dos bloques.
18. Diseñar un circuito combinacional con 8 entradas activas a nivel bajo: R0_L a
R7_L, y 8 salidas A(2:0), AVALID, B(2:0) y BVALID. Este circuito resuelve la
prioridad entre las 8 entradas, donde R0_L es la de mayor prioridad. El circuito debe
indicar en las salidas A(2:0) activas a nivel alto, el código binario de la entrada
activada de mayor prioridad. Si hay al menos una entrada activada AVALID debe
activarse a nivel alto. Las salidas B(2:0) y BVALID tienen la misma función
respecto a la segunda entrada de mayor prioridad. Sugerencia: utilizar los CI 74148,
74138, en el número que se precise y puertas lógicas hasta un máximo de 16.
19. Repetir el problema anterior usando VHDL.
20. Diseñar un multiplexor con 5 entradas de datos de 4 bits (A,B,C,D y E) y tres
entradas de selección (S(2:0)), tal que de acuerdo a la tabla siguiente se seleccione
uno de los buses de entrada para conectarlo al bus de salida T. Solamente se pueden
utilizar dos CI 74153 y un CI 74157.

S2 S1 S0 Entrada a seleccionar
0 0 0 A
0 0 1 B
0 1 0 A
0 1 1 C
1 0 0 A
1 0 1 D
1 1 0 A
1 1 1 E

También podría gustarte