Abstracto— A continuación presentaremos un informe de la práctica # 6 y 7 del Laboratorio de Circuitos Digitales en formato IEEE.
Enviado por Smith1994 • 21 de Marzo de 2017 • Informe • 2.081 Palabras (9 Páginas) • 367 Visitas
Informe Práctica #6 y #7.
Abstracto— A continuación presentaremos un informe de la práctica # 6 y 7 del Laboratorio de Circuitos Digitales en formato IEEE. Este documento en su interior contiene una breve explicación sobre el vhdl, y además contiene la teoría de investigación acerca de los circuitos secuenciales que son básicamente circuitos combinacionales con memoria, esto es, son circuitos en los cuales su salida actual no depende única y exclusivamente de sus entradas, sino que además depende de la historia del sistema. Al finalizar este informe se enviará vía; correo electrónico a todos los miembros del equipo de trabajo y al docente para su respectiva calificación.
- INTRODUCCIÓN
Un biestable (flip-flop en inglés), es un multivibrador capaz de permanecer en uno de dos estados posibles durante un tiempo indefinido en ausencia de perturbaciones. Esta característica es ampliamente utilizada en electrónica digital para memorizar información. El paso de un estado a otro se realiza variando sus entradas.
Dependiendo del tipo de dichas entradas los biestables se dividen en:
- Asíncronos: solamente tienen entradas de control. El más empleado es el biestable RS.
- Síncronos: además de las entradas de control posee una entrada de sincronismo o de reloj.
Si las entradas de control dependen de la de sincronismo se denominan síncronas y en caso contrario asíncronas. Por lo general, las entradas de control asíncronas prevalecen sobre las síncronas.
- TEORIA DE DESARROLLO
La celda de memoria básica es el flip-flop, el cual almacena un bit de información y es sensible a las variaciones de una señal denominada reloj (clock – clk). Fundamentalmente, las variaciones del clk que afectan al flip-flop son los flancos, de subida o caída, y es durante estas transiciones que el flip-flop puede cambiar su estado. Un conjunto de flip-flop se denominan un registro, con los registros se obtiene el almacenamiento de información en forma de palabras. El tamaño más común de palabra son 4, 8 y 16 bits. Existen diferentes tipos de flip-flop, los más comunes son R-S, D, T y J-K. (Véase Tabla 1)
Jhonatan Smith Gallego Cadavid, smith-_123@hotmail.com.
Yenifer Osorno Sepúlveda, jennyfer0303gmail.com
Alberto Javier Henao Betancur, betoh17@yahoo.es
[pic 1]
La implementación en VHDL de un flip-flop es muy simple, por ejemplo, véase un flip-flop tipo D en la Figura 2.
[pic 2]
La función rising_edge(clk) devuelve un booleano verdadero cuando detecta un flanco de subida en la señal que tiene como argumento, en este caso clk. Y falso en caso contrario. Se puede observar que cada que se produce un flanco de subida en la señal de reloj, clk, la salida del flip-flop se hace igual a la entrada, esto es, sigue la tabla de verdad del flip-flop tipo D
La FPGA, Nexys 3 y Nexys 4, cuenta con una señal de reloj externa de 100MHz, la cual es demasiado rápida para utilizar en la transición entre estados de los circuitos secuenciales de implementación en el Laboratorio. Por esta razón, es necesario generar a partir de esta señal una de más baja frecuencia, con el fin de poder percibir visualmente los cambios en los estados de los circuitos a implementar. La Figura 3 muestra la implementación de un reloj de baja frecuencia, slowClock, a partir de uno de más alta frecuencia, fastClock, donde la frecuencia está dada por (1).
[pic 3]
𝑓𝑠𝑙𝑜𝑤𝐶𝑙𝑜𝑐𝑘 = 𝑓𝑓𝑎𝑠𝑡𝐶𝑙𝑜𝑐𝑘 2∗𝑝𝑟𝑒𝑠𝑐𝑎𝑙𝑒𝑟 (1)
Por ejemplo, para un reloj rápido con frecuencia
𝑓𝑓𝑎𝑠𝑡𝐶𝑙𝑜𝑐𝑘 = 100 𝑀𝐻𝑧 y con un 𝑝𝑟𝑒𝑠𝑐𝑎𝑙𝑒𝑟 = 50000000, se puede obtener un reloj lento con frecuencia 𝑓𝑠𝑙𝑜𝑤𝐶𝑙𝑜𝑐𝑘 = 1𝐻𝑧. Si el 𝑝𝑟𝑒𝑠𝑐𝑎𝑙𝑒𝑟 es 25000000, 5000000 o 100000 se puede obtener frecuencias de 2𝐻𝑧, 10𝐻𝑧 y 500𝐻𝑧 respectivamente
.
Como ejemplo implementaremos un contador síncrono de módulo 5 empleando flip-flop JK. Ejemplo: diseñar e implementar en VHDL un contador de módulo 5 que se comporte de acuerdo a la Tabla 2.
El proceso consiste en dar a cada flip-flop instrucciones relativas a cual estado debe pasar, independientemente del estado en el que se encuentre. La implementación la realizaremos con flip-flop J-K y el diseño de las señales de excitación de cada flip-flop se obtienen con diagramas de Karnaugh. Las ecuaciones de excitación están dadas en (2).
[pic 4]
𝐽2 = 1 𝐾2 = 𝑄1𝑄0
𝐽1 = 𝑄0 𝐾1 = 𝑄2 ̅̅̅̅
𝐽0 = 1 𝐾0 = 𝑄2 ̅̅̅̅ + 𝑄1 ̅̅̅ (2)
Utilizando un reloj de 1𝐻𝑧 según la Figura 3, el flip-flop J-K según la Figura 4 y la lógica combinacional de excitación de los flip-flop según la Figura 5, se puede implementar el contador de módulo 5 según la Figura 6.
[pic 5]
[pic 6]
El reloj se obtiene instanciando el componente vhdlSlowClock con el 𝑝𝑟𝑒𝑠𝑐𝑎𝑙𝑒𝑟 establecido de acuerdo a la frecuencia deseada según (1), la entrada es la señal de reloj de alta frecuencia fastClock y la señal de reloj de baja frecuencia es slowClock. El flip-flop J-K se implementa con el componente vhdlJKFlipFlop por medio de sentencias del tipo if-then-elsif dentro de un proceso (véase Figura 4). La entrada de clockFF es la señal de reloj de baja frecuencia y J y K son las señales de excitación. La salida es 𝑄 y 𝑄𝑛 es la salida negada. Mientras que la lógica de excitación se implementa en el componente vhdlCountMod5 (véase Figura 5) con tres entradas correspondientes a las salidas 𝑄𝑖 dé cada uno de los flip-flop, esto es, input_0 se corresponde a 𝑄0, input_1 se corresponde con 𝑄1 e input_2 se corresponde con 𝑄2. Así mismo, output0_1, output0_2, output1_1, output1_2, output2_1 y output2_2 se corresponden respectivamente con J0, K0, J1, K1, J2 y K2. A estas salidas se les asigna los valores dados en (2). El módulo principal (véase Figura 6) se compone de la declaración de los tres componentes y la instanciación de los tres flip-flop (FF1, FF2 y FF3), la instanciación del reloj a una frecuencia de 1𝐻𝑧 (clockFF con 𝑝𝑟𝑒𝑠𝑐𝑎𝑙𝑒𝑟 = 50000000) y la lógica combinacional de excitación (logic). La entrada a este módulo es el reloj de alta frecuencia, extFastClock, y tres salidas correspondientes a las salidas de los flip-flop (𝑄2, 𝑄1 y 𝑄0).
...