Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf ·...
Transcript of Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf ·...
![Page 1: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/1.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
GtkWave
Final
Simulación de VHDL con Software Libre
Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea
Instituto Nacional de Tecnología IndustrialCentro de Electrónica e Informática
Laboratorio de Desarrollo Electrónico con Software Libre
12 de julio de 2010
![Page 2: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/2.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
VHDL
Software Libre
GHDL
Ejemplo
GtkWave
Final
Introducción
![Page 3: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/3.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
VHDL
Software Libre
GHDL
Ejemplo
GtkWave
Final
VHDL
Definido en
Estándar 1076 de IEEE
VHDL
VHSIC + HDL
Donde:
VHSIC: Very High Speed Integrated Circuit
HDL: Hardware Description Language.
Uso principal
Realizar descripciones de hardware a utilizar con PLDs,
FPGAs, ASICs y similares.
![Page 4: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/4.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
VHDL
Software Libre
GHDL
Ejemplo
GtkWave
Final
Software Libre
Una definición muy sencilla
Denominación del software que respeta la libertad de los
usuarios.
Un Software se considera Libre si garantiza
Libertad Descripción
0 Usarlo con cualquier propósito
1 Estudiar cómo funciona y modificarlo
2 Distribuir copias
3 Mejorarlo y hacer públicas esas mejoras
![Page 5: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/5.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
VHDL
Software Libre
GHDL
Ejemplo
GtkWave
Final
VHDL + Software Libre
VHDL con software privativo
Las herramientas de software propietarias son costosas y
algunas han implementado características que hasta violan
el estándar VHDL.
VHDL con Software Libre
Las herramientas Libres que presentaremos, están lo
suficientemente maduras para su uso en ámbitos
educativos y en proyectos de mediana envergadura.
Además, el uso de Software Libre y la utilización de
estándares, promueve la independencia tecnológica, la
portabilidad de lo desarrollado y la posibilidad de ser
abordado por cualquiera con acceso a una PC, sin la
necesidad del pago de licencias.
![Page 6: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/6.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Introducción
Comandos
Opciones
Simulación
Ejemplo
GtkWave
Final
GHDL
![Page 7: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/7.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Introducción
Comandos
Opciones
Simulación
Ejemplo
GtkWave
Final
Introducción
¿Qué es GHDL?
Simulador de VHDL, que implementa los estándares IEEE 1076-1987
(VHDL87), IEEE 1076-1993 (VHDL93) y algunas características del
IEEE 1076-2000 (VHDL00). Es Software Libre.
¿Qué no es GHDL?
No es una herramienta de síntesis. No puede generar un netlist .
Técnicamente es un compilador
En función de las descripciones VHDL, genera un archivo binario o
ejecutable, utilizando el compilador GCC como back-end , sin usar
lenguajes intermedios como C o C++. La simulación consiste en la
ejecución del archivo resultante, el cuál permite además generar
archivos de formas de onda.
Compila correctamente
Procesadores como DLX o el LEON1.
![Page 8: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/8.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Introducción
Comandos
Opciones
Simulación
Ejemplo
GtkWave
Final
Formato de comando
Formato de comando
ghdl comando [opciones...] [archivos/unidades...]
El primer argumento es un comando.
Las opciones modifican la acción del comando.
No se permiten opciones antes de un comando.
Unidades hace referencia a entidades,
configuraciones, arquitecturas, etc.
En general, no se permiten opciones luego de los
archivos/unidades.
![Page 9: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/9.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Introducción
Comandos
Opciones
Simulación
Ejemplo
GtkWave
Final
Comandos más utilizados (I)
Analisis
ghdl -a [opciones] archivos
Controla la sintasis y compila uno o más archivos.
Los archivos se analizan en el orden suministrado.
Aborta en caso de error sin analizar al resto de
archivos.
![Page 10: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/10.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Introducción
Comandos
Opciones
Simulación
Ejemplo
GtkWave
Final
Comandos más utilizados (II)
Elaboración
ghdl -e [opciones] unidad_primaria [unidad_secundaria]
Elabora el diseño y crea un ejecutable (GNU/Linux).
unidad_primaria: entidad o configuración.
unidad_secundaria: arquitectura.
La opción -o seguida de un nombre de archivo, permite
especificar el nombre del ejecutable.
Nombre del ejecutable resultante
Nombre de la unidad_primaria si no se especifica la
unidad_secundaria.
unidad_primaria-unidad_secundaria si se especifica la
unidad_secundaria.
![Page 11: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/11.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Introducción
Comandos
Opciones
Simulación
Ejemplo
GtkWave
Final
Analisis y elaboración automática
Importación (import)
ghdl -i [opciones] archivos...
Parsea los archivos sin analizarlos y coloca las unidades de diseño que
encuentra en la biblioteca.
Elaboración (make)
ghdl -m [opciones] unidad_primaria [unidad_secundaria]
Analiza automáticamente los archivos y elabora el diseño. Un archivo se
reanaliza cuando fue modificado o una unidad de diseño que utiliza
internamente fue modificada. Del orden de analisis se da cuenta solo.
Con la opción -f (force), se reanalizan todos los archivos.
Elaboración de Makefile
ghdl –gen-makefile [opciones] unidad_primaria [unidad_secundaria]
Funciona como el comando anterior pero solamente crea un archivo
Makefile.
![Page 12: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/12.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Introducción
Comandos
Opciones
Simulación
Ejemplo
GtkWave
Final
Otros comandos
Ejecución
ghdl -r [opciones] unidad_primaria [unidad_secundaria]
[opciones_de_simulacion]
En GNU/Linux
Este comando simplemente determina el nombre del
ejecutable y lo corre. Las opciones son ignoradas.
Control de sintaxis
ghdl -s [opciones] archivos
![Page 13: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/13.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Introducción
Comandos
Opciones
Simulación
Ejemplo
GtkWave
Final
Opciones más utilizadas
–work=NOMBRE
Especifica el NOMBRE de la biblioteca de trabajo, cuyo
nombre por defecto es work.
–workdir=DIRECTORIO
Especifica el nombre del DIRECTORIO donde se coloca la
biblioteca y los archivos generados. De no especificarse, se
colocan en el directorio actual.
-PDIRECTORIO
La opción -P agrega DIRECTORIO a la lista de directorios
donde se deben buscar los archivos de biblioteca.
![Page 14: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/14.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Introducción
Comandos
Opciones
Simulación
Ejemplo
GtkWave
Final
Otras opciones
–std=ESTANDAR
Especifica el ESTANDAR a usar. Por defecto se utiliza el
93c, que implica el VHDL-93 que acepta sintaxis de
VHDL-87. Los posibles valores son: 87, 93, 93c, 00 y 02.
–ieee=VERSION
Especifica la VERSION de biblioteca IEEE a utilizar. Los
posibles valores son: none, standard (defecto), synopsys y
mentor.
![Page 15: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/15.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Introducción
Comandos
Opciones
Simulación
Ejemplo
GtkWave
Final
Warnings
Algunos ejemplos
–warn-reserved: informa si se utilizó una palabra
reservada de un estándar superior al utilizado.
–warn-unused: informa si un subprograma no se utilizá
nunca.
–warn-error: cuando está habilitado, los warnings son
considerados errores.
Deshabilitación
–warn-no-X.
![Page 16: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/16.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Introducción
Comandos
Opciones
Simulación
Ejemplo
GtkWave
Final
Opciones
La simulación se lleva a cabo utilizando el archivo
ejecutable generado por la compilación mediante GDHL.
Algunas de las opciones de simulación más interesantes:
–stop-time=TIEMPO
Detiene la simulación cuando transcurrió el TIEMPO de
simulación indicado. TIEMPO se expresa con valores de
tiempo tales como 1fs, 25ns, 100ms, etc.
–vcd=NOMBREARCHIVO o –wave=NOMBREARCHIVO
Generan respectivamente un archivo en formato VCD o
GHW, con el volcado de las formas de onda resultantes de
la ejecución.
![Page 17: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/17.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Ejemplo
![Page 18: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/18.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Componente
inversor.vhdl
l ib ra ry IEEE ;use IEEE . std_logic_1164 . a l l ;
en t i ty Inv isport (
entrada : in s t d _ l o g i c ;sa l i da : out s t d _ l o g i c
) ;end en t i ty Inv ;
arch i tecture RTL of Inv isbegin
sa l i da <= not ( entrada ) ;end arch i tecture RTL;
Inv, el nombre de la entidad, es el nombre de acceso a este
componente.
![Page 19: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/19.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Testbench
inversor_tb.vhdl
l ib ra ry IEEE ;use IEEE . std_logic_1164 . a l l ;l ib ra ry s td ;use s td . t e x t i o . a l l ;
en t i ty Inv_TB isend en t i ty Inv_TB ;
arch i tecture Simulador of Inv_TB issignal entrada , sa l i da : s t d _ l o g i c ;
component Inv isport ( entrada : in s t d _ l o g i c ;
sa l i da : out s t d _ l o g i c ) ;end component Inv ;
begin
dut : Invport map( entrada => entrada , sa l i da => sa l i da ) ;
![Page 20: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/20.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Testbench (continuación)
inversor_tb.vhdl (continuación)
tes teo :process
var iab le l : l i n e ;begin
w r i t e ( l , s t r i n g ’ ( "∗ Comienza e l t e s t " ) ) ;w r i t e l i n e ( output , l ) ;entrada <= ’ 0 ’ ;for i in 0 to 5 loop
wait for 1 fs ;assert entrada /= sa l i da report " E r ro r " sever i ty
f a i l u r e ;wait for 1 ns ;entrada <= not ( entrada ) ;
end loop ;w r i t e ( l , s t r i n g ’ ( "∗ Terminó e l t e s t " ) ) ;w r i t e l i n e ( output , l ) ;wait ;
end process tes teo ;end arch i tecture Simulador ;
![Page 21: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/21.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Análisis y elaboración básica
Estado inicial del directorio:
$ ls
inversor_tb.vhdl inversor.vhdl
Análisis y elaboración:
$ ghdl -a *.vhdl
$ ghdl -e inv_tb
Estado final del directorio:
$ ls
e inv_tb.o inversor_tb.o inv_tb inversor_tb.vhdl
workobj93.cf inversor.o inversor.vhdl
Ejecución del test:
$ ./inv_tb
* Comienza el test
* Terminó el test
![Page 22: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/22.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Informe del assert
Provocando un mal funcionamiento del componente y ejecutando el test:
$ ./inv_tb
* Comienza el test
inversor_tb.vhdl:33:11:@1fs:(assertion failure):
Error
./inv_tb:error: assertion failed
./inv_tb:error: simulation failed
Descripción de la línea de información del assert:
inversor_tb.vhdl: nombre del archivo donde se encuentra.
33: número de fila donde se encuentra.
11: número de columna donde se encuentra.
@1fs: tiempo de simulación transcurrido.
(assertion failure): tipo.
Error: mensaje.
![Page 23: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/23.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Paquete
inversor_pkg.vhdl
l ib ra ry IEEE ;use IEEE . std_logic_1164 . a l l ;
package Basicos iscomponent Inv is
port (entrada : in s t d _ l o g i c ;sa l i da : out s t d _ l o g i c
) ;end component Inv ;
end package Basicos ;
El nombre del componente concuerda con el de la entidad (Inv). El
nombre del paquete (Basicos) se usará junto al de la biblioteca
(Compuertas) para acceder al componente.
![Page 24: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/24.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Testbench (modificación)
inversor_tb.vhdl (modificación)
l ib ra ry IEEE ;use IEEE . std_logic_1164 . a l l ;l ib ra ry s td ;use s td . t e x t i o . a l l ;l ib ra ry Compuertas ;use Compuertas . Basicos . a l l ;
en t i ty Inv_TB isend en t i ty Inv_TB ;
arch i tecture Simulador of Inv_TB issignal entrada , sa l i da : s t d _ l o g i c ;
begin
dut : Invport map( entrada => entrada , sa l i da => sa l i da ) ;
![Page 25: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/25.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Creando una biblioteca
Estado inicial del directorio:
$ ls
inversor_pkg.vhdl inversor_tb.vhdl inversor.vhdl
Análisis sin especificar la biblioteca:
$ ghdl -a *.vhdl
inversor_tb.vhdl:5:9: cannot find resource library
çompuertas"
inversor_tb.vhdl:6:16: primary unit "basicos"not
found in library çompuertas"
ghdl: compilation error
Análisis especificando la biblioteca:
$ ghdl -a -work=compuertas *.vhdl
Elaboración sin especificar la biblioteca:
$ ghdl -e inv_tb
error: cannot find entity or configuration inv_tb
ghdl: compilation error
![Page 26: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/26.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Creando una biblioteca (continuación)
Elaboración especificando la biblioteca:
$ ghdl -e -work=compuertas inv_tb
Estado final del directorio:
$ ls
compuertas-obj93.cf inversor_pkg.vhdl inv_tb
e inv_tb.o inversor_tb.o work-obj93.cf inversor.o
inversor_tb.vhdl inversor_pkg.o inversor.vhdl
Ejecución del test:
$ ./inv_tb
* Comienza el test
* Terminó el test
Si modificamos un archivo e intentamos elaborar:
$ ghdl -e -work=compuertas inv_tb
file inversor_tb.vhdl has changed and must be
reanalysed
ghdl: compilation error
![Page 27: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/27.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Especificando directorio destino
Estado inicial del directorio:
$ ls
inversor_pkg.vhdl inversor_tb.vhdl inversor.vhdl
Work
Análisis y elaboración:
$ ghdl -a -work=compuertas -workdir=Work *.vhdl
$ ghdl -e -work=compuertas -workdir=Work -o
Work/inv_tb inv_tb
Estado final del directorio:$ ls
inversor_pkg.vhdl inversor_tb.vhdl inversor.vhdl
Work
Estado del directorio destino:
$ ls Work
compuertas-obj93.cf inversor.o inversor_tb.o
e inv_tb.o inversor_pkg.o inv_tb
![Page 28: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/28.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Utilizando una biblioteca
Creamos la biblioteca con el componente y el paquete:
$ ghdl -a -work=compuertas -workdir=Work
inversor.vhdl inversor_pkg.vhdl
Utilizamos la biblioteca para el análisis y elaboración del testbench:
$ ghdl -a -workdir=Work -PWork inversor_tb.vhdl
$ ghdl -e -workdir=Work -PWork -o Work/inv_tb
inv_tb
Estado del directorio destino:$ ls Work
compuertas-obj93.cf inversor.o inversor_tb.o
work-obj93.cf e inv_tb.o inversor_pkg.o inv_tb
![Page 29: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/29.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Elaboración automática
Importmos los archivos:
$ ghdl -i -work=compuertas *.vhdl
Elaboramos el diseño:
$ ghdl -m -work=compuertas inv_tb
analyze inversor_pkg.vhdl
analyze inversor_tb.vhdl
analyze inversor.vhdl
elaborate inv_tb
Ejecución de la simulación:
$ ./inv_tb
* Comienza el test
* Terminó el test
![Page 30: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/30.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Elaboración automática (continuación)
Si modificamos un archivo:
$ touch inversor.vhdl
Y elaboramos:
$ ghdl -m -work=compuertas inv_tb
analyze inversor.vhdl
elaborate inv_tb
Si modificamos otro archivo:
$ touch inversor_pkg.vhdl
Y elaboramos:
$ ghdl -m -work=compuertas inv_tb
analyze inversor_pkg.vhdl
analyze inversor_tb.vhdl
elaborate inv_tb
![Page 31: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/31.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
Archivos I
Ejemplo I
Archivos II
Ejemplo II
Ejemplo III
Ejemplo IV
Ejemplo V
GtkWave
Final
Elaboración automática (Makefile)
Para obtener el Makefile:
$ ghdl -gen-makefile -work=compuertas inv_tb >
Makefile
Utilizando el Makefile:
$ make
ghdl -a -work=compuertas inversor_pkg.vhdl
ghdl -a -work=compuertas inversor_tb.vhdl
ghdl -a -work=compuertas inversor.vhdl
ghdl -e -work=compuertas inv_tb
![Page 32: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/32.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
GtkWave
Introducción
Interfaz
Ejemplo
Final
GtkWave
![Page 33: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/33.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
GtkWave
Introducción
Interfaz
Ejemplo
Final
Introducción
Cuando se esta haciendo el debugging de un diseño, es
muy útil poder observar las formas de ondas digitales. Para
eso se precisa un visor de formas de onda.
GtkWave
Es un visor de formas de onda Software Libre.
Soporta 2 formatos de archivos
VCD formato abierto, de texto plano, definido para el
lenguaje Verilog. La mayoría de los visores de
forma de onda soportan este formato.
GHW dado que VCD esta orientado a Verilog, no se
pueden ver todos los tipos de VHDL. Como no
existe un formato abierto para VHDL, GHDL
creo su propio formato, el cuál es binario.
![Page 34: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/34.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
GtkWave
Introducción
Interfaz
Ejemplo
Final
Pantalla principal del GtkWave
![Page 35: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/35.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
GtkWave
Introducción
Interfaz
Ejemplo
Final
Visualización de señales
![Page 36: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/36.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
GtkWave
Introducción
Interfaz
Ejemplo
Final
Simulando el Inversor
Corremos la simulación:$ ./inv_tb -wave=inv_tb.ghw
* Comienza el test
* Terminó el test
Abrimos el archivo con GtkWave:
$ gtkwave inv_tb.ghw
![Page 37: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/37.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
GtkWave
Final
Final
![Page 38: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/38.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
GtkWave
Final
FPGALibre
Objetivos del Proyecto
Impulsar el desarrollo con dispositivos FPGA utilizando
herramientas de Software Libre u Open Source.
Fomentar el intercambio y desarrollo de cores IP con
licencias que posean el mismo espíritu que las del
Software Libre.
Alojado en SourceForge
http://fpgalibre.sourceforge.net/
![Page 39: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/39.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
GtkWave
Final
¿Dudas? ¿Consultas?
![Page 40: Simulaci n de VHDL con Software Librefpgalibre.sourceforge.net/uEA2010/VHDL_con_SL.pdf · Simulación de VHDL con Software Libre Ing. Rodrigo A. Melo, Ing. Salvador E. Tropea Instituto](https://reader033.fdocument.pub/reader033/viewer/2022053018/5f1e63464f000e706b2259e2/html5/thumbnails/40.jpg)
Simulación deVHDL con
Software Libre
Rodrigo A.Melo,
Salvador E.Tropea
Introducción
GHDL
Ejemplo
GtkWave
Final
Gracias
Rodrigo A. Melo
Salvador E. Tropea