2015年2月3日 星期二

Quartus II 13.0 - (4) 撰寫Test Bench與使用ModelSim做Simulation

(1). 選擇"New"新增檔案ICON。 
 (2). 選擇"Verilog HDL File"選項。
 (3). 撰寫Test Bench測試程式,程式範例如下所示,這裡要注意Test Bench的本名(Test),要與測試電路module Test的名稱相同,不然在Loading至ModelSim時會出現# Error loading design錯誤,撰寫完畢按"Save"ICON存檔。

`timescale 1 ns/1 ns

module testbench;
reg a, b, c, d, En, Sel;
wire f;

Test UUT(
.a(a),
.b(b),
.c(c),
.d(d),
.En(En),
.Sel(Sel),
.f(f) );
initial
begin
 a   = 1'b0; // Time = 0
 b   = 1'b1;
 c   = 1'b0;
 d   = 1'b1;
 En  = 1'b0;
 Sel = 1'b0;
 #20; // Time = 20
 a  = 1'b1;
 #10; // Time = 30
 b  = 1'b0;
 c  = 1'b1;
 #10; // Time = 40
 a  = 1'b0;
 #10; // Time = 50
 En = 1'b1;
 #10; // Time = 60
 c  = 1'b0;
 #10; // Time = 70
 a  = 1'b1;
 d  = 1'b0;
 #20; // Time = 90
 c  = 1'b1;
 #20; // Time = 110
 a  = 1'b0;
 #10; // Time = 120
 a  = 1'b1;
 #10; // Time = 130
 c  = 1'b0;
 Sel= 1'b1;
 #10; // Time = 140
 a  = 1'b0;
 #30; // Time = 170
 a  = 1'b1;
 #10; // Time = 180
 c  = 1'b1;
 #20; // Time = 200
 a  = 1'b0;
end
endmodule
 (4). 檔案名稱這裡輸入為"testbench",後按"存檔"。
 (5). 使用滑鼠點選"Project Navigator"下的project圖示後,按"滑鼠右鍵",再選擇"Settings..."。
 (6). 選擇"EDA Tool Settings" ,點選"Compile test bench:"之後再按"Test Benches..."。
 (7). 點選"New..."。
 (8). 再"Test bench name:"欄位中輸入名稱,這裡是輸入"testbench",之後再點選"File name"欄位"..."按鍵。
 (9). 選擇Test Bench的檔案後,按"Open"按鈕。
 (10). 按"Add"按鈕。
 (11). 可以看到增加了Test Bench的檔案至Test bench and simulation files欄位中。
 (12). 按"OK",結束設定。
  (13). 勾選"Run gate-level simulation automatically after compilation",勾選此選項之後,當每次按"Start Compilation"ICON 按鈕後,就會在合成完電路後直接連接至ModelSim,勾選完成後按"OK",結束設定。
 (14). 按下"Start Compilation"ICON進行分析與電路合成。
 (15). 分析與電路合成沒有Error,自動開啟ModelSim。
 (16). ModelSim模擬結果如下圖所示,剛開啟視窗時,先按一下Zoon Out與Zoon In調整一下時間。

沒有留言:

張貼留言