Quartus与ModelSim联合仿真流程文档Word格式.docx
- 文档编号:21984345
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:15
- 大小:1.64MB
Quartus与ModelSim联合仿真流程文档Word格式.docx
《Quartus与ModelSim联合仿真流程文档Word格式.docx》由会员分享,可在线阅读,更多相关《Quartus与ModelSim联合仿真流程文档Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。
此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;
支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。
HDL的仿真软件有很多种,如VCS、VSS、NC-Verilog、NC-VHDL、ModelSim等,对于开发FPGA来说,一般是使用FPGA厂家提供的集成开发环境,他们都有自己的仿真器,如Xilinx公司的ISE,Altera公司的QuartusII等,但是这些厂家开发的仿真器的仿真功能往往比不上专业的EDA公司的仿真工具,如ModelSimAE(AlteraEdition)、ModelSimXE(XilinxEdition)等。
QuartusII设有第三方仿真工具的接口,可以直接调用其他EDA公司的仿真工具,这极大地提高了EDA设计的水平和质量。
ModelSim是ModelTechnology(MentorGraphics的子公司)的HDL硬件描述语言的仿真软件,该软件可以用来实现对设计的VHDL、VerilogHDL
或是两种语言混合的程序进行仿真,同时也支持IEEE常见的各种硬件描述语言标准。
无论是从使用界面和调试环境,还是从仿真速度和效果上看,ModelSim都可以算的上是业界比较优秀的HDL语言仿真软件。
它是唯一的单内核支持VHDL和VerilogHDL混合仿真的仿真器,是做FPGA/ASIC设计的RTL级和门级电路仿真的好选择,它采用直接优化的编译技术,Tcl/Tk技术和单一内核仿真技术,具有仿真速度快,编译的代码与仿真平台无关,便于IP核的保护和加快错误程序定位等优点。
ModelSim分几种不同的版本:
ModelSimSE、ModelSimPE、ModelSimLE和ModelSimOEM,其中的SE、PE、LE是其最高版本,编译速度是所有版本中最快的,而OEM版本就是集成在FPGA厂家设计工具中的版本,它们专门和某个厂家的FPGA配套来使用,如后面使用到的ModelSimAE就是专门针对Altera公司QuartusII的配套的OEM产品。
3、联合仿真流程第一部分—QuartusII10.0
时序仿真以QuartusII10.0版本的CycloneIII中EP3CE55F484C8芯片为例,讲解时序仿真的方法和步骤。
时序仿真需要的文件总共有以下几种:
①综合后生成的网表文件“*.vho”(在这里我们只用VHDL语言,并且以下生成的文件都以VHDL语言为基础)
②综合后生成的具有工程延时信息的文件“*.sdo”
③
TestBench程序测试文件“*.vht”
大致的过程分为两个部分,第一部分在QuartusII中生成网表文件、时延文件以及测试文件;
第二部分利用ModelSim进行仿真及分析。
以半加器为例,具体的时序仿真步骤如下:
1.
打开QuartusII软件,如图1所示
图1QuartusII软件界面
2.点击CreateaNewProject,新建工程,如红色圆圈所示,将新建工程放到与工程名称相同的文件夹内,例如新建工程half_add,并将路径设置到文件夹half_add中,以防之后生成的文件与其他工程文件发生混乱。
如图2所示;
新建工程
3.选择芯片型号,在这里我们选择CydoneIII中的EP3C55F484C8,所以通过通过封装工艺、引脚、速度等级来选择可以快速找到新品。
如图3所示;
图3选择芯片型号
4.选择仿真工具,我们使用ModuleSim-Altera进行仿真,语言选择VHDL语言,如图4所示;
图4选择仿真工具
5.点击finish完成half_add工程的建立,界面如图5所示;
图5新建的half_half_add工程
6.QuartusII中生成电路原理图有两种方法:
(1)知道原理图结构,直接搭建电路图。
点击File->
BlockDiagram/SchematicFile新建.bdf文件,如图6所示;
图6新建Block文件
在打开的.bdf文件空白处右击,点击Insert,出现图7;
图7添加元器件
点击OK即成功添加了一个与门,按照同样的方法,添加与或门、输入端和输出端,如图8所示;
图8半加器电路原理图
在顶层文件设计完后,我们需要将project中涉及到的引脚分配到指定的pin上,这一步就将我们逻辑设计和实际的FPGA硬件联系起来了,因为管脚分配同PCB板上的硬件设计必须是一一对应的,在某些特殊情况下,绘制PCB板前需验证管脚分配是否能够通过。
(对电路图进行编译后进行引脚分配)点击Assignments->
PinPlanner,进入管脚分配页面。
如图9所示为FPGA的管脚分布图,每一个管脚对应其相应的功能。
图9EP3C55F484C8管脚分布
在管脚分配时,需注意我们在逻辑设计中定义的引脚功能是否能被FPGA硬件允许,其次是电平标准要选择正确,这一点也是和硬件相关的。
双击下方Location下拉菜单,输入端A选择PIN_N18,输入端B选择PIN_M20,输出端CO选择PIN_U12,输出端S选择PIN_V12,图10显示的是半加器中引脚的分配情况电平标准为2.5V。
图10半加器引脚分配
最后对管脚的分配进行验证,点击Processing->
Start->
,显示编译成功则证明引脚分配正确。
设计约束指对设计的时序约束和在综合、布局布线阶段附加的约束等,并且对于每个project,约束是不同的。
点击Assignments->
Settings,根据具体的约束条件进行不同的设置。
(2)若原理图较为复杂,则利用逻辑函数编写功能程序。
以半加器为例,点击File->
VHDLFile,编写半加器功能程序,如图11所示;
图11半加器功能程序(S和CO是输出端口,所以为out)
保存,点击
编译,没有报错后出现图12所示;
图12
Create/Update->
CreatSymbolFilesforCurrentFile,这样就生成了Symbol文件,点击File->
New->
BlockDiagram/SchematicFil新建.bdf文件,右击鼠标,点击Insert,在Project中找到刚才生成的Symbol,点击OK,如图13所示这样就生成了电路原理图。
(只有先生成symbol文件才可以生成电路原理图)另外,选中生成的器件原理图,点击鼠标右键选择Gneratepinsforsymbolports可以自动生成输入输出端口。
图13编程方法实现电路原理图
7.设置ModelSim仿真路径,为ModelSim仿真做准备。
点击菜单栏上的Assignments->
Settings,出现设置窗口,选择EDAToolSettings下的Simulation,Toolname选择ModelSim-Altera,Formatforoutputnetlist选择VHDL,Outputdirectory选择simulation/modelsim,如图14所示;
图14ModelSim仿真路径设置
点击OK后,在第2步的half_add文件夹下就生成了simulation文件夹,并且将这个文件夹作为以后ModelSim的仿真路径;
8.全编译half_add.vhd文件,显示编译成功之后,点击Processing->
StartTestBenchTemplateWriter,编译成功之后,就在第7步生成的simulation文件夹下生成了网表文件half_add.vho、测试文件half_add.vht以及延时文件half_add_vhd.sdo三个文件,如图15所示,至此,QuartusII的编译任务就完成了。
图15生成的文件
4、联合仿真流程第一部分—QuartusII10.0第二部分
1.打开ModelSim软件,新建工程,点击File->
Project,填写ProjeceName:
half_add,ProjectLocation选择第一部分第7步设置的ModelSim仿真路径,如图1所示;
图1新建ModelSim工程
新建Project完成之后,出现添加文件的窗口,选择添加已存在的文件,即我们在第一部分第8步生成的文件,如图2所示;
图2添加文件
2.双击打开half_add.vht文件,这个文件是Quartus生成测试文件,需要自己补充仿真参数,这里给出半加器的.vht的修改后的测试程序(在生成的vht文件中,其中只需要添加初始化的内容即可)。
图3补充.vht文件参数
3.右键half_add.vho文件,选择Compile->
CompileAll编译half_add.vho和half_add.vht文件,直到编译成功显示
4.点击Simulate->
StartSimulation,开始仿真,如图4所示;
图4仿真设置
点击Design,展开work,选择half_add_vhd_tst测试文件,切换到SDF,添加延时文件.sdo,在这里需要注意的是一定要将地下的DisableSDFwarnings和ReduceSDFerrorstowarnings前面的对勾勾选,不然在仿真时会出现很多错误,默认的Applytoregion写i1名称,与vht文件中的程序一直,如图5所示。
图5添加延时文件
5.点击OK后就会自动跳转到仿真页面,在这里就可以看到半加器的仿真波形了,如图6所示。
6.至此,时序仿真过程就编写完了,功能仿真只比时序仿真少一个延时文件.sdo,其他过程与时序仿真完全相同。
在具体实践过程中,可能还会遇到各种各样的问题,ModelSim正常运行也依赖于仿真库文件的齐备,所以碰到某些工程在仿真中遇到报错的情况时,不妨检查下ModelSim的提示信息,进行调试修改。
五、程序下载进行硬件测试
1、硬件测试之前首先要进行引脚分配,引脚分配主要是在分配窗口中的“Location”列中双击鼠标,键入需要的引脚号码即可完成引脚分配。
退出引脚分配窗口,系统自动完成分配引脚信息的存储。
在完成引脚分配后,必须再一次对设计进行编译,这样才能将引脚分配信息编译进编程下载文件中,具体实例参考第三部分中的引脚分配内容。
2、硬件实验首先点击菜单栏“Tools—Programmer”或点击工具栏图标
,打开编程/配置器窗口,如图1所示:
图1编程/配置器窗口
3、打开的窗口没有设置编程硬件,这时候窗口会显示“NOHardware”单机“HardwareSetup”弹出对话框,在Currentlyselectedhardware中选择希望的编程方式,这里选择为“USB-Blaster”model选择为JTAG。
点击AddFile选择sof文件加载进来,在Program/Configure打钩选中文件,最后点击Start按钮进行程序下载,在Progess看到绿色的程序下载进度条,如图2所示。
图2配置完成后窗口
至此QuartusII10.0结合ModelSim联合仿真过程演示完毕,本文仅适应于FPGA开发初期学习者对软件使用时做参考,限于本人水平文中难免有疏漏错误希望读者见谅。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Quartus ModelSim 联合 仿真 流程 文档