0****1
仿真驗證平臺結構
仿真驗證主要作用是搭建一個測試平臺,測試和驗證程序設計的正確性,驗證設計是否實現了我們所預期的功能。其結構如下圖所示。
圖中可以看到,這個測試平臺本身對外沒有輸入輸出端口的,我們需要通過實例化的方式將待測試模塊放置于仿真中,然后設計相應的激勵信號加載在待測試模塊的輸入端,運行仿真后觀測輸出信號是否正確。
下圖是2選1多路選擇器的仿真測試代碼,我們依次解讀各部分內容。
`timescale 1ns/1ps
`timescale是預編譯指令,用于定義時間單位和時間精度。此處,時間單位為1ns,時間精度為1ps。
因此,語句 always #10 a=~a 中“#10”表示延時10ns。
reg a,b,sel;
wire out;
信號聲明部分包含兩部分。
待測試模塊的輸入信號,在仿真文件中是需要設計的激勵信號,一般在always和initial語句中描述,因此,聲明為reg型。
待測試模塊的輸出信號是待觀察的信號,聲明為wire型。
initial begin
a=0;b=0;sel=0;
end
always #10 a=~a;
always #20 b=~b;
always #40 sel=~sel;
以上是激勵信號的描述。
mux2_1 uut(
.a(a),
.b(b),
.sel(sel),
.out(out)
);
以上是待測試模塊的實例化。uut是實例名,由用戶自定義,不能缺少。
0****2
仿真驗證一般步驟
? 新建仿真文件(.v),與源程序文件名不能相同。
? 模塊聲明:對外沒有輸入、輸出端口。
? 信號聲明:待測模塊的輸入信號聲明為reg型,輸出信號聲明為wire型。
? 設計激勵信號:對待驗證模塊的輸入端口信號進行模擬,覆蓋所有情況。
? 實例化待測模塊:對待測模塊進行實例化。
? 運行仿真:Run Behavioral Simulation(行為仿真)
? 觀察仿真結果:判斷被測試模塊的輸出響應是否符合預期要求
03
如何觀察內部信號
①scope窗口選則待測試模塊(uut是待測模塊實例名)。
②將想要觀察的信號拖到仿真波形窗口。
③重新加載仿真(relaunch simulation)。
-
仿真驗證
+關注
關注
0文章
26瀏覽量
8224 -
HDL語言
+關注
關注
0文章
48瀏覽量
9105 -
Verilog設計
+關注
關注
0文章
20瀏覽量
6614 -
多路選擇器
+關注
關注
1文章
22瀏覽量
6662
發布評論請先 登錄
Verilog HDL入門教程(全集)
硬件驗證語言——簡介
使用ModelSim進行設計仿真
使用 ModelSim 進行設計仿真

Verilog HDL硬件描述語言_驗證
設計與驗證:Verilog HDL(清晰PDF)
基于System Verilog的可重用驗證平臺設計及驗證結果分析

如何使用Icarus Verilog+GTKWave來進行verilog文件的編譯和仿真

評論