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
architecture beh of inversor is
|
y el banco de pruebas en el fichero tb_inversor.vhdl:
library ieee; use ieee.std_logic_1164.all;
entity tb_inv is
architecture beh of tb_inv is
component inversor
signal entrada : std_logic:='0';
begin
INV: inversor port map (
-- Generar una senal cuadrada
process
end beh;
|
Los pasos para realizar el análisis y la elaboración son:
$ ghdl -a inversor.vhdl tb_inversor.vhdl $ ghdl -e tb_inv |
Se genera el fichero tb_inv y al ejecutarlo comienza la simulación. Hay que especificar su duración y el archivo en el que se volcarán los resultados (fichero tb_inv.vcd):
$ ./tb_inv --stop-time=1000ns --vcd=tb_inv.vcd ./tb_inv:info: simulation stopped by -stop-time |
Para visualizar los resultados usamos el programa GTKWAVE:
$ gtkwave tb_inv.vcd |
Este programa nos permite seleccionar qué señales queremos visualizar, establecer el sistema de representación, buscar patrones, etc. Tenemos la opción de volcar los resultados a un fichero postcript para incluirlas en las documentaciones (figura).
Juan Gonzalez 2004-10-01