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.
Una información muy interesante para los que nos gusta el cacharreo.
Muchas gracias
Hello there I see you are using my screenshot with my designs on fedora 🙂
http://publictest6.fedoraproject.org/gallery2/main.php?g2_itemId=59
Actually the spike you see on this screenshot reflects to the realtime chips testing my team was carrying by investigating a glitch we had on those chips.
Great post. I was checking continuously this blog and I’m impressed! Very helpful info specifically the remaining phase 🙂 I take care of such information a lot. I used to be seeking this particular information for a very lengthy time. Thank you and best of luck.
Good post. I learn something totally new and challenging on blogs I stumbleupon every day. It’s always useful to read articles from other authors and practice something from other websites.
Nice post. I learn something new and challenging on blogs I stumbleupon every day. It will always be interesting to read articles from other authors and practice a little something from their websites.
Hi friends, its impressive post on the topic of cultureand completely defined, keep it up all the time.
Fine way of explaining, and pleasant post to obtain data regarding my presentation subject, which i am going to deliver in college.
Hello very cool website!! Man .. Beautiful .. Amazing .. I’ll bookmark your site and take the feeds additionally? I am satisfied to seek out a lot of helpful information here in the publish, we’d like develop more strategies on this regard, thank you for sharing. . . . . .
Wonderful goods from you, man. I’ve take note your stuff previous to and you are just too magnificent. I really like what you have obtained right here, certainly like what you’re saying and the way during which you assert it. You make it enjoyable and you still care for to keep it smart. I can not wait to learn much more from you. This is really a great site.
28 yrs old Newspaper or Periodical Editor Rodrick Harrold from Sault Ste. Marie, has pastimes such as juggling, stasiunolahraga.com and vehicle racing. Constantly enjoys going to places like Historic Bridgetown and its Garrison.
46 year-old Marine Biologist Nestor Ciaburri from Oromocto, likes to spend time internet, Agen Judi Poker and hot rods. Finds enormous inspiration from life by visiting locales like Mana Pools National Park.
Excellent way of explaining, and nice paragraph to take information on the topic of my presentation subject, which i am going to deliver in academy.