You are on page 1of 9

Laboratorio de Sistemas Digitales

Practica # 4: Diseno de circuitos combinacionales


GR 10
3.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.

- Primero, se debe tener en cuenta que hay cuatro entradas lógicas,


mientras que en las salidas se van a tener 5, ya que van a implementarse
LEDs al final del circuito. Como un numero binario en BCD, equivale al
digito en decimal expresado en binario con 4 bits, y hay 4 bits de entrada,
habrian 8 salidas, pero desde el 10, hasta el 15, simplemente se tendría
la salida común 0001, por eso solo se utilizaran 5 bits en la salida, los
LEDs van a tener una resistencia limitadora de corriente. Para encender
los LEDs, se representará como 1 log al encendido mientras que como 0
log se representará al led apagado. A continuación, se representa la tabla
de verdad del circuito lógico.

A B C D LED1 LED2 LED3 LED4 LED5 DECIMAL


0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 1 1
0 0 1 0 0 0 0 1 0 2
0 0 1 1 0 0 0 1 1 3
0 1 0 0 0 0 1 0 0 4
0 1 0 1 0 0 1 0 1 5
0 1 1 0 0 0 1 1 0 6
0 1 1 1 0 0 1 1 1 7
1 0 0 0 0 1 0 0 0 8
1 0 0 1 0 1 0 0 1 9
1 0 1 0 1 0 0 0 0 10
1 0 1 1 1 0 0 0 1 11
1 1 0 0 1 0 0 1 0 12
1 1 0 1 1 0 0 1 1 13
1 1 1 0 1 0 1 0 0 14
1 1 1 1 1 0 1 0 1 15
- Para la simplificación de los circuitos de cada LED, se va usar mapas de
Karnaugh, solo en el LED 2 se utilizara la simplificación por medio del
algebra de Boole.

 LED1:
AB 00 01 11 10
CD
00 0 0 1 0

01 0 0 1 0

11 0 0 1 1
00 0 0 1 1

LED1 = A ∙ B + A ∙ C ∙ D + A ∙ C ∙ 𝐷
LED1 = A ∙ B + A ∙ C
 LED2:

LED2 = A ∙ 𝐵 ∙ 𝐶 ∙ 𝐷 + A ∙ 𝐵 ∙ 𝐶 ∙ D

LED1 = A ∙ 𝐵 ∙ 𝐶
 LED3:
AB 00 01 11 10
CD
00 0 1 0 0

01 0 1 0 0

11 0 1 1 0

00 0 1 1 0

LED3 = 𝐴 ∙ B + B ∙ C ∙ D + B ∙ C ∙ 𝐷

LED3 = 𝐴 ∙ B + B ∙ C
 LED4:
AB 00 01 11 10
CD
00 0 0 1 0

01 0 0 1 0

11 1 1 0 0

00 1 1 0 0

LED4 = 𝐴 ∙ C + A ∙ B ∙ 𝐶

 LED5:
AB 00 01 11 10
CD
00 0 0 0 0

01 1 1 1 1

11 1 1 1 1
00 0 0 0 0

LED5 = 𝐴 ∙ D + A ∙ D = D
3.2.- Diseñe un sistema para realizar la votación dentro del concejo
municipal de Quito, este concejo está compuesto 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).

Para este circuito primero se resuelve la parte A, donde hay 4 miembros, es


decir, 4 entradas. Donde existirán dos salidas F1 Y F2. Bajo las condiciones de
la hoja guía la tabla de verdad queda de la siguiente forma, tomando en cuenta
que un empate tiene la salida 11.
E G H L F1 F2
0 0 0 0 0 0
0 0 0 1 0 0
0 0 1 0 0 0
0 0 1 1 1 1
0 1 0 0 0 0
0 1 0 1 1 1
0 1 1 0 1 1
0 1 1 1 0 1
1 0 0 0 0 0
1 0 0 1 1 1
1 0 1 0 1 1
1 0 1 1 0 1
1 1 0 0 1 1
1 1 0 1 0 1
1 1 1 0 0 1
1 1 1 1 0 1

Como segunda escalon tenemos al circuito para B, donde hay 3 miembros, es


decir, tres entradas. Donde existirá una sola salida, F3. Bajo las condiciones de
la hoja guía la tabla de verdad queda de la siguiente forma:

a s D F3
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

En base a estos resultados se tendría una combinación entre F1, F2 y F3 que


resultara en una salida F4, como resultado de las votaciones. Cabe tener en
cuenta que no existe conflicto cuando en la parte A existe un empate ya que el
resultado de la parte B desempataría el resultado, por tanto, B es el que define
el resultado ganador. En el caso cuando gane el “si” en la parte A y el “no” en la
parte B, existiría un conflicto en cuanto el numero de votantes, este caso en
particular es obviado, y se toma como referencia el grupo A, donde si gana el
“no” o el “si”, será determinante en el resultado final, esto por tener mayor
cantidad de votantes. Al final se tiene una tabla de verdad entre F1, F2, F3 y F4.

F1 F2 F3 F4
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 -
1 0 1 -
1 1 0 0
1 1 1 1

F4 = 𝐹1 ∙ 𝐹2 ∙ 𝐹3 + 𝐹1 ∙ 𝐹2 ∙ 𝐹3 + F1 ∙ 𝐹2 ∙ 𝐹3
F4 = 𝐹1 ∙ 𝐹2 + 𝐹1 ∙ 𝐹2 ∙ 𝐹3
F4 = F2(𝐹1 + F1 ∙ F3)
F4 = F2(𝐹1 + 𝐹3)
F4 = 𝐹1 ∙ 𝐹2 ∙ 𝐹3

Hay que tener en cuenta que, a la hora de implementar el circuito, las entras 100
y 101, no están definidas en las entras, por tanto, no importan.

3.3.- Generar en VHDL usando la arquitectura funcional el ítem 3.1, usando


la
arquitectura de flujo de datos; 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.
3.4.- Consultar sobre los siguientes comandos de VHDL:‘variable’, ‘’,
diferentes normas de utilización del comando ‘wait’. Sobre el comando
‘process’ consultar sobre su sintaxis, la función que cumple las señales
trigger, e indique 3 limitaciones en su uso.

 Variable:

Es lo mismo que una constante, pero con la diferencia que puede ser modificada
en cualquier instante, aunque también es posible inicializarlas. La palabra
reservada VARIABLE es la que permite declarar variables.

Es posible, dado un elemento cambiarle el nombre o ponerle nombre a una parte


mediante la palabra reservada.

 Wait:

La ejecución de un bloque PROCESS se realiza de forma continuada, como si


de un bucle infinito se tratara (se ejecutan todas las sentencias y se repiten).
Esto no tiene mucho sentido, puesto que continuamente se ejecutaría lo mismo
una y otra vez, sería interesante poder parar la ejecución. Una forma de hacerlo
es mediante las listas de sensibilidad, las cuales se han visto anteriormente,
aunque existe otra forma de hacerlo mediante la sentencia WAIT, pero es algo
más complejo.

Si se utiliza una lista de sensibilidad no es posible utilizar la sentencia WAIT, sin


embargo, si es posible utilizar varias sentencias WAIT cuando esta actúa como
condición de activación.

 Process:

Un PROCESS, como se ha dicho antes, es una sentencia concurrente en el


sentido de que todos los PROCESS y todas las demás sentencias concurrentes
se ejecutarán sin un orden establecido. No obstante, las sentencias que hay
dentro del PROCESS se ejecutan de forma secuencial.
Por lo tanto, se puede decir que una estructura secuencial va en el interior de
un PROCESS.
La estructura genérica de esta sentencia es:

 Trigger:

El Schmitt Trigger usa la histéresis para prevenir el ruido que podría tapar a la
señal original y que causaría falsos cambios de estado si los niveles de
referencia y entrada son parecidos.
Para su implementación se suele utilizar un amplificador
operacional realimentado positivamente, para lograr que sea inestable y su
salida siempre sature en alguno de los dos valores de tensión de alimentación
del amplificador. Los niveles de referencia pueden ser controlados ajustando
las resistencias R1 y R2:

3.5.- Indique 3 diferencias en el funcionamiento de las señales locales y


variables en VHDL.

Hay tres tipos de elementos en VHDL: las constantes, variables y señales. Aquí
nos vamos a centrar únicamente en las señales y variables. Definimos entonces:

1) Señal Local: Es un elemento que nos permite introducir algún valor,


donde éste puede ser alterado en cualquier momento.

2) Señal Variable: Es como la representación de un alambre en un circuito.


Éste puede ser de varios tipos: bus, register o normal, puede tomar algún
valor inicial y sólo se actualizan al terminar el proceso en el cual están
siendo utilizadas, a diferencia de las variables que éstas se actualizan
instantáneamente, o sea que su valor cambia en el momento de la
asignación. Las señales presentan la propiedad de almacenar el valor
actual y de guardar un valor futuro. ¿Cómo funciona? Imaginemos que la
señal es una caja que contiene dos apartados, el primer apartado es
donde se encuentra el valor actual y el segundo apartado mejor conocido
como driver, es el que contiene el valor futuro. Cuando se lee una señal,
estamos haciendo uso de la sección que contiene el valor actual, mientras
que cuando asignamos algo a una señal, estamos escribiendo en la
sección driver.

Para entender un poco más, es necesario saber que las variables sólo se
declaran en procesos o subprogramas donde las sentencias son ejecutadas en
serie, mientras que las señales se declaran en los paquetes (packages),
procesos concurrentes (blocks) o en las arquitecturas (architecture)

BIBLIOGRAFIA
Sistemas Digitales, Novillo Carlos, EPN

Digital fundamentals with VHDL, Floyd, Pearson Education, Primera Edicion

You might also like