Quartus.II调用ModelSim仿真实例

电子说

1.3w人已加入

描述

Quartus.II调用ModelSim仿真实例

1、建立工程如下

quartus

2.如果是第一次使用modelsim,需要建立Quartus ii12.0和modelsim的链接。Quartus II12.0-》Tools-》option-》EDA Tool options再选择自己的软件和对应的安装文件夹,如下

quartus

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

quartus

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

quartus

5.添加信号功能如下。

6.复制测试文件模块名(供下步添加testbench name用)添加测试文件。assignment-》setting-》

quartus

7、开始仿真Tools-》run-》simulation tool

quartus

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分