iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0
Software Development

數位 IC 設計起手式系列 第 4

Day 04: Verilog 環境架設

  • 分享至 

  • xImage
  •  

不同的軟體支援不同的作業系統,因為我所使用的軟體都是免付費的,所以限制會稍多一點。但是找到可以被我們使用的環境才是我們的目的!

Windows

寫完了 Verilog 之後,我們通常會透過 FPGA 來檢測輸入與輸出是否符合我們的預期。因此我們會使用 Intel 開發的 Quartus II 這個軟體來撰寫、編譯、燒錄到 FPGA 中。要特別注意的是這個軟體只支援 Windows 作業系統!

MacOS

那如果你和我一樣是使用 MacOS 該如何處理 Verilog 程式碼呢?
我們分幾個步驟來處理:

程式碼撰寫

我會使用簡單的文字編輯器來撰寫程式碼,如果你希望程式碼中的關鍵字可以被上色,那麼 Visual Studio Code (簡稱 VSCode) 會很適合你的!當然,你要記得在 VSCode 中下載 Verilog 的外掛!

編譯

Icarus Verilog (簡稱 iverilog) 是一個很不錯的編譯器,MacOS 使用者可以透過 terminal 輸入指令

brew install icarus-verilog

來下載這個編譯器。

使用這個編譯器的方式很簡單,假設我們有一個 Verilog 檔案叫做 test.v ,那在編譯的時候我們就輸入以下指令

// 編譯後,輸出檔名為預設的 a.out
iverilog test.v

// 編譯後,輸出檔名為 test
iverilog -o test test.v

執行/模擬

編譯後,會產生一個輸出檔,假設我們的輸出檔案叫做 test ,那麼執行時,我們可以輸入以下指令

vvp test

因為 Verilog 作為硬體描述語言,因此單純的執行是沒有任何意義的。通常我們會透過測試檔 (testbench) 來測試結果是否符合我們的要求。在測試檔中,我們會加入這兩行給編譯器看指令,意思是我們要產生這個電路的波形圖

$dumpfile("test.vcd");
$dumpvars(0, module);

當我們再次編譯和執行,我們可以在資料夾中看到 test.vcd 這個檔案。藉由這個檔案我們可以看到電路在不同輸入、不同狀態下,產生的輸出是什麼。這時候的執行才稱得上是有意義的啊!


上一篇
Day 03: Verilog 組織架構
下一篇
Day 05: 線路三兩事
系列文
數位 IC 設計起手式30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言