第7章 持續整合與持續佈署
簡介¶
透過開放原始碼的專案與軟體,來開發一個可以自動化驗證的平台與機制,協助各位在開發數位積體電路上可以得心應手。
- MyHDL
- ModelSim
- Vivado Logic Simulation
- Opne Source:
- iverilog
- verilator
- ghdl
- slang
- IceStorm
- nextpnr
- Project Trellis
iverilog¶
iverilog -o xor3.vvp xor3.v
vvp xor3.vvp
vvp
是可以將編譯出來的檔案執行,查看執行結果
另外,寫測試檔案似乎也有不同的寫法,直接在下方創見一個模組,然後使用。
以下是透過環境變數設定路徑與連結,達到快速做測試的目的。
file='shift_5_bit_right_2_bit'
iverilog -o ${file}_test.vvp ${file}_test.v && vvp ${file}_test.vvp > ${file}.log
UUT與DUT¶
目前看到一個疑問是,xor3 g(a, b, c, abc);
的意思是什麼?
就是將設定 xor3
的電路,另外設定此電路為 g
。因此同理 UUT
用法就是針對電路設定新的名稱,然後進行使用。
想要知道 UUT
跟 DUT
的差別?
DUT是指「待測元件」(Device under test),因此UUT也是同樣的意思,中文叫做「待測單元」(UUT, unit under test)引用上面講的,是讓他有一個名稱,但這個名稱是特殊的變數的概念。
以及匯入其他非內建電路時,要使用
`include "excess_three_case.v"
方式使用,記得前面要加特殊符號才可以正常運作。
GHDL¶
Tag: #數位邏輯設計 #數位邏輯 #digital-logic #digital-logic-design #DigitalLogic #DigitalLogicDesign #digitallogic #digitallogicdesign #硬體描述語言 #hdl #HDL #ci #cd #cicd