Hola

Páginas: 6 (1477 palabras) Publicado: 11 de febrero de 2015
Simulación de Diseños VHDL con Software Libre: La
Herramienta GHDL
González-Gómez J.
Escuela Politécnica Superior, Universidad Autónoma de Madrid, España,
{Juan.Gonzalez, Eduardo.Boemo}@ii.uam.es
http://www.eps.uam.es

Resumen En este tutorial se explica el funcionamiento de la herramienta GHDL,
un compilador libre de VHDL basado en el GCC. Permite generar directamente
programasejecutables a partir de fuentes en VHDL. Al tratarse de software libre,
se puede utilizar y distribuir sin ninguna restricción. Primero se presentan dos
ejemplos muy sencillos, que se compilan con GHDL y se visualizan sus resultados con GTKWAVE. A continuación se muestran cómo trabajar con proyectos
más complejos, constituidos por múltiples ficheros y entidades. El compilador
genera el ficheroMakefile, que permite automatizar la compilación mediante el
uso de la herramienta Make. Por último, se desarrolla un ejemplo de cómo invocar
funciones escritas en C, desde código VHDL.

1 Introducción
Existen aplicaciones comerciales muy potentes para trabajar con VHDL, como ModelSim[1], de la compañía ModelTech, o Active-HDL[2], de Aldec. Las herramientas
libres disponibles no son tan completas yno se pueden emplear todavía en diseños profesionales. Sin embargo, están lo suficientemente maduras para su utilización en docencia, donde los diseños no son excesivamente complejos y las simulaciones son cortas.
Además, el software libre no tiene restricciones de uso y de distribución, pudiéndose
instalar en cualquier número de ordenadores sin tener que pagar licencias.
En este tutorialexplicamos cómo simular diseños VHDL utilizando la herramienta
GHDL[3], un front-end del compilador GCC[4] para el lenguaje VHDL, disponible
bajo licencia GPL. Para la edición del código fuente se puede emplear cualquier editor
de textos ASCII, como por ejemplo EMACs[5], que resalta la sintaxis y dispone de
un asistente que auto-completa las palabras clave y muestra plantillas de las diferentesconstrucciones sintácticas del VHDL. Con las aplicaciones GTKWAVE[6] o IVI[7] se
pueden visualizar los resultados de las simulaciones y exportar los diagramas de ondas
a formato postcript, para incluirlos en las documentaciones.
Primero veremos dos ejemplos sencillos, el clásico “hola mundo” y un inversor. Los
compilaremos y mostraremos los resultados de la simulación. Luego nos centraremos
enla herramienta GHDL, describiendo todas su opciones y dando un ejemplo de cómo
realizar llamadas a funciones en C, desde el código VHDL.
Todas los ejemplos de este tutorial se han probado en una máquina GNU/Linux con
la distribución Debian/Sarge.

2 Primeros ejemplos
2.1 Programa “hola mundo”
Empezaremos con el programa hola mundo, que saca un mensaje por la consola. Se
encuentra en elfichero hola_mundo.vhdl:
use std.textio.all;
entity hola_mundo is
end hola_mundo;
architecture beh of hola_mundo is
begin
process
variable l : line;
begin
l := new string’("¡¡Hola mundo!!");
writeline (output, l);
wait;
end process;
end beh;
Una vez editado, los pasos para simularlo son los siguientes:
$ ghdl -a hola_mundo.vhdl
Realiza el análisis sintáctico y crea el fichero objetoy la librería de trabajo. Los
ficheros que aparecen son:
$ ls
hola_mundo.o hola_mundo.vhdl work-obj93.cf
Al realizar la elaboración, se genera el ejecutable hola_mundo. Hay que especificar
el nombre de la entidad superior, que en este caso coincide con el nombre que le hemos
dado al fichero:
$ ghdl -e hola_mundo
$ ls
e~hola_mundo.o hola_mundo hola_mundo.o hola_mundo.vhdl
work-obj93.cfFinalmente ejecutamos el programa:
$ ./hola_mundo
¡¡Hola mundo!!
$

2.2 Un inversor
El siguiente ejemplo es un inversor y su banco de pruebas. En el fichero inversor.vhdl está la entidad inversor:
library ieee;
use ieee.std_logic_1164.all;
entity inversor is
port (entrada : in std_logic;
salida : out std_logic);
end inversor;
architecture beh of inversor is
begin
salida entrada,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • hola hola hola hola
  • hola hola hola hola hola
  • hola hola hhola hola y hola
  • hola hola hola
  • Hola Hola Hola
  • Hola Hola Hola
  • hola hola hola
  • Hola hola

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS