You are on page 1of 4

Escuela Politécnica Nacional. Sistemas Digitales. Diego Díaz, Andrés Mateo Reyes.

Preparatorio Práctica No 4 1
.

Preparatorio Práctica N°4. Diseño de circuitos


combinacionales.
Díaz Diego, Andrés Mateo Reyes
Escuela Politécnica Nacional
diego.diaz01@epn.edu.ec, andres.reyes01@epn.edu.ec

I. OBJETIVOS

Aplicar los principios y las herramientas básicos del


diseño de sistemas digitales a la solución de problemas
lógicos combinacionales.

II. TRABAJO PREPARATORIO

1. Diseñe un circuito combinacional que permita la


conversión de un número binario de 4 bits a su
correspondiente número expresado en BCD.

Con 4 bits se pueden representar dieciséis números


diferentes: del 0 al 15. La conversión entre binario, 2. Diseñe un sistema para realizar la votación dentro del
decimal y su correspondiente en BCD se presenta en la concejo municipal de Quito, este concejo está compuesto
tabla a continuación: por dos partidos políticos: A y B; cada partido consta de
los siguientes miembros: A posee 4 personas q, w, e y, r;
y B a tres personas a, s y d. Cada persona en el concejo
puede votar SI (1 L) o NO (0 L) (no hay abstenciones).
Decimal Binario BCD
00 0000 0000 0000 Para la votación cada partido utiliza un circuito compuesto por
01 0001 0000 0001 interruptores y de manera secreta del otro partido, por lo que
02 0010 0000 0010 existen dos cabinas de votación distintas (Cabina A y Cabina
B), y luego las salidas de cada cabina entra a una máquina que
03 0011 0000 0011
contabiliza los votos y decide si ganó el SI o el NO. El diagrama
04 0100 0000 0100 de la solución es la siguiente:
05 0101 0000 0101
06 0110 0000 0110
07 0111 0000 0111
08 1000 0000 1000
09 1001 0000 1001
10 1010 0001 0000
11 1011 0001 0001
12 1100 0001 0010
13 1101 0001 0011
14 1110 0001 0100
15 1111 0001 0101
Escuela Politécnica Nacional. Sistemas Digitales. Diego Díaz, Andrés Mateo Reyes. Preparatorio Práctica No 4 2
.

Cabina A: A la función se la denominó Bin2BCD:

Cabina B: TestBench de Bin2BCD:

Circuito completo incluido contador:

3. Generar en VHDL usando la arquitectura flujo de


datos el ítem 3.1, además comentar el código de tal
manera que sea claro entenderlo. Mostrar las
gráficas de las señales generadas dentro del software
GTKWave.
Escuela Politécnica Nacional. Sistemas Digitales. Diego Díaz, Andrés Mateo Reyes. Preparatorio Práctica No 4 3
.
El comando wait puede bajo 3 circunstancias. Bajo una
condición (condition), con una lista “sensitiva” (sensitivity
list) y una cláusula de tiempo muerto (timeout)[1].

Process: Es una sentencia concurrente, lo que quiere decir que


todos los process y las demás sentencias concurrentes se
ejecutan sin un orden establecido. Sin embargo, existen
sentencias dentro del process que sí se ejecutan de forma
secuencial[1].

Sintaxis:

optional_label: process (optional


GTKWave: sensitivity list)
declarations
begin
sequential statements
end process optional_label;

La lista de sensibilidad (sensitivity list) es una serie de señales


que, al cambiar de valor, hacen que se ejecute el PROCESS.

Trigger: Las señales trigger se determinan cuando se detecta


un flanco de subida o bajada de otra señal. Para ello se utilizan
los comandos rising_edge() y falling_edge()[2].

4. Consultar sobre los siguientes comandos de VHDL: 5. Indique 3 diferencias en el funcionamiento de las señales
‘variable’, ‘’, diferentes normas de utilización del locales y variables en VHDL.
comando ‘wait’. Sobre el comando ‘process’
consultar sobre su sintaxis, la función que cumple las En VHDL existen tres tipos de elementos: constantes, variables
señales trigger, e indique 3 limitaciones en su uso. y señales. Tanto constantes como variables se utilizan de la
misma forma que en cualquier otro lenguaje de programación.
Las apóstrofes ‘’ se utilizan en VHDL para asignar valores Pero, las señales pueden ser de tipo normal, register o bus y es
numéricos específicos a una variable. posible asignarles un valor inicial. Para declarar señales se
Además, los apóstrofes se usan para llamar a atributos que utiliza la palabra reservada SIGNAL, las constantes y variables
sirven para manipular arreglos, señales, etc. se declaran utilizando las palabras CONSTANT y VARIABLE.
Variables y constantes son de naturaleza similar con la evidente
Wait: El comando wait es una sentencia que causa la diferencia de que las primeras toman distintos valores en
suspensión de un proceso o procedimiento. La sintaxis distintos instantes[3].
simplificada de las diferentes formas en que puede
utilizarse es: 6. BIBLIOGRAFÍA.
[1] “SENTENCIAS SECUENCIALES Y CONCURRENTES DE
VHDL.”
wait;
[2] “VHDL - Wait Statement.” [Online]. Available:
wait on signal_list;
http://www.vhdl.renerta.com/mobile/source/vhd00081.htm.
wait until condition;
[Accessed: 21-May-2018].
wait for time;
[3] L. E. Arrontes, C. López, M. García, E. San Millán, M. Portela,
and A. Lindoso, “EL LENGUAJE VHDL CONCEPTOS
BÁSICOS EL LENGUAJE VHDL CONCEPTOS BÁSICOS
Introducción Entidades y arquitecturas Sentencias y procesos
Objetos Tipos de datos y operadores.”
Escuela Politécnica Nacional. Sistemas Digitales. Diego Díaz, Andrés Mateo Reyes. Preparatorio Práctica No 4 4
.

You might also like