要開始學會一套語言之前,環境是很重要的部分,如果沒有一個執行環境,沒辦法執行或是除錯,那麼學得再怎麼好也無用武之地了。因此, hydai 要在這裡提供一個個人習慣的解決方案 - 好用的 Verilog compiler - Icarus Verilog - 讓大家能夠在撰寫完程式碼以後,能夠編譯並模擬測試自己的 Verilog code 有沒有寫錯喔!。
iverilog 單純的只是一個編譯的動作,並沒有整合 IDE 的功能。所以在編寫程式碼的軟體,就各憑喜好,像 hydai 我就特別偏好 vim 這套強大的文字編輯工具(emacs 也蠻好用的,推薦大家可以都試試看,這樣說會不會被兩派的死忠支持者抨擊呀XD)。另外,對於入門的人推薦使用好用且容易上手的 sublime text 。當然,因為編輯器並不會對程式碼語法造成任何影響,你也可以使用任何可編輯文字的工具即可(like 記事本)。
在開始使用之前,先來看看 Icarus Verilog(以下簡稱 iverilog)有什麼特點:
Icarus Verilog 除了有 iverilog 用來編譯以外,還提供了 vvp 用來模擬執行 iverilog 編出來的檔案喔!
Mac
brew install icarus-verilog
Ubuntu
apt-get install verilog
Windows
[*]iverilog-0.9.7.exe(點此下載安裝檔案)
3. 一直按 next 到結束,記得在最後一個步驟把加入執行路徑打勾。
4. 進入 cmd 就可以使用 iverilog 和 vvp 了。
編譯
# iverilog -o 輸出檔案名稱 輸入的原始碼
iverilog -o datapath datapath.v datapath_t.v
# 上面那行的語法,輸出的檔名叫做 datapath
# 輸入檔為後面接著的 datapath.v datapath_t.v
執行
# 執行模擬 (run simulation)
# vvp iverilog輸出的檔案名稱
vvp datapath
Verilog code
把以下的程式碼塞到 hello.v 裡頭
/*==================================*/
module HelloVerilog;
initial begin
$display("Hello, iverilog");
#40 $finish;
end
endmodule // End of HelloVerilog
/*==================================*/
編譯&執行
iverilog -o hello hello.v
vvp hello
結果
===================================
有了好的開發環境以後,接下來的幾天就會開始介紹 Verilog 更多語法&相關細節啦!(撒花)
接下來該回去趕作業了(OAO~)
那麼我們明天見囉~
hydai