iverilog和gtkwave是verilog編譯和產生波形的輕量化工具。
僅能檢查波形和驗證功能,不能對電路面積和效能進行分析。
(1) 載點: https://code.visualstudio.com/
(2) 下載VScode擴充套件:
點擊延伸模組搜尋:
Verilog-HDL: 提供基本的語法檢查
Chinese(Traditional): 提供繁體中文環境
(1) 載點: https://bleyer.org/icarus/
基本都打勾就好,add to user path必勾,不然之後需要添加環境變數
載完會創建iverilog資料夾
(2) 添加環境變數:
點選環境變數
點選Path->編輯
新增loccal/iverilog/bin和local/iverilog/gtkwave路徑
(3) 修改VScode之verilog擴充設定
(4) 在VScode的terimal(點選vscode視窗最下方像電塔的圖示)輸入iverilog,檢查是否安裝成功
跳出內容表示成功
檢查gtkwave,輸入gtkwave,跳出視窗表示成功
之後重啟電腦,使環境生效
(1) Icarus Verilog編譯器主要包含:
iverilog | 編譯verilog和vhdl檔案,檢查語法並生成執行檔 |
---|---|
vvp | 根據執行檔,產生波形檔 |
gtkwave | 打開波形檔,顯示波形 |
(2) 常用參數介紹
-o: 指定編譯後的檔案名稱,預設為a.out
編譯top.v產生top: iverilog -o top tb_top.v
-g:擴展版本,若要使用systemverilog,可以使用 -g 2012
-D: 切換tb指定的define
-y: 指定包含的資料夾
編譯在D:/test的tb_top.v: iverilog -y D:/test/tb_top.v
,
在跟ternimal的同目錄:iverilog -y ./tb_top.v
-I: include其他檔案或資料夾
編譯tb_top.v,同時會用到top.v: iverilog -I ./top.v tb_top.v
(1) 在桌面建立測試資料夾iverilog_ex
(2) 編寫範例程式:
計數器,每10 cycles計數+1,當計數10次後,會拉起一個done訊號
其中tb要增加的只有產生波形檔vcd的部分
counter.v:
tb_counter.v:
(3) 打開vscode的terminal,移動至code所在的資料夾
移動當前位置指令: cd <file_path>
(5) 編譯: iverilog -o wave top_tb.v
產生檔案wave
(6) 生成波形檔: vvp wave
產生波形檔wave.vcd
(7) 打開波形: gtkwave wave.vcd
,+mda
可觀察矩陣資料
(8) 插入訊號: 點擊insert
縮放時間軸大小:
調整時間軸位置:
(1) 創建cmd檔,將編譯和產生波形檔指令寫入
(2) 回到終端機,輸入.\run.cmd,執行該執行檔
即可產生wave和wave.vcd
(3) 之後要修改,點選右鍵編輯內容即可
(4) linux下使用Makefile – 待更新
新增Makefile:touch Makefile
一定學得會!!! 在vscode上架設易於開發verilog/system verilog的環境之教學(win10環境)
超簡易!!! 在vscode上利用TerosHDL架設易於開發verilog/system verilog的環境之教學(win11環境)
全平台轻量开源verilog仿真工具iverilog+GTKWave使用教程