欢迎来到天天文库
浏览记录
ID:42576614
大小:870.83 KB
页数:17页
时间:2019-09-18
《quartus与modelsim联合调试》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、下面是基于在AlteraQuartusII下如何调用ModelSim 进行仿真的一个实例。本来想和上一张modesin破解应用一起讲解,但是我在写的时候发现太多了,为了清楚明了,我就单独出了一篇。 QuartusII9.1,modesim版本为modesim6.5a,Quartus无法像ISE那样方便的直接调用ModelSim,而是需要额外的做一些工作。这确实给我们的仿真调试带来了一些不便。我也是在摸索了好久以后才彻底搞定这个问题,下面分享下,力求明白易懂,让大家少走一些弯路。 1、首先我们写一个代码如下的文件,保存为.v,因为我们采用的是verilog语言,代码意思为DIV
2、输出一个2分频的一个时钟,我们这里为什么要用到时钟呢,因为在我们不用到时钟的modesim 仿真中,要简单很多,使用到时钟的modesim 仿真,要全面一点,因此,我们这里主要讲解这个。moduleclkdiv //clkdiv 这个名一定要跟文件名相同 ( clk, rst_n, div ); inputclk;//系统时钟 inputrst_n;//复位信号,低有效 outputdiv; //2 分频信号 regdiv; always @ (posedge cl
3、kor negedgerst_n) if(!rst_n) div<= 1'b0; else div<=~div;endmodule2、然后我们新建工程,新建工程与普通的新建工程是没区别的,最后一步的时候要注意,如下图 选择我们要使用的仿真软件和仿真语言,3、然后我们编译一下这段代码,在文件夹下面就会多一个(工程目录)simulationmodelsim 。这个下面生成的是仿真所需要的文件,其中.vo 文件就是我们的代码布局布线信息。4、打开processing下的start目录下的star
4、ttestbenchtemplatewriter自动创建后缀为vt的文件。 5、接下来我们打开 工程目录simulationmodelsimclkdiv.vt 进行编辑,其中默认生成的文件如下: `timescale1ps/1psmoduleclkdiv_vlg_tst();//constants //generalpurposeregistersregeachvec;//testvectorinputregistersregclk;regrst_n;//wires
5、 wirediv; //assignstatements(ifany) clkdivi1(//portmap-connectionbetweenmasterportsandsignals/registers .clk(clk), .div(div), .rst_n(rst_n)); initial begin
6、 //codethatexecutesonlyonce //insertcodehere-->begin //-->end $display("Runningtestbench"); end
7、 always //optionalsensitivitylist //@(event1orevent2or....eventn) begin
此文档下载收益归作者所有