分享

QuartusII12.0调用Modelsim波形仿真实例

 shuiqinghan 2012-11-25

QuartusII12.0调用Modelsim波形仿真实例

1.       建立工程如下

module and3_df(x1,x2,x3,z1);

input x1,x2,x3;

output z1;

 

wire x1,x2,x3;//define signals as wire for dataflow

wire z1;

 

//continuous assignment for dataflow

assign z1= x1 & x2 & x3;

endmodule

  

 


2.     如果是第一次使用modelsim,需要建立Quartus ii12.0modelsim的链接。

具体操作为:Quartus II12.0->Tools->option->EDA Tool options再选择自己的软件和对应的安装文件夹,如下

 

 
 

 

3.     建立测试文件(testbench)可以自己写,也可以用quartus II自己生成(生成的只是模版,功能需要自己添加),注:testbench的输出为要测试文件的输入,即测试文件是为要测试文件产生信号用的,因此testbenchinputreg变量,输出为wire变量,具体操纵如下

Processing->start->strat test bench Template writer

然后会出现建立成功的提示,

 
 

4.打开测试文本,添加测试的信号功能(注:上步生成的文件后缀为.vt,在所建工程下的simulation\modelsim\下面)。

 
 

4.     添加信号功能如下。

`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

 
 

6.复制测试文件模块名(供下步添加test bench name用)添加测试文件。

操作如下assignment->setting->

 
 

 


7.开始仿真 Tools->run->simulation tool

 
 

8结果(若没有自动运行,需按simulationadd wave

 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多