Está en la página 1de 5

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/301810196

Implementar un codificador BCD a 7 segmentos con un FPGA

Working Paper · May 2016


DOI: 10.13140/RG.2.1.1562.2001

CITATIONS READS

0 3,982

1 author:

Isra Cero
ITSPR
43 PUBLICATIONS   9 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Fractional Control in Microcontrollers View project

Implementación de la Función XOR con un Perceptrón en Arduino View project

All content following this page was uploaded by Isra Cero on 04 May 2016.

The user has requested enhancement of the downloaded file.


Practica IV FPGA’s, implementar un codificador
BCD a 7 segmentos con un FPGA
I.Cerón-Morales1, E. Aquino-Díaz1, J. O. Vázquez-Espinoza1.
1
Maestría en ingeniería en automatización de procesos industriales
Universidad Politécnica de Puebla
3er. Carril del ejido serrano s/n, San Mateo Cuanalá, Puebla, México. C.P. 72640
Israel.ceron@uppuebla.edu.mx, jose.vazquez@uppuebla.edu.mx, erikssen.aquino@uppuebla.edu.mx

DESARROLLO
Resumen- Este documento presenta un reporte del trabajo
realizado para implementar un codificador BCD a 7 segmentos El uso de tarjetas de desarrollo en la educación
en un FPGA. Es sabido que para implementar un circuito universitaria en muchas carreras de ingeniería, permite
electrónico digital combinacional solo es requerida la construir prototipos los cuales pertenecen al grupo de los
interconexión de una serie de compuestas lógicas en cascada, llamados sistemas embebidos.
pero existen circuitos que por el gran numero de compuertas Uno de los dispositivos más importantes en el desarrollo
lógicas requeridas es impráctico hacerlo con circuitos
de proyectos de ingeniería son los FPGA’s.
integrados discretos como las familias TTL, por eso hoy día
existen circuitos de arreglos de compuestas digitales
programables en campo, estos se conocen cono FPGA’s. En este El objetivo de este trabajo es mostrar como programar un
trabajo mostramos como programar un FPGA del fabricante codificador BCD a 7 segmentos en un Cyclone II del
Altera, el modelo es el Cyclone II, y el software que nos fabricante Altera.
proporciona el fabricante para poder programar estos Para implementar nuestro circuito combinacional primero
dispositivos se llama Quartus II Versión 13.0sp1. Cualquier debemos instalar el software Quartus II Ver. 13.0sp1. cuya
cuestión sobre el contenido de este documento debe dirigirse a
la dirección electrónica de los autores.
captura de pantalla vemos en la figura 2.

Palabras Clave- FPGA, BCD a 7 Segmentos, Cyclone II,


Programación.

INTRODUCCIÓN
Hoy día los estudiantes de ingeniería, de áreas como
electrónica, mecatrónica, automatización entre otras, hacen
uso de tarjetas de desarrollo con el fin de implementar
proyectos de ingeniería, y dentro de este tipo de tarjetas
existen unas que tienen empotrado un FPGA, el cual es un
Fig. 1. FPGA Cyclone II
arreglo de compuertas lógicas programables en campo, esto
permite diseñar circuitos electrónicos digitales,
Para descargar el software debemos crear una cuenta en
combinacionales y secuenciales que nos permiten ahorrar
la página del fabricante. https://www.altera.com/.
mucho tiempo, energía y trabajo, ya que comúnmente se
hacía uso de integrados digitales como los de la familia TTL,
ejemplo de esos circuitos integrados son: el 74lLS00 el cual
es un arreglo de solo 4 compuertas NAND, el 74LS04 es un
arreglo de solo 6 compuestas inversoras, etc.…
Debido a que esto ya es impráctico para muchos
proyectos de ingeniería se desarrollaron los FPGA’s los
cuales tienen dentro de sí miles e incluso millones de
compuestas lógicas que se pueden programar de manera que
podamos construir funciones lógicas tanto secuenciales como
combinacionales de manera muy rápida en un espacio muy Fig. 2. Pantalla de Quartus II.
reducido.
En esta ocasión presentamos como programar un Una vez que hemos instalado nuestro software y
codificador BCD a 7 segmentos en un FPGA de la marca descargado los componentes para Cyclone y solicitado un
Altera, el modelo es el Cyclone II, una imagen de este FPGA archivo de licencia, ya podemos empezar a trabajar.
lo podemos ven en la figura 1.
La tarea consiste en implementar el codificador BCD a 7
segmentos utilizando With Selecta si como se muestra en la Damos click en siguiente hasta llegar a la página 3 de 5,
figura 3. en la página 2 de 5 no movemos nada. En la página 3 de 5
seleccionamos el dispositivo a programar que en este caso es
un Cyclone 2 modelo ep2c5t144c8, como lo podemos ver en
la figura 7.

Fig. 3. Circuito a ser implementado en un FPGA.

Programaremos en Quartus II. Por tanto ejecutamos el


software y veremos una pantalla de trabajo como se muestra
en la figura 4.

Fig. 7. Seleccionamos Cyclone II ep2c5t144c8.

Damos click en siguiente y en EDA Tools no movemos


nada y después damos click y en la página 5 de 5 aparece el
resumen del proyecto, como lo podemos ver en la figura 8.

Fig. 4. Pantalla de trabajo de Quartus II.

Nos vamos al asistente de proyecto, en File > New


Project Wizard. Y tendremos la ventana que se muestra en la
figura 5.

Fig. 8. Resumen del proyecto.

Después damos click en File > New y aparece la ventana


que se muestra en la figura 9, entonces seleccionamos VHDL
File, y damos click en Ok.

Fig. 5. Pantalla del asistente de proyecto.

Después escribimos una carpeta donde guardaremos


nuestro trabajo y el nombre del archivo como se puede ver en
la figura 6.

Fig. 9. Elegimos archivo VHDL.

Tendremos una hoja en blanco y entonces ya podremos


escribir el código que implementara la función lógica
combinacional de la figura 3.
Fig. 6. Especificamos el nombre de proyecto.
Escribimos el código siguiente:

library ieee;
use ieee.std_logic_1164.all; Fig. 12. Icono Pin Planner.
library altera;
use altera.altera_syn_attributes.all;
Entonces tendremos la pantalla en donde indicamos que
ENTITY bcd7 IS pines del FPGA le asignaremos a las correspondientes
port señales, esto lo podemos ver en la figura 13.
(
F : out std_logic_vector(6 downto 0);
x3 : in std_logic_vector(3 downto 0)
);

END bcd7;
ARCHITECTURE ppl_type OF bcd7 IS
BEGIN
with x3 select
F <= "0111111" when "0000",
"0000011" when "0001",
"1101101" when "0010",
"1100111" when "0011",
"1010011" when "0100", Fig. 13. Configuración de los pines.
"1110110" when "0101",
"1111110" when "0110",
Realizado esto damos click en el icono Enable Live I/O
"1100011" when "0111",
"1111111" when "1000", Check como se ve en la figura 14.
"1110111" when "1001",
"1111011" when "1010",
"1011110" when "1011",
"0111100" when "1100",
"1001111" when "1101",
"1111100" when "1110",
"1111000" when others;
END ppl_type;

En la figura 10 vemos la captura de pantalla del código


mostrado. Fig. 13. Activamos los pines I/O.

Después nos vamos a Tools > Programmer, como se


aprecia en la figura 14.

Fig. 10. código VHDL.

Damos click en Star Compilation es icono se muestra en Fig. 14. Vamos a Tools > Programmer.
la figura 11 y tendremos un reporte de compilación.
Entonces se abre la ventana de programación, asi como se
muestra en la figura 15.

Fig. 11. Icono Start Compilation.

Después asignaremos los pines que servirán de entradas,


x1, x2 y x3 y el pin de salida F, para lo cual damos click en
el icono Pin Planner, mostrado en la figura 12.
Fig. 15. Ventana de programación.

Seleccionamos el archivo *.sof, y damos click en Start


como lo podemos ver en la figura 16. Fig. 19. Vemos el código para la letra “A”.

Fig. 16. botón de programación.

Después el programa será cargado en el FPGA. Y


tendremos el indicativo de 100% exitoso como se aprecia en
la figura 17.

Fig. 20. Vemos el numero 5.


Fig. 17. Programación exitosa.

Por último vemos en las imágenes 18 a 20 fotografías del


circuito funcionando.
CONCLUSIONES

El trabajo realizado permite obtener las siguientes


conclusiones:
1.- El uso de FPGA’s para implementar funciones lógicas
es ventajoso al ahorrarnos mucho espacio comparándolo con
los circuitos TTL.
2.- El manejo de FPGA’s para un codificador BCD a 7
Segmentos es muy fácil comparado incluso con los
microcontroladores.

REFERENCIAS
[1] - Altera: Quartus II Introduction Using VHDL Designs 2011.
Fig. 18. FPGA codificado BCD a 7 segmentos.
[2] - Altera: My First FPGA Design Tutorial 2013.

Lo primero es probar si al presionar x3 enciende el Led. [3] -Altera Cyclone II Device Handbook, Volume 1, 2013.

[4] - USB-Blaster Download Cable User Guide, 2013.

[5]-https://www.altera.com/products/fpga/cyclone-series/cyclone-
ii/support.html

View publication stats

También podría gustarte