lunes, 28 de octubre de 2013

2. El Entorno de Desarrollo de Altera: el QUARTUS II

El Quartus II de Altera

Si queremos hacer un programa en C++, la IDE que se nos viene a la mente es el famoso Dev C++. Si queremos hacer algo con java, tenemos al NetBeans o el Eclipse. Así mismo, si queremos programar un microcontrolador, como los famosos PIC de Microchip, tenemos al CCS Compiler.
Bueno, para el diseño digital también hay muchas IDE's: tenemos al MAX PLUS II de Altera, al ISE de Xilinx, el WARP de Cypress, al Quartus II de Altera. Particularmente yo prefiero trabajar con Quartus II, y los futuros diseños a explicarse se harán utilizando esta IDE, pero esto no implica que estos diseños solo podrán compilarse en esta IDE. Como lo mencioné en la intruducción, el lenguaje a utilizar será el VHDL, y este lenguaje es estándar, y por ende, independiente de la IDE que se utilice. Eso sí, esta entrada está dedicada a explicar como usar la IDE Quartus II de Altera, así que si alguién utiliza otra IDE, puede saltarse esta entrada y ver los demás artículos. Lo último que quiero es imponer mi estilo, así que cada quien debe usar la IDE que mejor le parezca.

Quartus II de Altera
Continuando, Quartus II es un entorno de diseño orientado a la programación de los dispositivos de Altera. Si están interesados en obtenerlo, pueden descargar una versión gratis, denominada la Web Edition, desde la misma página de Altera. (Acá les dejo el link de su centro de descargas:http://dl.altera.com/?edition=web). Desde este centro de descargas pueden obtener la versión de Quartus que deseen. Tienen desde la versión 9 hasta la 13 (la cual es, hasta el momento en que escribo este artículo, la más avanzada). Eso sí, el programa es pesado (más de 1GB), así que tomen las medidas del caso. Además de la Web Edition, se ofrece la Subscription Edition, y como su nombre lo indica, no es gratis. Pero con la edición gratis me parece que
se dispone de las herramientas suficientes para encarar cualquier problema de diseño.

El entorno de Quartus II


 Como toda IDE, el software Quartus II ofrece herramientas que nos ayudarán a diseñar sistemas digitales. Primeramente os presentaré la ventana principal, y qué podremos encontrar en ella. 

Ventana que observarás cada vez que abras Quartus II. ¿Qué les parece? ¿Bonita, no?
Encontraremos acá la barra de herramientas con las típicas opciones ofrecidas por todas las IDE: File, Edit, View... En este caso, lo nuevo son las opciones Assignments y Processing. La primera contiene herramientas concernientes a la asignación de pines al momento de compilar, la elección del dispositivo, entre otras opciones. Processing contiene herramientas para configurar la compilación, la simulación, entre otras similares. 

 Quartus II ofrece también la posibilidad de simular los diseños. Pero la forma en que lo hace es distinta a como lo hace, por ejemplo, el buen Proteus. Para simular proyectos de diseño digital utilizando VHDL se debe crear un nuevo tipo archivo, denominado waveform file, o archivo forma de onda. Básicamente, se crean las formas de onda en el tiempo de las señales de entrada, y se observa cómo responde el diseño (con ello nos olvidamos de implementar los diseños físicamente para verificar si están bien o no). Más adelante les mostraré como hacer esto.

 

Creación del archivo .vhd


El primer paso es crear el archivo .vhd. Para ello, hacemos click en el ícono New (el de la hojita en blanco). Cuando lo hagan, les saldrá la siguiente ventana:

Lista de todos los tipos de archivo que se pueden generar con Quartus II.
 Como pueden apreciar, en esta ventana se nos ofrece una gran variedad de opciones de diseño. Se ve que está la opción para crear un proyecto, pero me parece que una manera más sencilla de hacerlo, por ahora, es a través del Project Wizard. 

Se pude ver además una clasificación de estos archivos. Por ahora, elegiremos la opción VHDL File. Hecho esto, os aparecerá la siguiente ventana.


En esta ventana podrás dar rienda suelta a tu imaginación, al escribir tus códigos de diseño.

 En la ventana en blanco que aparecerá escribirás tu código. Es importante guardar el archivo .vhd con el nombre de la entidad de diseño que elijas. Más adelante explicaré este concepto de entidad. Por ahora, observando la siguiente imagen ejemplo, en la que se definió la entidad como proyecto1, al momento de guardar, el nombre con el que deberá hacerse será proyecto1 también, y el archivo deberá quedarte como proyecto1.vhd.

 
entity proyecto1 : Con estas palabritas defines una entidad llamada proyecto1 en VHDL.

 
Guardando el código escrito. Recordar hacerlo usando el mismo nombre que la entidad de tu código.


Respecto a la recomendación de desmarcar la opción Create new project based on this file, aconsejo esto debido a que el Project Wizard creará un proyecto estableciendo a tu archivo .vhd como top file. Aunque inicialmente esto no sea problema, cuando se planteen problemas que requieran diseño jerárquico, las cuestiones respecto a los nombres de los proyectos puedrían marearlo. Esta opción es útil si el archivo que se está guardando será en si el archivo top de tu proyecto.

Creación de proyectos


Para empezar de una buena vez, les mostraré como crear un proyecto utilizando el Project Wizard de Quartus II. Tengan en cuenta que para que simulen un diseño, este debe estar contenido dentro de un proyecto. Ello no implica que cada que querramos escribir algún código en VHDL tengamos que crear proyectos independientes. El VHDL permite un estilo de programación denominado diseño jerárquico, en el que códigos independientes de VHDL pueden unirse para formar un solo proyecto final. Más adelante os enseñaré qué esto del diseño jerárquico. Por ahora, continuaré explicando como crear un proyecto.
El primer paso es ir a File, y en la ventana que aparezca, elegir la opción New Project Wizard. 

Elegir New Project Wizard y que el mago haga su magia...

Una vez hagan click en ella, les aparecerá la siguiente ventana, la cual es la primera del Project Wizard. 

 
Ventana introductoria del Project Wizard. Acá se muestran los pasos a seguir a fin de configurar tu proyecto.

Pulsar Next para entrar a la primera ventana de configuración. 




 Se ven tres espacios en los que escribir. El primero determinará el directorio en el que se guardará el proyecto. Este no es tan importante. Los que sí son importantes son los dos espacios siguientes. El nombre del projecto y el nombre del archivo top-level. El archivo top-level es el de mayor prioridad (cuándo explique lo de diseño jerárquico se entenderá mejor esto). Por defecto, el Project Wizard nombrará al archivo top con el nombre del projecto. En vez de dejarlo así, debemos hacer click en el browser de dicho espacio, y una vez en él, buscar el archivo .vhd que hemos creado previamente. Con esto, se elegirá al archivo .vhd que hayamos creado como archivo top y no se presentarán problemas durante la compilación.

 Hecho esto, pulsando Next pasaremos a la siguiente ventana:

Selección de los archivos componenetes del proyecto. Por ahora, con Add All y luego Next quedaríamos satisfechos.

 Parafreaseando a la ventana, siempre es posible añadir nuevos archivos al proyecto. Ello nos da gran flexibilidad al momento de diseñar, pudiendo agregar mejoras en todo momento.

La siguiente ventana será la siguiente:

Ventana de selección de dispositivos.
En esta ventana, como lo insinúa su nombre, elegiremos el dispositivo sobre el que se espera compilar el proyecto. Tener en cuenta que este factor no es clave al momento tanto de simular o verificar si el diseño cumple su función. El tipo de dispositivo determinará los retrasos reales que se tendrán en el diseño. Además, en cualquier momento puede cambiarse el dispositivo, así que no deberían preocuparse mucho en esta ventana. Por ahora, implemente Next.

Configuración de la compilación y la simulación.

No hay mucho que hacer en esta ventana. Se puede seleccionar el tipo de simulación, configuración del análisis de tiempos, etc. Después de esta ventana, Quartus II mostrará un resumen de todas las opcionas configuradas. Tener en cuenta que estos parámetros podrán cambiarse después. 

Resumen de todas las especificaciones para el proyecto.

Un Finish y abremos acabado. 
Con esto, me parece que ya  tenemos la base para afrontar los primeros ejemplos de diseño utilizando el Quartus II de Altera. 

Nota: La versión que utilizo es la 11.1 sp1. Pero no se preocupen, que las opciones son casi las mismas para otras versiones. 

1 comentario:

  1. Muy buena publicacion, felicidades me aclaraste muchas cosas, gracias

    ResponderEliminar