Quartus II 18.x Modelsim仿真設置
本節內容介紹在如何在QuartusII 應用環境下設置modelsim仿真選項,並進行波形仿真。下面以四位乘法器為例介紹。
在QuartusII 18.x 的界面下建立兩個文件,一個是設計文件mul4.v實現4×4的乘法器;另一個是testbench 文件tb.v,提供激勵。
mul4.v文件如下:
module mul4
(
input [3:0] a,
input [3:0] b,
output [7:0] c
);
assign c = a * b;
endmodule
tb.v 文件如下:
`timescale 1 ns/1 ps
module tb
(
);
parameter PERIOD = 10 ;
reg CLK;
initial
begin
CLK = 1'b0;
#4;
forever
#4 CLK = ~CLK;
end
reg [3:0] a,b;
wire [7:0] c;
initial
begin
a = 4'b0000;
b = 4'b0000;
end
always @(posedge CLK)
begin
a <= a + 1;
if(a == 15)
b <= b + 1;
end
mul4 mul4_dut
(
.a (a),
.b (b),
.c (c)
);
endmodule
-
QuartusII 18.x的界面如下:

圖 1
-
QuartusII仿真 仿真設置步驟如下:
-
在菜單Assignment 下選中Settings…,如下圖:

圖2
-
打開Settings 對話框
-
在General對話框設置Top-level entity 為tb(testbench 文件)

圖3
-
在EDA Tools setting 選中 Simulation,如圖5

圖5
在對話框中 Tool name –>Modelsim-Altera,其它按照圖中內容選擇。特別是最下方的選項,NativeLink settings… 里設置好 Compile test bench: 如圖5,
如果你設計的testbench 文件名不是tb,需要點擊test Benches ,選擇對應的testbench 文件。如圖6,

圖6
在圖6中 Test bench and simulation files部分,點擊…部分,進行testbench設定並選取需要的test bench 文件。如:圖7

圖7
在圖7 中,默認的是使用已設定好的testbench,如圖中Existing test bench settings: 中Name–>tb, top Level Model name –>tb, test Bench File(s)–>tb.v.
如果首次使用,要點擊New…按鈕,進行新testbench設定,如圖8:

圖8
在圖8中,testbench name–>tb, top Level Model in testbench file–>tb, 注意:這里的名稱一定要與下一個步驟的文件名一致。如圖9
在Simulation Period 的選項中,如果在testbench中的激勵是有限項選擇Run simulation utile all Vector stimuli are used,如本例在initial給的仿真只有有限項,如果是無限項如時鍾驅動的仿真。
在test bench and simulation files 中點擊…選文件,跳出對話框如圖9.

圖9
在圖9中選擇好對應的文件,如tb.v,這個文件將會被modelsim編譯,形成激勵條件。然后在圖8中點擊ADD按鈕,加入庫中如圖10.

圖10
圖10中的文件名tb要和上面的test bench name以及top Level module in test bench 名字一致,本例中都是tb.
檢查編譯工具目錄,點擊菜單Tools->Options, General-> EDA Tool Options 如圖11,

圖11
-
在Project Navigator 里選取mul4.v, 鼠標右鍵單擊,Set as top level entity。單擊工具欄圖標Start Analysis and Elaboration, 如果有語法錯誤,則修改,直到沒有錯誤為止。
-
以上步驟設定好后,如圖12,在主菜單Tools下,點擊Run Simulation Tool ->RTL Simulation

圖 12
如果tb.v沒有錯誤,打開的界面應如下圖13所示,點擊紅框內STOP按鈕,

圖 13
(3)選中波形區域,如圖13,點擊zoom in, Zoom out, 觀察仿真波形。
Module sim的詳細使用,請見modelsim仿真初步。