Post on 15-Apr-2017
INTRODUCCION A QUARTUS II, USANDO DISEÑOS EN VHDL
1. Introducción
Este tutorial presenta una introducción a como trabajar con el Software Quartus II. En este
tutorial nos encontraremos con una visión general de un típico flujo CAD (diseño asistido
por computadora) que es implementado usando dispositivos FPGA (Dispositivo
programable que contiene bloques cuya interconexión y funcionalidad puede ser
configurada mediante un lenguaje de descripción especializado (wikipedia)), se muestra
paso a paso como se implementa en el sw Quartus II. Además de este tutorial se
dispondrá de un conjunto de programas que ya están corriendo con normalidad en el
software Quartus II para que puedan ser revisados.
EL SW Quartus II incluye soporte para muchos métodos de entrada, en este tutorial se
utilizara exclusivamente del diseño de entrada VHDL (Lenguaje definido por la IEEE usado
para describir circuitos digitales).
Todas las capturas y los programas están realizados con el Software Quartus II la versión
13.0.
2. Típico CAD (Diseño asistido por computadora) Un diseño asistido por computadora hace que se vea de una manera más fácil como va a
funcionar un circuito ya en sus dispositivos tal como un FPGA, ya que el SW usa dispositivos
lógicos programables. Un CAD típico es de la siguiente manera:
DISEÑO DE ENTRADA.- Se debe tener un diagrama esquemático del circuito que se
requiera, esto se lo hace usando el lenguaje VHDL.
SINTESIS.- El diseño de entrada es sintetizada o verifica como si estuviera en una FPGA.
SIMULACION FUNCIONAL.- El diseño que ha sido sintetizado es puesto a prueba para
verificar si el funcionamiento es el correcto. La simulación no tiene nada que ver con el
tiempo de respuesta.
DISEÑO ADECUADO.- Se realiza una comparación como si se estuviera colocando en
una FPGA al diseño que ha sido puesto a prueba. Para determinar si se ha utilizado los
correctos dispositivos.
TIEMPO DE ANALISIS.- Se analizan los retardos que tiene el circuito en donde y porque
se producen esos retardos para saber si es el tiempo adecuado para el mismo.
TIEMPO DE SIMULACION.- Se analiza para saber si el tiempo es el correcto para ponerlo
el circuito a funcionar.
PROGRAMACION Y CONFIGURACION.- el diseño del circuito es implementado en UN
CHIP FPGA.
3. Introducción a QUARTUS II Proyecto.- Cada circuito lógico o subcircuito que es diseñado con el SW Quartus II se llama
proyecto.
Directorio.- Todo el proyecto funciona sobre un solo directorio, y a su vez el SW Quartus II
opera solamente sobre un proyecto a la vez.
Crear Nuevo Proyecto.- Para iniciar un nuevo proyecto el primer paso principal es el de
crear un directorio para todos sus archivos.
En este tutorial vamos a utilizar un directorio llamado tutorial, es este ejemplo tenemos un
circuito simple para el control de la luz en dos vías:
4. Iniciar QUARTUS II Al momento de iniciar el software Quartus II nos encontraremos con una pantalla similar a
la imagen donde se realizara todo el proyecto, consta de varios menús y submenús que
servirán para realizar determinadas tareas de un proyecto. Estas se irán utilizando según se
vaya avanzando en el tutorial.
5. Empezar un nuevo proyecto Para empezar a trabajar en un proyecto nosotros debemos definir un nuevo proyecto.
Quartus II hace que la creación de un nuevo diseño sea fácil providenciando soporte desde
un wizard (asistente para crear nuevos proyectos).
Pasos:
5.1. Seleccionamos FILE > NEW PROJECT WIZARD
> 5.2. Clic en NEXT, y nos aparecerá una pantalla similar a la de la imagen en donde se deberá
seleccionar el directorio sobre el cual trabajara el proyecto, además cual es el nombre
del proyecto. En nuestro ejemplo seleccionamos la ubicación en donde se encuentra
nuestro directorio TUTORIAL y le asignamos el nombre light.
Al momento que nosotros le asignamos el nombre light debemos saber que este
nombre será el que tendrá la raíz de nuestro proyecto y por ende nuestro entidad
principal.
5.3. Al momento de pulsar NEXT nos saldrá una ventana en donde nosotros podremos
escoger archivos o clases que existan o que servirán para el proyecto, en este caso como
estamos iniciando el proyecto no tendremos que agregarle nada.
5.4. Solamente damos clic en NEXT y nos aparecerá una ventana similar a la siguiente, en donde en la pestaña Family: escogemos Cyclone II y en la pestaña de Available devices: escogemos EP2C35F672C6.
5.5. AL momento que damos clic en NEXT nos aparecerá la siguiente pantalla en
donde en EDA tool Setting, en la pestaña: escogemos ModelSim-Altera y en format escogemos VHDL.
5.6. Al momento de dar clic en NEXT nos aparecerá un sumario de todas las configuraciones que hemos hecho para nuestro proyecto como la imagen siguiente:
5.7. Clic en finish, y podremos comenzar a trabajar sobre nuestro primer proyecto creado.
6. Creación de una entrada de diseño usando código VHDL Para nuestro proyecto nos basaremos en el siguiente diagrama y tabla de verdad este será transformado a código VHDL.
6.1. Usar el TXT EDITOR de QUARTIS II
Para poder escribir nuestro código VHDL directamente en QUARTUS II tenemos que seguir los siguientes pasos: 6.1.1. FILE > NEW y nos aparecerá la siguiente pantalla:
6.1.2. En esta pantalla deberemos escoger VHDL FILE
6.1.3. Clic en OK y nos aparecerá enseguida el text editor de QUARTUS II en
donde podremos ya comenzar a escribir nuestro código.
7. Código VHDL para nuestro proyecto. El código VHDL utilizado para nuestro primer proyecto es el siguiente (antes de ejecutarlo debemos guardarlo en nuestra raíz light):
8. Compilación del circuito diseñado Todo el código VHDL es procesado por el SW QUARTUS II, este analiza el código, sintetiza el circuito y genera una implementación para un chip tarjeta. 8.1. Solamente damos clic sobre el triángulo en la pestaña superior del editor, acto
seguido comenzara a compilar y nos dará los resultados.
En caso de existir errores o advertencia nos aparecerá en la parte inferior de la pantalla todos los errores con rojo y advertencias con verde. En nuestro ejemplo no existen errores por lo que el código se ha ejecutado con total normalidad.
9. Simulación 9.1. Nos dirigimos hacia la pestaña FILE > NEW Y ESCOGEMOS LA OPCION University
Program VWF.
9.2. Nos aparecerá una ventana similar a la siguiente:
9.3. Procedemos a asignar las entradas y salidas EDIT > INSERT > INSERT NODE BUS:
Asignamos tanto entradas como salidas de la misma manera, en name podemos escribir cualquier nombre, y en node finder, buscamos nuestro nodo el cual queremos asiganar.
Luego de haber asignado todos los nodos podemos proceder con la simulación.
Podemos modificar nuestras entradas como nosotros lo requerimos.
El resultado será el siguiente, luego de ejecutar la simulación con el botón :