Sie sind auf Seite 1von 20

Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Electrónica Digital EPIE - UNSA

Franco Helio Enriquez Quispe

Prof. Dr. Juan C. Cutipa-Luque

Guía de programación de VHDL en Quartus Prime

Introducción:
En la presente guía se hará una introducción al sistema Quartus Prime CAD, pautas para la
programación en código VHDL, el proceso de diseño es ilustrado paso a paso, para
implementar un programa simple en un FPGA, Cyclone IV.

La presente guía hace uso del diseño mediante VHDL (Very High Speed Integrated Circuits).

Las capturas de pantalla han sido realizadas en Quartus Prime 16.1 Lite Edition

Inicio
Después de la instalación del programa Quartus Prime, en este caso es la versión lite,
procedemos a la creación del proyecto. Para lo cual realizaremos los siguientes pasos:

Paso 1:

Iniciamos el Quartus Prime desde el menú de inicio o escritorio, tiene que aparecer una
ventana similar a la Figura 1. De no ser así la instalación no se realizó correctamente, o no se
ha adquirido la licencia aún, esto para versión Estándar.

Figura 1: Ventana de inicio de Quartus Prime

1
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Paso 2:

Posteriormente procedemos a crear un nuevo proyecto haciendo clic en el menú principal de


Quartus Prime: <File>, <New> como muestra la Figura 2.

Figura 2: Comando para crear nuevo proyecto

En la ventana que se abrirá, seleccionamos <New Quartus Prime Project>, y hacemos clic en
<OK> como se muestra en la Figura 3.

Figura 3: Nuevo proyecto

2
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Se debe de abrir una ventana como la Figura 4, en esta se muestra la introducción y algunas
consideraciones para los siguientes pasos. Hacemos clic en <Next>.

Figura 4: Introducción

Paso 3

Después de lo anterior seleccionamos la carpeta donde se creará nuestro proyecto, en este


caso lo dejaremos en Default como muestra la Figura 5. Luego se pone el nombre al proyecto,
en este caso “guía_practica”. Hacemos clic en <Next>.

Figura 5: Dirección, nombre, entidad Top-Level

3
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Paso 4

En la siguiente ventana observamos dos opciones para tipo de proyecto: Empty Project y
Project Template. El primero es un proyecto en blanco, tenemos que especificar librerías y
demás, en segundo está basado en una plantilla la cual puede ser creada o descargada

En este caso crearemos un proyecto en blanco, dejaremos en <Empty Project> como muestra
la Figura 6 y haremos clic en <Next>.

Figura 6: Tipo de Proyecto

En la siguiente ventana (ver Figura 7) es para agregar alguna librería que se tenga.
Procederemos a obviar y hacer clic en <Next>.

Figura 7: Ventana para agregar archivos.

4
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Paso 5

En esta parte seleccionamos el dispositivo que vamos a utilizar, viendo el Datasheet


procedemos a seleccionar. En este caso escogeremos la familia Cyclone IV E y el nombre del
dispositivo EP4CE22C8 (ver Figura 8), y hacemos clic en <Next>.

Figura 8: Selección de la tarjeta a trabajar

La siguiente ventana (ver Figura 9), es para agregar alguna herramienta, obviaremos este paso
y clic en <Next>.

Figura 9: EDA herramientas de configuración

5
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

La siguiente ventana es un sumario, como se muestra en la Figura 10, dándonos un resumen


del proyecto que estamos a punto de crear. Clic en <Finish> y tendremos nuestro proyecto
creado, debe mostrarse una pantalla similar a la Figura 11.

Figura 10: Sumario

Figura 11: Nuevo proyecto creado

6
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Programación VHDL
Paso 1

Ahora procederemos a crear un archivo para escribir nuestro código VHDL, para lo cual
hacemos clic en el menú principal: <File>, <New> como se muestra en la Figura 12

Figura 12: Comando para crear nuevos archivos

Procedemos a crear el archivo VHDL tal como se muestra en la Figura 13, luego hacemos clic
en <OK>.

Figura 13: Nuevo archivo VHDL

7
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Después de lo anterior se tiene que generar una ventana como la Figura 14, una ventana para
escribir el código VHDL.

Figura 14: Ventana de edición VHDL

Paso 2

Hacemos clic en el menú principal <File>, <Save As> y guardamos con el nombre deseado en
formato de archivos VHDL (VHDL Files), es recomendable que el archivo Top sea del mismo
nombre que el proyecto, en este caso “guía_practica” (ver Figura 15).

Figura 15: Guardar como código *.VHD

8
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Como se observa en la Figura 16, la ventana de edición VHDL cambió de nombre.

Figura 16: Ventana de edición VHDL

Paso 3

Para facilitar en la escritura de código VHDL, Quartus Prime tiene una herramienta muy útil
para que empiezan a programar o ayuda en el formato de escritura, este es “Insert Template”.

Esta herramienta cuenta con códigos prestablecidos.

Para entrar a esta herramienta hacemos clic en el menú <Edit>, <Insert Template> del menú
principal. Y aparecerá una ventana igual a la Figura 17.

Figura 17: Insert Template

9
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Paso 4

En la ventana (ver Figura 18) se puede encontrar diversas plantillas para facilitar la escritura,
como estamos en codificación VHDL vamos a esta parte haciendo clic en <VHDL>, y
observaremos varias opciones.

Como estamos iniciando en codificación VHDL Usaremos <Constructs>, <Design Units>.

Figura 18: Códigos predefinidos para VHDL

Hacemos clic en cada una de las librerías que usaremos, en este caso Library Clause, Use
Clause, Entity y Architecture. Luego hacemos clic en <Insert> para cada una de las librerías.

Como se ve en la Figura 19, la ventana de edición quedó cargada con las plantillas. Es
importante que la operación se realice en orden, es decir, primero Library Clause, luego Use
Clause, y así sucesivamente.

Figura 19: Códigos VHDL insertados en la ventana de edición.

10
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Paso 5

En este paso eliminamos los comentarios para que la plantilla se pueda observar
completamente.

En la Figura 20 se muestra el orden que los comandos deben de seguir: primero la librería
principal (library ieee), luego las sub-librerías que se utilizarán; segundo la entidad y sus
puertas, especificando el tipo de entrada y salida; y finalmente la arquitectura o
funcionamiento del programa.

Figura 20: Códigos esenciales para programación de VHDL.

11
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

En la Figura 21 se muestra un ejemplo de código para un bloque de 2 entradas y 2 salidas, una


de las salidas representará la operación AND de las 2 entradas y la otra salida la operación OR.

Aquí la tabla de verdad:

In1 In2 Out1 Out2


0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 1

Figura 21: Código ejemplo de puertas lógicas AND y OR

Paso 6

Después de escribir el código VHDL procedemos a la compilación haciendo clic en el menú


<Processing>, <Start Compilation> del menú principal, de aparecer la ventana de la Figura 22,
hacemos clic en <yes>.

Figura 22: Ventana de advertencia

12
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

En caso no bote errores, se mostrará como la Figura 23, de no ser así, corregir los errores
haciendo doble clic en las líneas rojas. Generalmente son errores de sintaxis

Figura 23: Compilación realizada exitosamente

Simulación
Antes de pasar a la implementación en la tarjeta FPGA es recomendable realizar una
simulación, para ver la respuesta para los casos mas representativos.

Paso 1

Se crea un archivo de verificación, para este ejemplo usaremos University Program VWF, que
es un vector de onda. Hacemos clic en <File>, <new> y en la ventana que aparece (ver Figura
24) seleccionamos University Program VWF.

Figura 24: Ventana para la creación de vector de testeo

13
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Paso 2

En la ventana que denominaremos de simulación (ver Figura 25) realizamos las


configuraciones para realizar la pruebas pertinentes.

Figura 25: Editor de la onda para la simulación.

Clic en el menú <Edit>, <Set End Time> de Simulation Waveform Editor para poner el tiempo
final de la simulación como se muestra en la Figura 26

Figura 26: Ventana de edición tiempo final.

Después de hacer clic en <OK> se debe de mostrar una ventana similar a la Figura 25 pero
hasta 100ns.

Clic <View>, <Fit in Window> Por si en la pantalla no se ve los 100ns.

14
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Paso 3

Clic en el menú <Edit>, <Insert>, <Insert Node or Bus> de la ventana de simulación para
escoger las puertas para la simulación.

Figura 27: Inserción de nodos

Después de hacer <OK> en la Figura 27, la Figura 28 aparece, tenemos que hacer clic en <List>
para que encuentre los nodos; debe mostrarse como la Figura 28

Figura 28: Ventana para encontrar los nodos o vectores

15
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Procedemos a seleccionar las puertas para la simulación, haciendo clic en el ítem deseado del
cuadro izquierdo y luego haciendo clic en los íconos resaltados de la Figura 29. Al final debe
mostrarse una ventana similar a la Figura 29.

Figura 29: Seleccionando nodos para la simulación.

En la Figura 29 hacemos <OK> y retornamos a la ventana de Insert Node or Bus (ver Figura 30),
acto seguido hacemos en <OK>.

Figura 30: Ventana con los nodos seleccionados.

16
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Paso 4

La ventana que aparece debe ser similar al de la Figura 31. Es aquí donde editaremos la señal
digital de entrada para obtener todos los casos de la tabla de verdad que se presentó
anteriormente.

Figura 31: Ventana de simulación con los nodos seleccionados.

Seleccionar la porción que queremos cambiar de valor lógico y hacer clic en los iconos que se
han resaltado, en este caso el ‘0’ o ‘1’ dependiendo, tal como se muestra en la Figura 32

Figura 32: Ventana de simulación con las señales de entrada editados.

17
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Clic en <File>, <Save> para guardar nuestro vector de simulación y ponemos “guía_practica” o
cualquier nombre que se desee.

Figura 33: Guardar como Vector Waverform.

Paso 5

Clic en el ícono o <Simulation>, <Run Functional Simulation> de la barra de menú de la


ventana de simulación. Se creará una nueva ventana de lectura (ver Figura 34), en esta
apreciamos los resultados y efectivamente son iguales al de la tabla de verdad.

Figura 34: Ventana final de simulación.

En caso haya error, cambiar el nombre del archivo <File>, <Save As> a un nombre diferente al
archivo de “guía_practica”, sucede que a veces no reconoce el mismo nombre del archivo
principal.

18
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Vista RTL
En la pantalla principal de Quartus Prime hacemos clic derecho en el archivo “guía_practica”
tal como se muestra en la Figura 35, luego clic en <Locate Node>, <Locate in RTL Viewer>

Figura 35: Vista RTL.

Finalmente se observará las puertas digitales que se han utilizado para obtener el resultado de
la tabla de verdad (ver Figura 36).

Figura 36: Puertas Lógicas

En este caso han salido las compuertas digitales conocidas y en combinación simple, pero no
siempre sucede de esta forma; en codificaciones complejas, la vista RTL del circuito hace
combinaciones largas e innecesarias para obtener el resultado. Para optimizar esto, la
codificación en VHDL nos brinda herramientas o métodos de programación que se verán en
una próxima guía.

19
Guía de programación de VHDL en Quartus Prime Franco H. Enriquez Q.

Bibliografía:
Quartus Prime Introduction Using VHDL Designs – Intel FPGA to versión QP 16.1

20

Das könnte Ihnen auch gefallen