A.2. Simulación en Windows

A.2.1. Instalación

Para simplificar la instalación hemos preparado un paquete conteniendo el simulador ghdl y el visor de formas de ondas gtkwave. El mismo puede descargarse del proyecto FPGALibre.

Para instalarlo basta con ejecutarlo/abrirlo y seguir los pasos indicados. A modo ilustrativo se muestran los distintos diálogos. Primero se nos indicará que estamos por instalar el paquete GHDL_GTKWave, ver Figura A-3, presionamos el botón Next. Luego se nos ofrecerá elegir en que carpeta se instalará la aplicación, ver Figura A-4, presionamos el botón Next. Ahora se nos pedirá confirmación de que realmente queremos llevar a cabo la instalación, ver Figura A-5, presionamos el botón Install. En este punto es probable que Windows nos pida una confirmación adicional, contestaremos que estamos de acuerdo con realizar la instalación. El siguiente diálogo nos mostrará el progreso de la instalación, ver Figura A-6, simplemente esperamos a que termine. El último diálogo de instalación simplemente nos informa que la instalación ha concluido, ver Figura A-7, presionamos el botón Finish. Finalmente se nos informa que debemos reiniciar el sistema operativo para que los cambios tengan efecto, ver Figura A-8. Esto es porque el instalador necesita agregar el directorio de instalación a la ruta de búsqueda de programas (PATH). A este diálogo podemos contestarle que no, pero no podremos realizar los pasos siguientes hasta no haber reiniciado la máquina.

Figura A-3. Diálogo de bienvenida (Next)

Figura A-4. Punto de instalación (Next)

Figura A-5. Confirmación de instalación (Install)

Figura A-6. Progreso de instalación

Figura A-7. Fin de la instalación (Finish)

Figura A-8. Reiniciar el sistema (Yes)

Si este proceso falla podríamos intentar instalar las herramientas ofrecidas en las páginas web de cada proyecto. El simulador se puede descargar del proyecto GHDL. El visor de formas de ondas se puede descargar del proyecto GTKWave.

A.2.2. Ejecutar ghdl

Para correr ghdl necesitaremos un intérprete de línea de comandos. En Windows esta aplicación se denomina cmd.exe. Para correrla basta con presionar el botón de inicio (o la tecla con el logo de Windows) e ingresar cmd en la búsqueda, ver Figura A-9.

Figura A-9. Ejecutando cmd.exe

Dentro de la terminal basta con indicar el comando y presionar la tecla ENTER o Intro.

Para verificar que ghdl se encuentra correctamente instalado podemos ejecutar ghdl --version. Obtendremos algo similar a esto:

X:\YYYYY> ghdl --version
GHDL 0.25 (20060811) [Sokcho edition]
 Compiled with GNAT Version: GPL 2005 (20050729)
 mcode code generator
Written by Tristan Gingold.

Copyright (C) 2003, 2004, 2005, 2006 Tristan Gingold.
GHDL is free software, covered by the GNU General Public License.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Cuando trabajamos en la línea de comandos, y nos referimos a un archivo, el mismo se buscará en el directorio de trabajo. Este directorio es el mencionado al principio de la línea (en el prompt). Para cambiar el directorio de trabajo se usa el comando cd. Si queremos cambiar el directorio de trabajo a C:\ghdl ingresamos:

X:\YYYYY> C:

C:\ZZZZZ> cd \ghdl

C:\ghdl> 

A.2.3. Instalar los ejemplos

Los ejemplos pueden descargarse del proyecto FPGALibre. Para instalarlos bastará con descomprimir ejemplos.zip, recomendamos hacerlo en C:\ de manera tal que la carpeta C:\ejemplos contenga los ejemplos.

Existen varias maneras de realizar la descompresión, a modo de ejemplo mostramos una de las posibilidades. Primeramente abrimos la carpeta donde descargamos el archivo y hacemos click con el botón derecho sobre dicho archivo, ver Figura A-10. Del menú emergente seleccionaremos la opción de abrir el archivo.

Figura A-10. Abrir el archivo comprimido

Ahora aparecerá el contenido del archivo comprimido, ver Figura A-11. Seleccionamos la opción de extraer todos los archivos.

Figura A-11. Extraer el contenido

Se nos preguntará donde descomprimirlo, indicaremos C:\, ver Figura A-12.

Figura A-12. Indicamos donde queremos descomprimir el contenido

Una vez descomprimidos los ejemplos volveremos a la ventana de nuestro intérprete de comandos. Para trabajar con los ejemplos provistos deberemos cambiar el directorio de trabajo al lugar donde hayamos descomprimido los ejemplos. Para esto basta con ejecutar:

X:\YYYYY> C:

C:\ghdl> cd \ejemplos

C:\ejemplos> 

A.2.4. Como compilar un banco de pruebas

Una vez que ghdl se encuentra correctamente instalado, y que tenemos una terminal abierta en el directorio donde están instalados los ejemplos, podemos comenzar a probar alguno de ellos.

Existen varias formas de usar ghdl, una muy simple consiste en primero indicarle que archivos necesitamos usar y luego pedirle que genere el banco de pruebas. Como ejemplo tomaremos el caso del test bench mostrado en la Sección 5.1.1. Para este caso necesitamos usar los archivos bcd2aiken.vhdl y t_b2a_1.vhdl. Esto se lo indicamos a ghdl usando la opción import:

C:\ejemplos> ghdl -i bcd2aiken.vhdl
C:\ejemplos> ghdl -i t_b2a_1.vhdl

Sugerencia

Podemos especificar más de un archivo para la opción import usando comodines (wildcards).

Luego le indicaremos a ghdl que deseamos construir la entidad T_B2A_1. Esto lo hacemos con la opción make:

C:\ejemplos> ghdl -m t_b2a_1
analyze t_b2a_1.vhdl
analyze bcd2aiken.vhdl
elaborate t_b2a_1

Con esto estaremos en condiciones de ejecutar nuestra simulación.

A.2.5. Ejecutando el test bench

A diferencia del mecanismo tradicional de generar un ejecutable, la versión de ghdl para Windows realiza una simulación directa. Para esto deberemos usar el comando run:

C:\ejemplos> ghdl -r t_b2a_1
t_b2a_1.vhdl:25:7:@0ms:(report note): Probando el conversor de BCD a Aiken
t_b2a_1.vhdl:47:7:@5ns:(report note): Prueba exitosa!

Si decidiéramos realizar modificaciones al código fuente bastaría con volver a correr ghdl con la opción -m para que genere una versión actualizada de nuestro banco de pruebas.

Si nuestro banco de pruebas fallara y quisiéramos observar las formas de onda de nuestras señales deberíamos primero hacer un volcado a disco de las mismas. Esto se logra ejecutando el test bench con la opción --wave. Así si queremos volcar las señales a un archivo denominado t_b2a_1.ghw usaremos:

C:\ejemplos> ghdl -r t_b2a_1 --wave=t_b2a_1.ghw
t_b2a_1.vhdl:25:7:@0ms:(report note): Probando el conversor de BCD a Aiken
t_b2a_1.vhdl:47:7:@5ns:(report note): Prueba exitosa!

Luego abriremos el visor de formas de ondas:

C:\ejemplos> gtkwave t_b2a_1.ghw
GTKWave Analyzer v3.3.10 (w)1999-2010 BSI

[0] start time.
[5000000] end time.
Warning: encountered 4 glitches across 4 glitch regions.
Copyright © 2011 UTN FRBA - INTI - Ing. Salvador E. Tropea