Você está na página 1de 7

LABORATORIO III

LATCH, FLIF FLOP Y REGISTROS


El objetivo de esta prctica es estudiar las caractersticas de los latch, Flip-Flops, y
registros.

Parte 1
Los dispositivos reconfigurables de Altera incluyen Flip-Flops que estn disponibles al
usuario para la implementacin de sus diseos. En esta prctica se mostrara como
hacer uso de estos Flip-Flops en las partes IV. Pero primero se mostrara como crear
elementos de almacenamiento en un FPGA sin hacer uso de los Flip-Flops dedicados.
La Figura 1 ejemplifica el diseo basado en compuertas de un latch tipo RS. El cdigo
ejemplo en VHDL mostrado en la Figura 2 usa lgica combinatoria para describir el
comportamiento del latch tipo RS. Si este latch se implementa en un FPGA con tablas
de verdad (LUT por su abreviatura en ingls) de cuatro entradas, solo se necesitara una
sola tabla como se muestra en la Figura 3.a. Aunque el latch RS puede ser
correctamente implementado usando solo una LUT de cuatro entradas (4-LUT), esta
implementacin no permite observar las seales internas (e.g. R g o S g). Para conservar
estas seales internas en la implementacin con LUTs es necesario incluir algunas
directivas del compilador dentro de nuestro cdigo. Dichas directivas se muestran en
las lneas 10-11 del cdigo mostrado en la Figura 2, e instruyen al compilador del Quartus
II a usar elementos lgicos separados para cada una de las seales R g, S g, Qa y Qb.
La compilacin de este cdigo produce un circuito con cuatro 4-LUTs como el
mostrado en la Figura 3.b.

Figura. 1 Latch RS

Figura. 2 Especificacin de un latch RS con expresiones lgicas.

Figura. 3 A) implementacin de un latch RS con un elemento 4LUT, B) implementacin con 4 elementos.

Cree un proyecto en el Quartus II para el circuito del cerrojo RS como a continuacin


se menciona:
1. Cree un nuevo proyecto en el IDE Quartus II. Seleccione el chip Cyclone III
Correspondiente a la tarjeta DE0 como destino de su diseo.
2. Aada en un archivo de diseo nuevo el cdigo VHDL mostrado en la Figura 2, a su
proyecto.
3. Compile su proyecto.
4. Cree un archivo de formas de onda que especifique las entradas y salidas del
circuito. Asigne trenes de pulsos a las entradas R y S de forma que al simular su circuito
usando la herramienta Modelsim, usted debe ser capaz de observar las seales internas
R g, S g, Qa y Qb. Verifique que el latch funciona como se esperaba usando tanto la
simulacin funcional como la implementacin en la tarjeta.

Parte II
La Figura 4 muestra el circuito para el latch tipo D. Realize los siguientes pasos:
1. Cree un proyecto nuevo en Quartus II. Escriba el programa en VHDL para el latch tipo
D basndose en el cdigo mostrado en la Fig. 2. Use la directiva keep para asegurarse
que las seales R, S g, R g, Qa y Qb son implementadas usando elementos lgicos
separados.
2. Compile su cdigo utilizando el dispositivo Cyclone III como destino de su diseo.
3. Verifique que el latch funciona correctamente para todas las condiciones de
entrada, usando la herramienta de simulacin Modelsim. Examine el tiempo de
propagacin de las seales en su circuito.
4. Cree un nuevo proyecto en el IDE Quartus II, el cual ser usado para implementar el
cerrojo tipo D en la tarjeta DE0. Este proyecto deber consistir de una entidad que
contenga los puertos de entrada/salida adecuados para la tarjeta DE0. Instancie su
diseo anterior en esta nueva entidad. Use el interruptor SW0 como fuente para la
entrada D del latch, y use SW1 como la entrada de reloj. Conecte la salida Q al LED
LEDG 5. Recompile su proyecto y programe la tarjeta DE0. 6. Pruebe que si diseo
funciona correctamente.

Figura. 4 Latch D implementado con compuertas.

Parte III
La Figura 5 muestra dos latch tipo D en configuracin maestro/esclavo. Ejecute los
siguientes pasos:

Figura. 5 Latch D en configuracin maestro/esclavo.

1. Cree un proyecto nuevo en Quartus II. Escriba un programa en VHDL que use dos
copias del latch tipo D de su diseo anterior, y conctelas en la configuracin
maestro/esclavo.
2. Incluya en su proyecto entradas y salidas tal que el interruptor SW0 sea la entrada D
del Flip-Flops, y use SW1 como la entrada Clock. Conecte la salida Q al LED LEDG
3. Compile su proyecto.
4. Use la herramienta Modelsim para examinar el circuito generado, use la herramienta
de simulacin para verificar su correcta operacin.
5. Programe la tarjeta DE0 con su diseo y pruebe su correcto funcionamiento

Parte IV
La Figura 6.a muestra un circuito con tres elementos de almacenamiento distintos: un
latch tipo D con entrada de habilitacin, un Flip-Flops tipo D con disparo positivo, y un
Flip-Flops tipo D con disparo negativo.

Figura. 6 A) Latch y FF D disparados de distinta forma, B) Diagrama de tiempo.

Implemente y simule este circuito usando Quartus II siguiendo los pasos listados a continuacin:
1. Cree un nuevo proyecto.

2. Escriba un programa en VHDL para los tres elementos de almacenamiento. Para esta parte no es
necesario que siga usando la directiva keep (incluida en la instruccin ATTRIBUTE) en su cdigo.
El cdigo mostrado en la Figura 7 describe el latch tipo D con entrada de habilitacin usando un estilo de
programacin conductual, donde no se involucra la ecuacin booleana del circuito, solo su
comportamiento. El circuito sintetizado a partir del cdigo mencionado, se implementa usando solo un
elemento LUT (abreviatura del ingls LookUp Table) de cuatro entradas. Use el mismo estilo de
programacin para describir los Flip-Flops restantes de la Figura 6a.
3. Compile su proyecto y use la herramienta Modelsim para examinar el circuito implementado.
4. Cree un archivo de formas de onda para la simulacin de su proyecto. Asigne las formas de onda
mostradas en la Figura 6.b a las entradas D y Clock de su proyecto y use la herramienta de simulacin
para obtener las formas de onda correspondientes a las tres salidas. Observe el diferente
comportamiento de los tres elementos.

Figura. 7 Diseos VHDL para un latch D

Parte V
Disee un circuito que despliegue el valor hexadecimal de dos nmeros binario de 16
bits, A y B, en los visualizadores de siete segmentos HEX3 0, respectivamente. Los
valores para A y B sern controlados mediante los interruptores SW70. Cuando se
encienda el circuito, el estado de SW70 se memorizara en A al presionar el botn KEY1.
El circuito debe de contar con una entrada activa en bajo que restablezca los
visualizadores a su estado inicial.

1. Cree un nuevo proyecto en Quartus II para implementar su diseo en la tarjeta DE0.

2. Escriba el programa en VHDL que describa el circuito mencionado. Use el botn KEY0
como reset activo bajo, y KEY0 como entrada de reloj para su circuito. Incluya el
programa en su proyecto y complelo.
3. Asigne los pines adecuados del FPGA para conectar los interruptores y visualizadores
de siete segmentos a las entradas y salidas de su diseo.
4. Recompile el proyecto y programe la tarjeta DE0 con su diseo. 6. Compruebe la
correcta operacin de su circuito.

Você também pode gostar