Programación en VHDL/Apéndices/Instalación y uso de GHDL

← Apéndices/Síntesis Instalación y uso de GHDL


GHDL es un programa para Linux y Windows con licencia GPL que puede compilar y simular ficheros en VHDL. GHDL es un compilador basado en la tecnología de GCC y que genera ejecutables. También se usará el programa GTKWave para visualizar los resultados de la simulación.

Se ha elegido este programa para compilar y simular los programas de este libro por ser libre y gratuito. No obstante hay muchos otros programas, también para Windows, que pueden ser usados, algunos son:

  • ActiveVHDL (Aldec)
  • Leapfrog (Cadence)
  • Leonardo (Mentor Graphics)
  • Max Plus II (Altera)
  • Project Manager y Modelsim (Xilinx)
  • SYNOPSYS
  • VeryBest

Instalación

editar

El compilador GHDL puede descargarse de http://ghdl.free.fr/ en sus versiones de Windows, Linux y código fuente Ada. Si se opta por la tercera opción se necesita instalar el compilador GNAT (ver instalación de GNAT en el wikilibro de Ada).

Los programas normalmente llevan un fichero que explica la forma de instalarlos. También puede consultarse en español en la página https://oc.iaia.lcc.uma.es/~raragon/comidilla/ghdl.html.

Compilar y simular con GHDL

editar

Para compilar un programa hay que abrir la consola e ir al directorio donde están los ficheros creados. En primer lugar hay que compilar los ficheros del diseño y después los bancos de pruebas. Para compilar hay que usar el programa ghdl:

En este ejemplo se simulará un simple negador de una entrada y una salida. El fichero se llama negador.vhd y el código es:


     ENTITY negador IS
 	PORT (a: IN bit;
 	      b: OUT bit);
     END negador;
 
     ARCHITECTURE neg OF negador IS
     BEGIN
       b <= not a;
     END neg;

El banco de pruebas es un fichero llamado negador_tb.vhd que contiene el siguiente código:


     ENTITY negador_tb IS
     END negador_tb;
 
     ARCHITECTURE neg_tb OF negador_tb IS
       COMPONENT negador 
         PORT (a: IN bit;
 	       b: OUT bit );
       END COMPONENT;
       SIGNAL a: bit;
       SIGNAL b: bit;
     BEGIN
       u0: negador PORT MAP (a,b);		
       a <= '1' after 0 ns,'0' after 5 ns,'1' after 10 ns, '0' after 15 ns;
     END neg_tb;

Una vez que se tienen los ficheros se escribe en la consola:

ghdl -a negador.vhd
ghdl -a negador_tb.vhd
ghdl -e negador_tb
ghdl -r negador_tb --vcd=negador.vcd
gtkwave negador.vcd

A continuación se pueden ver unas capturas de pantalla de los comandos y del resultado:

Archivo:Negador consola.png

En GTKWave hay que seleccionar qué señales se quieren visualizar y cuánto tiempo se muestra. En la siguiente imagen se ha presionado el botón "Show All" y se han dejado únicamente las señales a y b.

Archivo:Negador grafica.png

Para más información sobre estos programas consultar sus respectivas ayudas.


← Apéndices/Síntesis Instalación y uso de GHDL