Scripts¶
1. Automatizar Icarus Verilog¶
Considere que se tienen dos archivos, uno llamado mymodule.v
, el cual contiene un diseño en Verilog y otro llamado mymodule_tb.v
, el cual se utiliza para simular el diseño. El flujo de trabajo en Icarus Verilog consiste en los siguientes pasos:
- Editar el módulo principal o el archivo de simulación.
- Compilar el código con el comando:
- Ejecutar el código compilado con el comando:
- Abrir GTKWave con el comando:
- Insertar todas las señales necesarios en la simulación y analizar su comportamiento.
El problema con la metodología anterior es que se necesitan realizar muchos pasos cada vez que se hace una pequeña modificación a los archivos .v
.
Una manera para solventar esta problemática es guardar la simulación generada en GTKWave con la extensión .gtkw
, después abrirla y recargar el archivo .vcd
. No obstante aún es necesario compilar y ejecutar nuevamente el código cada vez que se realice un cambio.
Para que este proceso repetitivo sea más sencillo se puede utilizar un script escrito en bash para reducir todo este proceso a una sola línea de comando. En la siguiente tabla se muestran los scripts para cada sistema operativo:
Plataforma | Enlace | Probada |
---|---|---|
Windows | simu_wind.sh | ✓ |
Linux | simu_linux.sh | ✓ |
Mac | simu_mac.sh | ✓ |
2. Consideraciones por sistema operativo¶
2.1. Windows¶
Para utilizarlo en Windows es necesario tener instalado Git Bash, este programa además de permitirnos utilizar el control de versiones de Git incluye una terminal que deja al usuario ejecutar algunos comandos Linux dentro de Windows.
Comandos:
2.1. Linux¶
La primera vez puede requerir cambiar los permisos de ejecución del archivo con el comando:
2.3. Mac¶
Comandos:
2. Ejemplo de uso del script¶
Para compilar y ejecutar el testbench y abrir el visualizador de onda se utiliza el siguiente comando:
Una vez ejecutado el comando se desplegará una consola de Git Bash con la siguiente información:
2.1. Uso de banderas¶
Para solo compilar se le añade al comando la bandera -c
de la siguiente manera:
Para solo ejecutar el archivo compilado se le añade al comando la bandera -r
de la siguiente manera:
Se pueden combinar las banderas para hacer dos cosas al mismo tiempo de la siguiente manera:
Para solo abrir el visualizador de forma de onda se le añade al comando la bandera -v
de la siguiente manera:
2.2. Manejo de errores¶
Si se ingresa una bandera equivocada al programa, no se ingresa el nombre del archivo o el archivo no existe se desplegará un mensaje de error como el siguiente:
3. Referencias¶
-
“Bash Scripting Tutorial – Linux Shell Script and Command Line for Beginners”, freeCodeCamp.org, el 20 de marzo de 2023.https://www.freecodecamp.org/news/bash-scripting-tutorial-linux-shell-script-and-command-line-for-beginners/ (consultado el 05 de agosto de 2023). ↩