预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
文档名称关键词:FPGA、设计流程、compiler、DesignAnalyze摘要:本文介绍在PC机上进行FPGA设计的流程及流程各阶段涉及的工具的使用。1FPGA设计流程概述FPGA设计流程跟ASIC设计流程相似,具体如下:规格确定需求分析设计电路Verilog/VHDL设计输入设计编译、功能仿真综合综合门级仿真(前仿真)加约束translate&map布局布线设计后端时序仿真(后仿真)bit文件产生bit文件加载原型测试FPGA系统测试请输入文档名称图1FPGA设计流程图2规格确定FPGA设计首先需要进行的工作是规格的确定,需要明白我们的逻辑在系统中的位置、需要完成的功能、实现那些技术指标、有那一些对外的接口、可以使用那些外部的资源(时钟、复位)等等。这一阶段的工作需要同软件、硬件人员共同完成,应该从系统的角度考虑问题,分清楚什么是必须的功能,什么是次要的功能。要明确FPGA设计的各方面的指标,不仅仅包括功能、技术指标等方面的,还应该包括进度、成本等方面的内容。一旦规格确定,在后面的设计阶段中对规格的更改需要十分谨慎,任何更改规格的行为都必须要有充足的理由。3、设计输入、编译进入设计阶段,首先需要完成总体方案和详细设计报告的设计。在逻辑设计中方案的设计至关重要,并且要求也比较严格,一般需要细化到第三级模块的描述。模块之间的接口必须画出波形图,功能描述需要围绕接口波形图展开。模块中如果有使用状态机,需要按照标准的状态机描述模版进行描述。当详细设计报告完成之后,开始进行RTL级代码编写工作。代码的编写可以在任意一个文本编辑器中进行。但最好使用QuartusII或者Modelsim中带的文本编辑器,可以直接检查语法错误。4、功能仿真功能仿真就是对设计进行不带器件延时信息的功能仿真,它是展示设计在功能上正确的一个过程。4.1Testbench的编写功能仿真的过程首先需要确定设计的Testcase,即确定应该从那些方面对设计进行验证;然后根据Testcase编写Testbench;然后将Testbench和设计放于仿真器中进行仿真;最后根据仿真结果输出仿真测试报告。在整个功能仿真过程中,最主要的工作就是Testbench的编写。Testbench与设计之间的关系如下图:2003-1-23版权所有,侵权必究,请输入文档名称TestbenchDesign图2Testbench与设计之间的关系图Testbench的内容包括激励产生、读写memory、监控、自检代码。4.1.1激励的产生一般包括一下步骤在一个Initialblock模块里面初始化所有的输入信号;在其它always模块里面产生其它激励;将时钟发生独立与其它激励;使用task产生激励;使用专门的读数据域来产生激励;使用系统任务$random来产生随机数据;使用专门的参数定义域来定义所有的参数;4.1.2激励产生的几种方法按时间间隔来产生激励;按周期性信号来产生激励;使用过程、事件和函数;根据从文件中读取的数据来产生激励;以输出为基础来产生激励;4.2功能仿真应用工具MODELSIMModelsim是MentorGraphic公司出品的HDL仿真器。4.2.1流程图2003-1-23版权所有,侵权必究,请输入文档名称DesignEntryTestBanchModify编译仿真波形验证图3MODELSIM使用流程4.2.2具体流程1.编制顶层测试文件。并在测试文件中指定顶层实体/结构体的配置。2.建立新工程单击菜单File>New>Newproject,在对话框中输入希望工程所在的目录和工程名.如下图,在c:/Modeltech_5.3d/work目录下建立了一个名为counter的工程.图4建立新工程3.打开旧工程单击File>Open>Openproject,选择工程,如下图,选择了一个名为counter的工程.2003-1-23版权所有,侵权必究,请输入文档名称图5打开旧工程以下以新建工程counter为例,介绍Modelsim的使用.4.编辑源程序A.将源程序加入工程法(一):单击File>New>ImportSource,选择要加入工程的源程序,如下图所示,将所需的源程序全部加入到工程中.本例中将c:/Modeltech_5.3d/examples/project/verilog/目录下的counter.v、tcounter.v导入工程图6加入源程序法(二):单击Options>EditProjiect,选择源程序,单击Import,再单击Compile进行编译,最后单击AddtoLibrary将其加入库中。对所有要加入的源程序执行上述操作。2003-1-23版权所有,侵权必究,请输入文档名称图7编辑源程序并加入库建议使用方法二。B.编辑新的源程