[Env] Icarus Verilog(iverilog) + gtkwave 安裝與環境建立
最近閒暇時間,我要開始使用 Intel 的 FPGA (DE2-115 VEEK-MT)來做一些小遊戲來玩玩。 在這之前我想先測試一些簡單的範例程式,例如顯示一些字在我買的 FPGA 螢幕上。 目前我要做的事為: 先建立一個模擬環境來寫 Verilog 以及 Testbench。 在我們的模擬環境測試一些簡單的小程式。 然後把簡單的小程式燒錄進 FPGA。 本篇文章要記錄的事情,就是如何做到上述第一步驟: 建立一個模擬環境 。 Let's Go! 我的工作環境主要都在 Linux,我使用的作業系統為 Elementary OS。 首先可以安裝一套免費的 Verilog 模擬器 Icarus Verilog: 官方網站在此 安裝方法很簡單,輸入以下指令: sudo apt-get install iverilog 接著我們要有一個可以看數位訊號波形的免費軟體,叫做 gtkwave,安裝一下: sudo apt-get install gtkwave 接著安裝 Verilator,這個軟體也是個免費的 Verilog 模擬器,但是我安裝 Verilator 目的為使用 Verilator 內建的 verilog lint 功能。lint 就是語法檢查,lint 可以讓 Verilog 內一些潛在的危險語法被偵測出來,例如 bit overflow 造成的運算錯誤。 sudo apt-get install verilator 安裝好以上三個免費工具之後,首先要練習將一個程式專案的資料夾結構整理好。 我習慣將一個程式專案用以下的資料夾結構組織起來: ├── build ├── doc └── src ├── bench └── rtl build:編譯程式的地方,以及放編譯出來的執行檔和 log,以及跑 lint 和放波形都在 build 資料夾內操作。 doc:放一些文件筆記。 quartus:放 Quartus 專案的地方。我的 FPGA 買的是 Intel(Altera) 公司的,因此使用的 FPGA 專案建置軟體是 Quartus。 src:放源碼的地方,分成兩個資料夾,一個放 Testbench 類的檔案,另一個放 rtl code 檔案。(即 v...