iT邦幫忙

0

[simple-mips] 使用開源的 `ICARUS Verilog` 模擬簡單的電路

  • 分享至 

  • xImage
  •  

系列文章 : 使用 Verilog 實作 in-order CPU

在實作一個簡單的 CPU 之前,會需要一個可以模擬電路運行的工具!
這邊會使用一個厲害的開源工具 : ICARUS Verilog
我們寫好簡單的 verilog 後,可以利用這個開源的工具進行模擬。

順帶一提,我使用的 OS 是 Ubuntu,所以下面的指令可能在其他的 OS 會行不通。

安裝 ICARUS Verilog ( iverilog )

# 安裝相關的套件
sudo apt install -y autoconf gperf make gcc g++ bison flex

# 設定環境變數
export INSTALL_IVERILOG=$(realpath ./install_iverilog)

# 建立希望安裝 iverilog 的資料夾
mkdir $INSTALL_IVERILOG

# 把專案給 git clone 下來
git clone https://github.com/steveicarus/iverilog.git 

# 進入到 iverilog 的資料夾,並 checkout 到特定的版本
cd iverilog
git checkout s20251012

# 開始進行編譯
./configure --prefix=$INSTALL_IVERILOG
make -j10
make install

編譯完成後,預期會有一個檔案 ./install_iverilog/bin/iverilog
之後我們需要用這個檔案來模擬電路!

開始進行模擬

這邊可以從網路上抓一個簡單的 verilog 檔案,以及一個 testbench 來玩玩看。
verilog 檔案 : https://github.com/TommyWu-fdgkhdkgh/simple-mips/blob/main/adder/half_adder.v
testbench : https://github.com/TommyWu-fdgkhdkgh/simple-mips/blob/main/adder/half_adder_testbench.v

接下來可以使用 iverilog 對電路進行編譯

./install_iverilog/bin/iverilog -o half_adder_testbench half_adder.v half_adder_testbench.v

編譯完會產生 half_adder_testbench
緊接著我們可以運行這個檔案,沒問題的話會產生通過測資的字樣。

VCD info: dumpfile waveform.vcd opened for output.
***************************************************
 Congratulation! All data are correct! 
***************************************************
half_adder_testbench.v:19: $finish called at 100000 (1ps)

模擬結束後,預期會取得 waveform.vcd 這個檔案。
我們可以使用另外一個開源工具 gtkwave 打開這類波形圖。
假如跟我一樣使用 Ubuntu 的話,可以簡單地 sudo apt install gtkwave,就可以下載這個好用的工具!

參考連結


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言