pretty code

2023年12月15日 星期五

A windows batch file of compiling verilog in UltraEdit

老樣子,簡單的程式直接使用 UltraEdit 編輯及編譯,環境設定好之後,學習 Verilog 應該會更有效率。

一個簡單的 Verilog Testbench 不一定要實體化某個 module,如果只是使用 $display or $monitor 顯示一些訊息也不一定要產生 VCD 檔案。

使用方式

使用 UltraEdit 開啟任意一個 TestBench 檔案,檔名格式為 XXX_tb.v
副檔名不一定要 .v,只是一般習慣這樣命名。

最重要的是 %p %n %e 都用小寫,大寫是 "8.3" short filename for DOS(用了快 20 年的 UltraEdit,我也是直到今天才知道XD)。


我的 Windows Batch 會去做上述檢查並決定是否要呼叫 GTKWave。

Windows Batch

@echo off

SET OUTPUT=wave
SET OUTPUT_VCD=wave.vcd

IF EXIST "%OUTPUT%" (
    del /Q %OUTPUT%
)

IF EXIST "%OUTPUT_VCD%" (
    del /Q %OUTPUT_VCD%
)

SET MODULE_TB=%1
SET MODULE_TMP=%MODULE_TB:_tb=%

echo %MODULE_TB%
echo %MODULE_TMP%
echo.

IF EXIST %MODULE_TMP% (
    SET MODULE=%MODULE_TMP%
)

iverilog -o %OUTPUT% %MODULE_TB% %MODULE%

IF NOT "%ERRORLEVEL%" == "0" (
    echo.
    pause
    goto END
)

vvp -n %OUTPUT% -lxt2

IF NOT EXIST %OUTPUT_VCD% (
    goto END
)

start gtkwave %OUTPUT_VCD%

:END
echo.

沒有留言: