Introducción:
Si bien no es posible encontrar errores en proyectos medianos o grandes usando este tipo de herramientas si es posible usarlas para entender cual es el problema una vez que hemos encontrado el error a través del uso de un buen testbench. [Nota: en el siguiente paper explicamos algo sobre técnicas para encontrar errores usando herramientas de software libre: Creación de bancos de prueba complejos usando Software Libre]
GTKWave:
Existen varios visores de ondas libres uno muy útil es el GTKWave. Las versiones actuales (1.3.69 al momento de escribir esto) no tienen soporte para los estados extendidos de VHDL (std_logic: L, H, W, U y -). Por esta razón es que creamos una versión modificada del mismo con este soporte. En versiones futuras estos cambios serán parte del programa oficial. GTKWave es parte de la distribución Debian y hay versiones para Windows disponibles en el site. Para obtener la versión modificada con soporte para VHDL y archivos GHW (del GHDL 0.19): Binarios para Debian y similares GTKWave. Snapshot de la versión con soporte para VHDL mostrando una señal y un bus que contienen estados extendidos. Para usar el formato GHW es recomendable agregar hier_max_level 0 al archivo .gtkwaverc. Esto permite ver a que vector pertenecen elementos que de otra manera se mostrarían como (0). Personalmente prefiero una grilla un poco más visible que la que usa por defecto el programa, esto puede lograrse agregando color_grid 6060B0. En la sección Ejemplos para GHDL hay ejemplos que muestran como usar el GHDL en conjunto con el GTKWave
Dinotrace:
Otro visor de ondas muy útil es el Dinotrace, está muy orientado a Verilog pero tiene algunas opciones útiles. Funciona en varios sistemas UNIX y en Windows. La versión 9.3a empaquetada para Debian por nuestro proyecto: Dinotrace 9.3a
|