Quartus.II調用ModelSim仿真實例
1、建立工程如下
2.如果是第一次使用modelsim,需要建立Quartus ii12.0和modelsim的鏈接。Quartus II12.0-》Tools-》option-》EDA Tool options再選擇自己的軟件和對應的安裝文件夾,如下
3.建立測試文件(testbench)可以自己寫,也可以用quartus II自己生成(生成的只是模版,功能需要自己添加),注:testbench的輸出為要測試文件的輸入,即測試文件是為要測試文件產生信號用的,因此testbench的input為reg變量,輸出為wire變量,具體操縱如下
4.打開測試文本,添加測試的信號功能(注:上步生成的文件后綴為.vt,在所建工程下的simulationmodelsim下面)。
5.添加信號功能如下。
6.復制測試文件模塊名(供下步添加testbench name用)添加測試文件。assignment-》setting-》
7、開始仿真Tools-》run-》simulation tool
8.結果(若沒有自動運行,需按simulation和add wave)
程序
//and3 dataflow
module and3_df(x1,x2,x3,z1);
input x1,x2,x3;
output z1;
wire x1,x2,x3;
wire z1;
assign z1= x1 & x2 & x3;
endmodule
test bench
`timescale 1 ns/ 1 ps
module and3_df_vlg_tst();
// constants
// general purpose registers
//========================
reg x1;//inputs are reg for test bench
reg x2;
reg x3;
// wires
wire z1;//outputs are wire for test bench
//============================
// assign statements (if any)
and3_df i1 (
// port map - connection between master ports and signals/registers
.x1(x1),
.x2(x2),
.x3(x3),
.z1(z1)
);
initial
begin :APPlicable
// code that executes only once
// insert code here --》 begin
//=============================================
reg [3:0] invect; //test invect
for(invect =0;invect《8;invect=invect+1)
begin
{x1,x2,x3} = invect [3:0];
#10 $display (“x1 x2 x3 = %b ,z1 = %b”,
{x1,x2,x3},z1);
end
//==============================================
// --》 end
end
endmodule
-
quartus
+關注
關注
16文章
171瀏覽量
74642
發布評論請先 登錄
相關推薦
評論