Está en la página 1de 32

Universidad Politécnica Territorial del Estado Aragua “FBF”

PNF de Electricidad – Sede Maracay

Sistemas Digitales
Guía No. 1: FPGA Cyclone II

Profesor: Ing. Pedro Landaeta.

Estudiante: TSU. Sarais Cabral.

Introducción: Con el avance de la tecnología en la simulación de circuitos es necesario


avanzar y mejorar el estudio de estos programas, no perdiendo el objetivo de aprender
sobre los sistemas digitales. Esta guía pretende ser una introducción a los lenguajes HDL
(Hardware Description Language), específicamente para trabajar con AHDL (Altera
Hardware Description Language) de Altera y VHDL (Very high speed integrated circuit
Hardware Description Language) del estándar IEEE (Institute of Electrical and Electronics
Engineers) std 1076- 1987. Se explicará con mayor detalle VHDL para minimizar el
contenido de la guía, pero el estudiante puede trabajar en el lenguaje que prefiera, también
se pretende utilizar un programa de simulación como es Quartus II el cual se tomara a
detalle los pasos de instalación y simulación en este.

Quartus II Edición Web 13.0 sp1. La Edición Web es una versión gratuita de Quartus II
que puede ser descargada o enviada gratuitamente por correo. Esta edición permite la
compilación y la programación de un número limitado de dispositivos Altera.

La familia de FPGAs de bajo coste Cyclone, está soportada por esta edición, por lo que los
pequeños desarrolladores no tendrán problemas por el coste del desarrollo de software.

Se requiere un registro de licencia para utilizar la Edición Web de Quartus II, la cual es
gratuita y puede ser renovada ilimitadamente.

Un punto muy importante es la versión, ya que físicamente poseen dispositivos


EPM3032ATC10-7, EPM3064ATC10-7 y EPM240T100C5N es necesario utilizar una
versión de software que le brinde soporte a las familia EP2C5T144C6, ya que la versión
14.1 no brinda dicho soporte se utilizara la versión 13.0 web edition service pack 1.

Quartus II necesita una herramienta aparte que no vienen incluida dentro del programa
principal, que sirve como interfaz entre el software y el equipo programador, su nombre es
Quartus programmer y debe estar acorde con la versión del software, esta herramienta
permite la configuración del programador y es la encargada de la descarga de datos hacia el
dispositivo físico.

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
1
Familia Cyclone II

Los dispositivos Cyclone II EP2C5T144C6 son de bajo costo y alto rendimiento basados
en la arquitectura Cyclone de Altera. Son fabricados con tecnología avanzada CMOS,
operan con 3.3v. Proveen entre 4000 a 20000 compuertas utilizables y contadores de
velocidad superiores a 227.3 MHz. Son totalmente compatibles con lógica TTL.

Figura No. 1: Distribución de pines para la FPGA seleccionada.

Se utilizara el FPGA cyclone II EP2C5T144C6.

Instalación y licenciamiento del Software.


Para la descarga del software lo podemos buscar dentro de la página oficial de Altera:
www.altera.com

Se recomienda entrar a este sitio https://www.altera.com/download/sw/dnl-sw-index.jsp


siempre de la página de Altera y hacer clic para seleccionar la versión basándose en
dispositivos, tal como lo muestra la imagen en la siguiente página.

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
2
Figura No. 2: Pantalla de búsqueda del software adecuado.

Luego de dar clic a la versión, se llegara a la siguiente página en donde se debe descargar
los archivos marcados.

Figura No. 3: Página Principal de descarga.

Todo esto tendrá un peso de 1.6 GB aproximado, pero se debe tener libre por lo menos 6
GB en disco duro para completar la instalación de forma satisfactoria.

Una ventaja significativa es que esta versión no necesita un archivo de licencia.

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
3
Figura No. 4: Licencias.

Una vez se tienen los archivos se ejecuta primero el archivo QuartusSetupWeb-version.exe


Se desplegaría el asistente de instalación.

Figura No. 5: Asistente de instalación.

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
4
Los siguientes pasos son similares a cualquier programa en Windows, aceptar los términos
y condiciones, seleccionar la carpeta de instalación (recordar esta dirección ya que
posteriormente se utiliza).

Figura No. 6: Términos y condiciones.

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
5
Figura No. 7: Carpeta de instalación.
Una vez finalizada la instalación el programa estará listo para ser utilizado, en la ventana
principal se despliega un asistente para la ejecución de un nuevo proyecto, esa sección será
descrita posteriormente.

Figura. 8: Pantalla inicial Quartus II.

La instalación del Quartus Programmer es posterior y sigue la misma lógica del programa
anterior, Quartus Programmer es una extensión de la suite por lo tanto es un programa
independiente, si se necesitara solo el programador perfectamente se podría instalar sin
necesidad de instalar toda la suite, y para programar los dispositivos solamente se
necesitarían los archivos .pof generados por el compilador previamente.

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
6
Figura No. 9: Pantalla inicial del Quartus Programmer.

FPGA cyclone II. Como se sabe la serie cyclone va desde la I hasta la V.


Poseen hasta 120 mil elementos lógicos y hasta 535 pines de entrada/salida. Dentro de esta
serie tenemos las familias de FPGA Cyclone III, Cyclone II y Cyclone, El dispositivo
Cyclone III posee 4Mbits de memoria embebida dedicada a circuitería de interfaz de
memoria externa y PLLs. Los dispositivos de esta serie son de baja potencia, alta
funcionalidad y bajo costo, y además se pueden utilizar en aplicaciones tales como:
automotriz, despliegue y procesamiento de imágenes, militares, video, e inalámbrico. Con
un empaquetamiento tipo TQFP (Thin Quad Flat Package), correspondiente a un montaje
superficial,

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
7
https://tecnologiademontajesuperficial.es.tl/ENCAPSULADOS-DE-C-.-I-SMD.htm
Programación del FPGA Cyclone II en Quartus II

A continuación se muestra los pasos para programar un FPGA.

1. Inicializar Quartus II.


2. Del menú File, click en New Project Wizard

… Figura No. 10: Menú File.

3. Se abrirá un asistente, en el cual hay que completar 5 pasos para la configuración del
proyecto.

4. En el paso número 1 se asignara la carpeta en donde se guarden los archivos creados por
el proyecto, así como también el nombre del mismo, la carpeta puede tener cualquier
ubicación y el nombre del proyecto puede ser cualquiera.

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
8
Figura No. 11: pagina 1 creación del proyecto

5. La página numero 2 permite agregar archivos de diseño ya existentes, si se requiere un


proyecto desde cero lo ideal es clic en Next.

6. La siguiente etapa permite seleccionar el dispositivo que se requiere programar, para el


ejemplo se utilizara un ep2c5t144c6.

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
9
Figura No. 12: selección de dispositivos.

7. La etapa 4 permite la selección de las herramientas a utilizar para la compilación del


proyecto por el momento no se configurara nada en esa parte.

8. La etapa 5 muestra un reporte de configuración del proyecto.

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
10
Figura No. 13: reporte de configuración.

Figura No. 14: selección de tipo de archivo

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
11
9. En el menú File, clic en New
10. Seleccionar la opción VHDL file y clic en Ok.

11. Se abrirá una ventana de edición de texto en la cual se introducirá el código.


12. En el menú File, clic en la opción Save As y se guarda el archivo .tdf con el mismo
nombre del proyecto.
13. Escribir el código.

Figura No. 15: código.

14. En el menú Prossesing seleccionar la opción Start compilation.

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
12
Figura No. 16. Compilar el código.

Figura No. 17: si no hay errores se mostrará el siguiente mensaje.

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
13
SIMULACIÓN DE CIRCUITOS

Circuitos combinacionales con FPGA cyclone II de ALTERA

Comentario

Ya que se trata el tema correspondiente a


la simulación, se debe aclarar primero que
nada que no se usará el software
MODELSIM de la empresa ALTERA. Por ser
esta una investigación de iniciación en le
tema de los FPGAs vamos a arrancar
simulando con la herramienta University
Program VWF (Vector Wave File). Se
encuentra en File  New. Ver la figura 18.
Más adelante se encuentra una explicación
paso a paso para lograr simular cualquier
circuito descrito usando VHDL

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
14
Ejemplo de simulación de compuerta NOT

Figura No. 18: Ruta de acceso al simulador del Quartus II.

Al dar doble clic en la opción indicada arriba (University Program VWF) caemos en la
siguiente ventana

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
15
Dando doble clic en la parte en blanco

Aparecen las entradas y salidas del proyecto en que se está trabajando

Damos clic en la opción Node Finder

Aparece la siguiente ventana. Damos clic en List

Luego damos clic en OK. A la siguiente ventana OK. Y caemos en la ventana siguiente

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
16
Damos clic en la entrada que queremos simular con sus tiempos de reloj. Dando clic en la
barra de menú al botón señalado como overwrtie clock. Tenemos acceso a los tiempos de
la señal. Periodo y tiempo máximo de simulación.

Ahora se mostrará la salida

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
17
Se observa que la salida corresponde a un inversor. Se logra haciendo como se hizo con la
entrada, en primer lugar, seleccionando la salida y haciendo clic en overwrtie clock
seleccionamos los tiempos para esta señal.

Luego de todo esto damos clic en Run functional simulation

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
18
Ejemplo un poco más complicado que se deja propuesto para ser
simulado según lo explicado hasta ahora

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
19
Señales de entrada y de salida del circuito anterior

Repetimos el paso a paso para afianzar lo


aprendido

Vas a File  New  University Program


VWF

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
20
Chequeamos que esté la opción Pins All. Y damos clic en el botón List

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
21
Luego de esto damos aceptar (ok)

A la siguiente ventana OK

Y aparece la ventana que se muestra a continuación

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
22
Despues de fijar los tiempos de cada entrada. Damos clic en el boton señalado en la barra
de menú. Ocurrirá una compilación. Si todo está bien debe salir la siguiente ventana,
despues de un tiempo que dura la compilación. En el proceso de compilar te va a pedir un
nombre para el archivo de simulación. Coloca el mismo nombre de tu archivo hdl.

Y listo, lo que toca ahora es verificar la tabla de la verdad de nuestro circuito

Todo esto se hace sino se cuenta con la tarjeta FPGA.

Pero, en nuestro caso tenemos la cyclone II EP2C5T144C6

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
23
USO DE HARDWARE PARA CHEQUEAR EL CIRCUITO DESCRITO CON LA
TARJETA CYCLONE II EP2C5T144C6

Si observas con detenimiento veras los


terminales Vcc y GND en cada uno de
los extremos de los pines dispuestos
como I/O (Input/Output).

Eso indica que disponemos de


alimentación desde la misma tarjeta.
Hace que se alivie el trabajo porque no
necesitamos fuente externa.

Teniendo lista la asignación de pines


usando Pin Planner. Como se observa en la siguiente figura.

Lo que toca entonces es cablear y realizar las pruebas en hardware

De esta forma conectas los pulsadores que te hagan falta.


Recuerda que Vcc y GND lo tomas de la tarjeta FPGA.

Te hace falta entonces es el pulsador y la R de 10 KΩ

Viene ahora es ubicar los pines en la tarjeta que van a


servir de entradas y salida.

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
24
Teniendo todo listo, procedes a montar tu circuito.

Algo parecido a lo que se ve en la figura

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
25
Corrida de la descripción de la compuerta NOT

Se tiene el programa hecho en Quartus II. Al estar listo esta parte se procede a compilar

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
26
Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
27
Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
28
Después de asignar los pines que se van a usar como entrada y salida se procede a
compilar de nuevo

Observe que para esta nueva compilación la cantidad de Warnings ha disminuido ya que
fueron asignados los pines en el paso anterior.

Lo que toca ahora es grabar el programa en la memoria de la FPGA. Esto se hace buscando
la opción Programmer en la barra de herramientas Tools

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
29
Al asignar en Hardware Setup el USB Blaster como grabador de la FPGA. Y al
verificar que el modo de Grabación es JTAG estamos listos para mandar el programa a la
memoria de la FPGA. Usando la opción Start grabamos el programa

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
30
Se observa en color verde que dice 100% Successful , lo que quiere decir que el
programa ya se encuentra en la FPGA

Después lo que toca es probar la “descripción del hardware” en la tarjeta FPGA

Módulo de entrenamiento construido para la enseñanza de la tecnología FPGA usando el


Chip Cyclone II EP2C5T144C6 de la empresa ALTERA

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
31
ASIGNACIÓN

1. Realizar el código VHDL para las compuertas: AND, NAND, OR, NOR, EXOR,
EXNOR y NOT, simular en VHDL.
1.1 Explicar paso a paso como es el proceso de instalación del software VHDL usado.
1.2 Realizar el código VHDL para el problema que se le plantea: Un circuito lógico tiene
cuatro entradas A, B, C y D. Determine las ecuaciones lógicas para el circuito, si la salida
será alta solo cuando un número impar de entradas sean altas. Trace un diagrama de
circuito con las compuertas que desee

Bibliografía:
VHDL Lenguaje para descripción y modelado de circuitos, Fernando Pardo Carpio,
Universidad de Valencia 1997.
https://www.youtube.com/watch?v=00PcyQRHArY

DIGLENSY SAC Primera Empresa del Perú Dedicada al Desarrollo Electrónico, tutorial
VHDL, http://www.diglensy.com/

Análisis y diseño de circuitos lógicos digitales, Víctor Nelson, 1ª Ed.

Trabajo inspirado en el siguiente material

Guía de CPLD. Hecha en la Universidad del Salvador. Año 2000


https://www.academia.edu/23712271/Guia1_SDI?ends_sutd_reg_path=true

Trabajo presentado con la idea de dejar un material de apoyo para la enseñanza de la tecnología FPGA. Prof Pedro
Landaeta. UPT Aragua –Maracay. Venezuela. Landaetap2@gmail.com
Como parte del trabajo de grado de la aspirante a Ingeniero Sarais Cabral. Abril 2018
32