quartus与modelsim联合调试.docx_第1页
quartus与modelsim联合调试.docx_第2页
quartus与modelsim联合调试.docx_第3页
quartus与modelsim联合调试.docx_第4页
quartus与modelsim联合调试.docx_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

下面是基于在Altera Quartus II 下如何调用M odelS im 进行仿真的一个实例。 本来想和上一张 modesin 破解应用一起讲解,但是我在写的时候发现太多了,为了清楚明了,我就单独出了一篇。 Quartus II 9.1,modesim 版本为modesim 6.5a,Quartus无法像ISE 那样方便的直接调用ModelSim,而是需要额外的做一些工作。这确实给我们的仿真调试带来了一些不便。我也是在摸索了好久以后才彻底搞定这个问题,下面分享下,力求明白易懂,让大家少走一些弯路。1、首先我们写一个代码如下的文件,保存为.v,因为我们采用的是verilog语言,代码意思为DIV输出一个2分频的一个时钟,我们这里为什么要用到时钟呢,因为在我们不用到时钟的modesim仿真中,要简单很多,使用到时钟的modesim仿真,要全面一点,因此,我们这里主要讲解这个。module clkdiv /clkdiv这个名一定要跟文件名相同 ( clk, rst_n, div ); input clk; /系统时钟 input rst_n; /复位信号,低有效 output div; / 2分频信号 reg div; always (posedge clk or negedge rst_n ) if( !rst_n ) div = 1b0; else div begin/ - end$display(Running testbench); endalways/ optional sensitivity list/ (event1 or event2 or . eventn)begin / code executes for every event on sensitivity list/ insert code here - begineachvec; / - endendendmodule我们要注意到,默认的模块名字是 clkdiv_vlg_tst,把我们所写的clkdiv.v文件封装成了clkdiv i1的文件名,通过write连接。因此我们需要修改下面的initial文件,timescale 1 ps/ 1 psmodule clkdiv_vlg_tst();/ constants/ general purpose registersreg eachvec;/ test vector input registersreg clk;reg rst_n;/ wireswire div;/ assign statements (if any)clkdiv i1 (/ port map - connection between master ports and signals/registers .clk(clk), .div(div), .rst_n(rst_n);initial beginclk = 0;forever#10 clk = clk;endinitial beginrst_n = 0;#1000 rst_n = 1;#1000;$stop;endendmodule修改完后的test bench文件如上面代码。我们进行保存意思为:上电后1us复位信号运行时间为1us,(当然我们可以一直运行,这个我们可以自行设定)。6、下面我们设置仿真选项,打开 Assignments- EDA Tool Settings其中在N ativeLink settings选择c ompile test bench对test bench进行设置非常关键参考如下:按“test benches”进入设定如下选择NEW进入下面页面设置test bench name填写的是:simulation/modelsim目录下的clkdiv.vt文件名clkdiv。Top level modulein test bench填写的是:打开clkdiv.vt文件内的module名字。Designinst ance name in test bench:默认i1 .这里的文件名字,我们在修改test bench已经讲过了。完成以上3步填写,在Test bench files下面添加test bench files-clkdiv.vt点击OK完成设置。7、设置完成以后,在进行编译。8、在quartus调用modesim9、由于我们设置了仿真时间,默认就已经运行完了,得到如下波形1us后复位,然后运行1us的2分频,10、如果我们需要一点一点的看,那么我们在下面的命令行中输入命令首先我们结束当前仿真 quit sim回车。然后在library中找到work下面的工作文件为什么要选择clkdiv_vlg_tst文件仿真呢?在前面我们就说了,因为我们把clkdiv封装成了一个文件,让clkdiv_vlg_tst去调用,因此我们只需要仿真clkdiv_vlg_tst就OK,添加仿真网络假设我们先运行100ps,那么我们如数 run 100得到如下波形如果我们要运行1ms,那么出现如下:其中波形为这里提示为:# Break in Module clk

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论