跳轉到

第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 用法就是針對電路設定新的名稱,然後進行使用。

想要知道 UUTDUT 的差別?

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