You are on page 1of 5

1

CONTADOR CON DECODIFICADOR EN VHDL


Erick Eduardo Neri Gonzlez 93056, Lorenzo Quintero Mndez 93015 Universidad Autnoma de Ciudad Jurez Instituto de ingeniera y tecnologa Neri68@hotmail.com, lencho_quintero@hotmail.com Resumen En esta prctica se implemento un contador de tres bits en el FPGA utilizando un divisor de frecuencias, un contador y LEDs los cuales mostraron el conteo en base binaria cada cierto tiempo. Se utilizo una nueva fuente en VHDL para enlazar los archivos tanto del contador y el divisor de frecuencias, as como tambin para enlazar el archivo donde se mostraron las condiciones para que se encendiera el display de siete segmentos y consecuentemente este mismo mostrara el nmero decimal correspondiente al conteo. En este caso el display de siete segmentos solo mostro los nmeros del 0 al 7, ya que es el equivalente al 111 en binario.
I.

Figura 2. Divisor de frecuencia de reloj por 4.

INTRODUCCIN

Un decodificador es circuito combinacional que convierte informacin binaria de n lneas de entrada a un mximo de 2n lneas de salida distintas. Si la informacin decodificada en n bits tiene combinaciones que no se usan, el decodificador podra tener menos de 2n salidas. El nombre de decodificador tambin se usa para referirse a otros convertidores de cdigos, como un decodificador BCD a siete segmentos. Un contador es bsicamente un registro que pasa por una sucesin predeterminada de estados. Las compuertas del contador estn conectadas de tal manera que producen la sucesin prescrita de estados binarios. Aunque los contadores son un tipo especial de registros es comn distinguirlos dndoles otro nombre. Si hacemos trabajar un biestable sncrono J-K en modo T, en introducimos por la entrada de reloj Ck una seal de sincronismo con un generador de frecuencias, se obtiene a la salida una seal cuadrada con la mitad de la frecuencia. Si utilizamos uno de los biestables J-K del integrado 74HC112 activado por un flanco de bajada conseguiremos dividir la frecuencia de la seal de entrada a la mitad.

Para alimentar la seal de entrada del reloj se utiliza una seal cuadrada de una determinada frecuencia proveniente de un generador de funciones. Para la lectura de la frecuencia de la seal de entrada y de salida utiliza el osciloscopio. El divisor de frecuencias es un circuito de dividir entre n, donde n es cualquier nmero entero. El sintetizador es esencialmente un multiplicador por n. La frmula para calcular la frecuencia de salida deseada es: fo = n fref II. DESARROLLO El cdigo en lenguaje VHDL utilizado para realizar el contador de 3 bits del primer ejercicio de esta prctica se muestra a continuacin:

Figura 1. Divisor de frecuencia de reloj por 2.

Ahora bien, si conectamos la salida de uno de los biestables a la entrada de reloj de otro, la frecuencia se vuelve a dividir por 2, obtenindose una divisin de frecuencia de 4 veces.
Figura 3. Programa en VHDL para el contador.

Luego como la frecuencia de la seal de reloj en el FPGA es de 50 MHz, se tuvo que implementar un divisor de frecuencias, el cual baja la frecuencia hasta 1 Hz.

Figura 4. Programa en VHDL para el divisor de frecuencias.

Como los archivos dos archivos necesitaban estar enlazados para obtener los resultados deseados, se cre otra fuente en VHDL llamada TopModule, con la cual enlazamos ambos archivos, para as obtener un contador de 3 bits a una frecuencia de 1 Hz.

Figura 5. Programa en VHDL para el TopModule.

Por ltimo se realizo el constraints para declarar los puertos de entrada y de salida en nuestro circuito.

Figura 6. Declaracin de los constraints para el programa final.

Para el segundo ejercicio se implemento el mismo divisor de frecuencias que en el primer ejercicio, y para el contador se realizo lo mismo, con la excepcin de que se le agrego un bit al contador.

3 Luego tuvimos que relacionar todas las entradas y salidas de los programas entre s, esto se logro realizando un programa llamado ToModule.

Figura 7. Programa en VHDL para el contador.

Para realizar este segundo ejercicio se tuvo que realizar otro programa en lenguaje VHDL para que el display realizara el conteo.

Figura 9. Programa en VHDL para TopModule.

Por ltimo se realizo el archivo con los constraints para TopModule en el cual se declararon todos los puertos de entrada y de salida para nuestro circuito.
Figura 8. Programa en VHDL para el display.

Figura 13. Simulacin en el FPGA.

Ejercicio 2

Figura 10. Declaracin de los constraints para TopModule.

III. RESULTADOS A continuacin se muestran una serie de imgenes con los resultados tanto de la simulacin como de la implementacin en el FPGA, adems del diagrama esquemtico TTL generado por el programa. Ejercicio 1

Figura 14. Diagrama esquemtico TTL.

Figura 15. Diagrama de temporizacin para un display que recibe seal de un contador.

Figura 11. Diagrama esquemtico.

Figura 12. Diagrama de temporizacin del contador.

5 V. Bibliografa [1] M. Morris Mano, Diseo Digital, Pearson Education, Mxico, 2003. [2] Pablo Alcalde San Miguel, Electrnica, Paraninfo, Espaa, 2009. [3] Wayne Tomasi, Sistemas de Comunicaciones Electrnicas, Pearson Education, Mxico, 2003.

Figura16. Diagrama de transiciones para el contador.

Figura 17. Simulacin en el FPGA.

IV. CONCLUSIONES Lorenzo Quintero Mndez En esta prctica comprend el funcionamiento de un divisor de frecuencias y de un contador tomando como referencia el cdigo presentado anteriormente en la prctica. La importancia del divisor de frecuencias es muy grande debido a que sin l la frecuencia en nuestro circuito no sera de 1 Hz sino de 50MHz que es el valor de referencia de la seal de reloj utilizada en el FPGA. Erick Eduardo Neri Gonzlez En esta prctica pude comprender casi en su totalidad el funcionamiento de un divisor de frecuencias para realizar contadores, adems de comprender el significado del cdigo y las sentencias utilizadas en los programas con los cuales fueron implementados dichos circuitos. Tambin aprend a enlazar diferentes archivos, mediante la creacin de un nuevo archivo VHDL, en el cual mediante sentencias, condiciones y ecuaciones relacionamos las entradas y las salidas de todos estos archivos con respecto a un archivo principal.

You might also like