小梅哥FPGA学习笔记_第1页
小梅哥FPGA学习笔记_第2页
小梅哥FPGA学习笔记_第3页
小梅哥FPGA学习笔记_第4页
小梅哥FPGA学习笔记_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

小梅哥FPGA学习笔记之QuartusII15.0中仿真DDR2IP核虽然近期用不上DDR2的控制器,但是昨天成功仿真Altera三速以太网IP核又确实让我兴奋了一把,趁着这个兴奋劲儿,再一举拿下DDR2的IP核仿真。仿真还是在Altera仿真还是在Altera最新的开发套件QuartusII15.0中进行。首先创建工程,我将工程命名为DDR2_SIM,器件选择我比较熟悉的EP4CE10F17C8,仿真工具选择modelsim-altera,语言为Verilog。最后,整个工程建立完毕后的Summary如下图所示:工程创建好后,在右侧的IPCatlog中,搜索栏处输入DDR2,然后在搜索结果中选择DDR2SDRAMControllerwithALTMEMPHY如下图所示:5ADDR2|Librarylit谢SearchforPartnet1IP・5ADDR2|Librarylit谢SearchforPartnet1IP・MemoryInterfacesand匚ontrollersDOR2SDRAMC&ntroller阿出ALIMS^myMembryInterfaces-A'lthUniPHYd盖InstalledIP双击DDR2SDRAMControllerwithALTMEMPHY,会弹出如下所示的对话框:将该ip命名为DDR2将该ip命名为DDR2,语言选择Verilog,然后点击OK,就会开始加载参数设置对话框,整个加载过程大约需要等待20到30秒左右才会弹出GUI界面,请大家耐心等待。弹出的GUI界面如下所示:很遗憾,整个界面还是显示不全,上半部分无法看到,也无法拖动窗口,原本右下侧的finish和cancel按钮也没有显露出来,这个问题我从使用QuartusII11.0的时候就发现了(没有用过10.x版本,据说是从10.x版本开始出现这个问题的),到了QuartusII15.0中这个问题依然没有得到解决,还是希望Altera能够尽快修复这个Bug。虽然界面默认没有完全显示,但是我们还是有办法来让他显示的。如果你不需要移动这个配置窗口的位置,或者说对界面最上方未显示的部分内容已知或者不关心(实际我们也真的不用去关心,那么简单的解决方法就是单击系统右下角的显示桌面按钮(win7),然后再在任务栏中点击该配置界面,就能够成功加载右下角的finish和cancel按钮了,但是界面上半部分依旧无法看到。如下图所示:

但是此时依旧无法看到上半部分,终极解决方案就是,第一步:打开这个配置界面的GUI第二步:设置电脑屏幕分辨率为最小值(我是这么做的,不清楚设置其他分辨率是否也能奏效)第三步:将屏幕分辨率修改回正常值。这时候再看,整个界面就能够正常显示了,如下图:

拖着右侧的进度条往下划就能看到finish和cancel按钮了。同时页面最上方的内容也能看到了。这里我们在Memory选项卡中,设置速度等级(SpeedGrade)为8,与实际芯片保持一致°MemoryPresets为“MicronMT47H32M16-5E“,如下图所示:

此页中其他选项保持默认,接下来的若干项均保持默认即可,直到切换到EDA选项卡处,勾选GenerateSimulationmodel,这里是为了仿真时生成仿真模型,以配合modelsim进行仿真。、M^Wk+t^Ph^-ln泸-DPR?^PRAMC^hct-0詰&AJMTr/fd?UbruinxHNbtiiimuTjtrHitgfnttdkC弊、M^Wk+t^Ph^-ln泸-DPR?^PRAMC^hct-0詰&AJMTr/fd?UbruinxHNbtiiimuTjtrHitgfnttdkC弊HPtin.牛*fc^W*n3i-rroljiiflflrnotffdE1“:*|叶他*U[pB^cAdaSKliDuMOnrnoti*!壮i^df-tccurita'fldDLaY.E呦1-0.n^MMproditad炳thi£luulus■idflkrdreTh.m4dHtw4盟hHKi^4fl tfi沪uiinf>n4u>i4rit出旳#廿和心.wrtvrnj^s FinVXo帕Cc^iui+tf-simoMikxF/mriJbbfi:xndtipretsibnolki、卜力11佔|+pc卸‘cChj*已即工‘;1±3叭Bx-ib 收jictPimUTrwig«4RtSMN4t知* ZB用¥EuiiiM*in:r*^畑dLRUMl罰MJQ3:MuW的BVW点击右下角的finish,软件则开始生成IP核控制器的相关文件和示例内容。生成完毕大约2分钟。生成完毕后,设置DDR2.qip为设计顶层模块,然后执行分析和综合(快捷键是Ctrl+K)。分析和综合完成后,整个IP核占用资源如下图所示:话说这个控制器还是挺耗费资源的啊。接下来设置仿真,有了昨天仿真TSE时遇到testbench文件名与文件中实体名不一致的经历,这次我又首先去查看了下testbench,这次还好,testbench文件名和文件中的实体名是一致的。不过一个疑问就是,为什么testbench的名字是叫做DDR2_example_top_tb.v而不是DDR2_tb.v?仔细一查看这个文件才发现testbench文件中例化的设计名字居然是DDR2_example_top而不是我想当然的DDR2。也就是说,这个设计是将控制器和例子独立开来了,这一点和昨天仿真的TSE不同,TSE的仿真文件中直接以IP核为设计顶层,而DDR2中确是另外做了一个DDR2_example_top文件来作为例子的顶层。查看DDR2_example_top文件,其中例化了DDR2控制器和一个DDR2_example_driver文件。于是我回到QuartusII中,手动添加DDR2_example_top.V和DDR2_example_driver.V文件到工程中来,并更改DDR2_example_top.V为设计顶层文件,然后分析和综合。0Files舉DDR2_example_top.v誣DDR2_eMample_driver.v>冒DDR2.qip接下来设置NativeLink以将设计工程和Modelsim-altera关联起来。设置testbench为这里具体怎么添加文件我就不多说了,详细请参考我仿真三速以太网时的介绍。需要添加的testbench文件有两个,位于testbench文件夹下,分别为DDR2_example_top_tb.v和DDR2_mem_model.V。其中DDR2_mem_model.V是一个DDR2的仿真模型,该模型直接用行为语言描述了一个虚拟的DDR2器件,这样,通过DDR2控制器来操作这个虚拟的器件,就能够保证控制器得到正常的操作相应,从而使仿真正常的进行下去。添加完成后,设置Testbenchname和toplevelmoduleintestbench为DDR2_example_top_tb。然后一路点击OK下去,直到设置完毕。如下图所示:

接下来,就可以直接点击RTLSimulation按钮执行仿真了:一切,本以为一气呵成,没想到在运行仿真的时候具体弹出下面这个错误,我改了好久都搞不定,不知道是我操作有问题还是软件Bug,或者QuartusII15.0与我使用的modelsim不兼容(我使用的是QuartusII13.0配套的modelsim-altera来仿真的,有可能是兼容性问题,但是我后来换成modelsimse10.4d也还是不行),总之很郁闷,我使用的是骏龙科技FAE赠送的60天全功能License,因此应该也不是License的问题。再查看rpt文件,也没有找到任何的线索。NativelinkErrorTCLREADVARNAME.ChecktheNativeLinklegfileE:/fpgatmp/DDR2_S[M/DDR2_SIM』ativelinlc_simulation.rptfordetailederrormessages无奈之下,只得回到QuartusII13.0的软件中,重复整个过程,结果顺利完成(QuartusII13.0中添加DDR2IP核是在MegaWizardPlug-InManager中这一点与QuartusII15.0中不同,其他均完全一致)。仿真结果如下图所示(具体分析波形的结果本文就不介绍了,留到后面哪一天需要用到DDR2的时候在来弄,精力有限啊):Illi91570000PCHallbanks91575000ARF91530000ABF112615000ARF112E20OOOACIrowaddress0000bank0112E25000ACIrowaddresa0000bank0112E30000ACIrowadlEE330000bank0112E35000ACIrowaddress0000bank0112640000ACIrowaddresa0000bank0112645000ACTrowaddreas0000bank0112E50OOOACTrowaddress0000bank0112E55000ACTrowaddresa0000bank0112E60000ACTrowaddreas0000bank0112EE5000ACTrowaddress0000bank0112E70000ACTrowaddresa0000bank0112E75000RD士cancoladdreas0023bank0112E30000RDfromcoladdress002cbank0112E35000RDfromcoladdresa002cbank0112E90000RD士cancoladdreas0013bank0112E95000RDfromCD1address001Bbank□240935000R?zroinccladdress07=4bank7241025000ACTrowaddress7=7zbank7241040000RDfromccladdreaa07ecbank7241080000軽Trowaddress9effbank7241095000R?zrDinccladdress07dcbank7241135000growaddreaabdffbank7241150000RDfromccladdress□7bcbank7241190000ACTrowaddressdb==bank7241205000R?zrDinccladdress077cbank7241245000EMTrowaddreaa=7==bank72412

温馨提示

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

评论

0/150

提交评论