GHDL y
GTKWave en linux |
Fuentes y binarios Las fuentes o binarios se pueden obtener
de la página principal del proyecto de GHDL. También están
disponibles las fuentes de para GTKWave. Los binarios de
GHDL v0.27 (i686-pc-linux-gnu) y las fuentes de GTKwave v 3.1.13 están disponibles aquí
(7.3MB).
|
Preparación de Fedora 9 Es necesario tener una
instalación básica de linux fedora 9, la cual deberá
de contar entre otras herramientas, el compilador g++ de GNU versión 4.2.4,
así como las bibliotecas respectivas. Un método de
instalación de paquetes (RPMs) en fedora es creando un repositorio local a partir del
DVD de instalación.
Por ejemplo, para compilar e instalar el visualizador de señales, es necesario contar con GTK2, al instalar gtk2-devel se instalarán otros paquetes dependientes del mismo de manera automática. #yum search gtk2-devel #yum install gtk2-devel #yum install bzip2-devel Preparación de Debian 4.0r4a De manera similar, será necesario tener una instalación básica de linux debian 4.0r4a. Un método de instalación de paquetes (DEBs) en debian es accediendo a los DVDs de instalación. Las herramientas de instalación de aplicaciones en debian también resuelven las dependencias entre paquetes de forma automática. #apt-cache search libgtk2.0-dev #apt-get install libgtk2.0-dev #apt-get install gawk g++-4.1 pkg-config libbz2-dev zlib1g-dev |
Instalación
ghdl
Ahora, a partir de tgz GhdlGtkwave.tar.gz se realizan los siguientes pasos: $mkdir tmp.ghdl $cd tmp.ghdl $tar -zxvf ../GhdlGtkwave.tar.gz $tar -xvf ghdl-0.27-i686-pc-linux.tar $cd ghdl-0.27-i686-pc-linux $su #tar -C / -jxvf ghdl-0.27-i686-pc-linux.tar.bz2 Ghdl está basado en C/C++ y bibliotecas extras, por ejemplo: #apt-get install zlib1g-dev Instalación GTKWave En la versión de debian 4.0r4a se puede instalar un versión precompilada de GTKWave, almenos para i386: #apt-get install gtkwave Si no se cuenta con una versión compilada (Fedora) se pueden usar las fuentes y compilar la aplicación con los siguientes pasos: $tar -zxvf gtkwave-3.1.13.tar.gz $cd gtkwave-3.1.13 $./configure El script configure verifica si el sistema cuenta con las herramientas mínimas para poder compilar e instalar el GTKWave. Es recomendable satisfacer todas los requerimientos que solicita. Satisfechos los requerimientos, se procede a compilar e instalar el GTKWave. $make #make install |
Ejemplo de prueba A continuación se muestra el código de un inversor y un generador de estímulos, ambos en VHDL. $vim inversor.ghdl entity inversor is port ( entrada:in bit; salida:out bit ); end entity inversor; architecture beh of inversor is begin salida <= not entrada; end architecture beh; $vim tb_inversor.ghdl entity tb_inversor is end entity inversor; architecture beh of tb_inversor is component inversor is port ( entrada:in bit; salida:out bit ); end component inversor; signal ent:bit:='0'; signal sal:bit; begin U0:inversor port map ( entrada => ent, salida => sal ); process begin wait for 10 ns; ent <= '1'; wait for 10 ns; ent <= '0'; end process; end architecture beh; Editados el archivo con la descripción de nuestra compuerta y el archivo de estimulos, se invoca a ghdl para su análisis: $ghdl -a inversor.vhdl tb_inversor.vhdl Generamos el ejecutable a partie de los módulos (objetos) creados: $ghdl -e tb_inversor Se ejecuta el archivo pasando como parámetros el tiempo máximos de simulación y el archivo en donde se almacenarán los resultados: $./tb_inversor --stop-time=100ns --vcd=tb_inversor.vcd Finalmente visualizamos los resultados por medio de gtkwave $gtkwave tb_inversor.vcd |