You are currently browsing the tag archive for the ‘GHDL’ tag.
VHDL & LINUX
Dentro de mi poca experiencia en linux una de las cosas mas complicadas que me ha tocado experimentar es el compilar y simular en en VHDL (Very High Speed Integrated Circuit), llegue incluso a recurrir a la emulacion o virtualizacion de compiladores como Xilixs o Quartus, sin embargo googlenado un poco y con muchas horas de practica logre desde la consola de mi linux generar simulaciones en este lenguaje. Dejo a continuacion un link con los paquetes necesarios para la compilacion y simulacion de un proyecto http://packages.ubuntu.com/, si usas ubuntu puedes desde synaptic buscar los paquetes GTKWave o bien utilizar:
$ sudo aptitude install ghdl
$ sudo aptitude install gtkwave
Si usas otra distribución, puedes verificar si encuentras el codigo fuente, en la excelente página de Roberto Aragón se puede encontrar información y ayuda, el enlace es el que sigue:
A continuacion les comento de algunos comandos utiles para compilar nustros proyectos y claro para generarla simualcion de los mismos, GHDL dispone de un método muy sencillo para detectar las dependencias entre ficheros (la opción -i) y para elaborar la unidad de simulación (la opción -m). Si dispones de todos los ficheros fuente de la unidad, ejecutando:
$ ghdl -i *.vhd
importarás todos los componentes definidos en los ficheros. Una vez generado este fichero, GHDL ya sabe las dependencias entre entidades, arquitecturas y configuraciones de tu unidad y es capaz de generarla. Para ello sólo tienes que ejecutar la orden:
$ ghdl -m unidad-de-simulación
Para simular el recién creado modelo, puedes ahora generar un fichero de onda (VCD) y después verlo con GTKWAVE o ejecutar al mismo tiempo ambos programas. Para el primer caso primero ejecuta:
$ ./adder_tb –vcd=adder.vcd
a lo que el sistema responderá:
adder_tb.vhdl:52:7:(assertion note): end of test
lo que significa que la simulación ha terminado con éxito. Se habrá creado el fichero adder_tb.vcd que contiene un seguimiendo de onda cuadrada en respuesta a la simulación. Para poder verlo y verificar los datos ejecuta:
$ gtkwave adder.vcd
y usa las opciones de menú en Search->Signal Search…para añadir señales y poder verificar las salidas del modelo. Si estás usando la versión 2.0.0pre3 de gtkwave y dispones de un fichero con trazas salvadas de una anterior ejecución (p.e. llamado adder.trc) puedes ejecutar la simulación cargando automáticamente las trazas con la llamada:
$ gtkwave adder.vcd adder.trc
Para ejecutar la simulación y al mismo tiempo ver la onda también puedes usar:
$ ./adder_tb –vcd=- | gtkwave -vcd
Arrancará directamente GTKWAVE, de modo que puedas añadir las señales que quieras, y comprobar que tu modelo funciona adecuadamente.
Yo tarde mucho encontrando esta información en Google, y este post es únicamente para facilitar a aquellos googleros que necesiten esta información de forma mas rápida y sencilla. En caso de que tengan alguna duda sobre el lenguaje, algún proyecto que no salgo o quieran simplemente compartir un poco de información dejen un comentario para hacer el post correspondiente.
edito!! sabado 28 de Noviembre 2009
Agradezco a la comunidad http://chitlesh.fedorapeople.org/FEL/ por el apoyo mostrado, ademas que los screenshots pertenecen a esta web.



