FPGA的设计流程课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《FPGA的设计流程课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA 设计 流程 课件
- 资源描述:
-
1、1.3 FPGA的设计流程1.3.1 可编程逻辑器件的一般设计流程n可编程逻辑器件的设计过程是利用EDA开发软件和编程工具对器件进行开发的过程。可编程逻辑器件的一般设计流程如图1.3.1所示,包括设计准备,设计输入,功能仿真,设计处理,时序仿真和器件编程及测试等七个步骤。图1.3.1可编程逻辑器件的一般设计流程1设计准备设计准备n在系统设计之前,首先要进行的是方案论证,系统设计和器件选择等准备工作。设计人员需要根据任务要求,如系统的功能和复杂度,对工作速度和器件本身的资源、成本及连线的可布性等方面进行权衡,选择合适的设计方案和合适的器件类型。一般采用自顶向下的设计方法。2设计输入设计输入n设计
2、输入是设计人员将所设计的系统或电路以开发软件要求的某种形式表示出来,并送入计算机的过程。设计输入通常有以下几种形式:(1)原理图输入方式(2)HDL(硬件描述语言)输入方式(3)波形输入方式(1)原理图输入方式n原理图输入方式是一种最直接的设计描述方式,要设计什么,就从软件系统提供的元件库中调出来,画出原理图。这种方式要求设计人员有丰富的电路知识及对PLD的结构比较熟悉。其主要优点是容易实现仿真,便于信号的观察和电路的调整;缺点是效率低,特别是产品有所改动,需要选用另外一个公司的PLD器件时,就需要重新输入原理图,而采用硬件描述语言输入方式就不存在这个问题。(2)HDL(硬件描述语言)输入方式
3、n硬件描述语言是用文本方式描述设计,它分为普通硬件描述语言和行为描述语言。普通硬件描述语言有ABEL、CUR和LFM等,它们支持逻辑方程。真值表、状态机等逻辑表达方式,主要用于简单PLD的设计输入。行为描述语言是目前常用的高层硬件描述语言,主要有VHDL和 Verilog HDL两个IEEE标准。其突出优点有:语言与工艺的无关性,可以使设计人员在系统设计、逻辑验证阶段便确立方案的可行性;语言的公开可利用性,便于实现大规模系统的设计;具有很强的逻辑描述和仿真功能,而且输入效率高,在不同的设计输入库之间的转换非常方便,用不着对底层的电路和PLD结构的熟悉。(3)波形输入方式n波形输入方式主要是用来
4、建立和编辑波形设计文件,以及输入仿真向量和功能测试向量。波形设计输入适用于时序逻辑和有重复性的逻辑函数。系统软件可以根据用户定义的输入输出波形自动生成逻辑关系。波形编辑功能还允许设计人员对波形进行拷贝、剪切、粘贴、重复与伸展,从而可以用内部节点、触发器和状态机建立设计文件,并将波形进行组合,显示各种进制的状态值,也可以将一组波形重叠到另一组波形上,对两组仿真结果进行比较。3功能仿真功能仿真n功能仿真在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有延时信息,仅对初步的功能进行检测。仿真前,要先利用波形编辑器和硬件描述语言等建立波形文件和测试向量(即将所关心的输入信号组合成序列),仿真
5、结果将会生成报告文件和输出信号波形,从中便可以观察到各个节点的信号变化。如果发现错误,则返回设计输入中修改逻辑设计。4设计处理设计处理n 设计处理是器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入文件进行逻辑化简、综合优化和适配,最后产生编程用的编程文件。(1)语法检查和设计规则检查n设计输入完成后,首先进行语法检查,如原理图中有无漏连信号线,信号有无双重来源,文本输入文件中关键字有无输错等各种语法错误,并及时列出错误信息报告供设计人员修改,然后进行设计规则检验,检查总的设计有无超出器件资源或规定的限制,并将编译报告列出,指明违反规则情况以供设计人员纠正。(2)逻辑优化和综合n化简
6、所有的逻辑方程或用户自建的宏,使设计所占用的资源最少。综合的目的是将多个模块化设计文件合并为一个网表文件,并使层次设计平面化。(3)适配和分割n确立优化以后的逻辑能否与器件中的宏单元和I/O用单元适配,然后将设计分割为多个便于识别的逻辑小块形式映射到器件相应的宏单元中。如果整个设计较大,不能装入一片器件时,可以将整个设计划分(分割)成多块,并装入同一系列的多片器件中去。分割可全自动、部分或全部用户控制,目的是使器件数目最少,器件之间通信的引脚数目最少。(4)布局和布线n 布局和布线工作是在上面的设计工作完成后由软件自动完成的,它以最优的方式对逻辑元件布局,并准确地实现元件间的互连。布线以后软件
7、自动生成报告,提供有关设计中各部分资源的使用情况等信息。5时序仿真时序仿真n 时序仿真又称后仿真或延时仿真。由于不同器件的内部延时不一样,不同的布局布线方案也给延时造成不同的影响,因此在设计处理以后,对系统和各模块进行时序仿真,分析其时序关系,估计设计的性能,以及检查和消除竞争冒险等是非常有必要的。实际上这也是与实际器件工作情况基本相同的仿真。6器件编程测试器件编程测试n时序仿真完成后,软件就可产生供器件编程使用的数据文件。对EPLDCPLD来说,是产生熔丝图文件,即 JED文件。对于FPGA来说,是产生位流数据文件(Bitstream Generation),然后将编程数据放到对应的具体可编
8、程器件中去。n器件编程需要满足一定的条件,如编程电压、编程时序和编程算法等。普通的EPLDCPLD器件和一次性编程的FPGA需要专用的编程器完成器件的编程工作。基于SRAM的FPGA可以由EPROM或其它存储体进行配置。在线可编程的PLD器件不需要专门的编程器,只要一根编程下载电缆就可以了。n器件在编程完毕后,可以用编译时产生的文件对器件进行校验、加密等工作。对于支持JTAG技术,具有边界扫描测试BST(Bandary-Scan Testing)能力和在线编程能力的器件来说,测试起来就更加方便。1.3.2 基于MAX十plus的设计流程 nMAXplus是Altera提供的FPGACPLD开发
9、集成环境。在MAXplus上可以完成FPGA的整个设计流程,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。n 基于MAXplus软件的设计流程如图1.3.2所示,分为4个步骤,包括设计输入编辑、编译网表提取、数据库建立、逻辑综合、逻辑分割、适配、延时网表提取、编程文件汇编(装配)以及编程下载等过程。n图1.3.2 基于MAX十plus的设计流程 设计输入(图形编辑器,文本编辑器,符号编辑器,波形编辑器)项目处理(网表提取器,数据库,逻辑综合器,适配器)项目校验(仿真器,时间分析器)器件编程(编程器)1.设计输入设计输入nMAXplus软件的设计文件可以来自
10、 MAXplus设计输入工具或各种工业标准的EDA设计输入工具。MAXplus强大的集成功能允许信息在各种应用程序间自由交流,设计者可在一个工程内直接从某个设计文件转换到其他任何设计文件,而不必理会设计文件是图形格式、文本格式,还是波形格式。nMAXplus具有原理图输入与符号编辑、硬件描述语言输入、波形设计输入、平面图编辑、层次设计输入多种设计输入方法。2.项目处理项目处理nMAXplus处理一个设计时,软件编译器读取设计文件信息,产生用于器件编程、仿真、定时分析的输出文件。消息处理器可自动定位编译过程中发现的错误,编译器还可优化设计文件。项目处理基本步骤n项目处理包括以下基本步骤:n 消息
11、处理器自动定位错误;n 逻辑综合与试配。n 定时驱动编译。n 设计规则检查。n 多器件划分。n 产生用于仿真的工业标准格式。n 生成编程文件。3.项目校验项目校验nMAXplus提供的设计校验功能包括设计仿真与定时分析,用于测试设计的逻辑操作和内部时序。其中设计仿真又分为功能仿真、时序仿真和多器件仿真。4.器件编程器件编程nMAXplus编程器使用编译器生成的编程文件对 Altera器件进行下载编程,它可用来进行器件编程、校验、检查、探测空白及功能测试。1.3.3 基于Quartus的设计流程nQuartus 是Altera 继MAXplus之后提供的FPGACPLD开发集成环境。目前,Alt
12、era公司最新的 Quartus设计软件是 3.0版,该版本设计软件包括了许多新的功能,将设计性能改善了15,编译时间缩短了50。nQuartus 3.0版设计软件除了支持 Altera的 APEX 20KE、APEX 20KC、APEX、nARM的Excalibur嵌入处理器方案、Mercury、Stratix、FLEX10KE和ACEXIK之外,还支持MAX3000A、MAX7000系列乘积项器件。n基于Quartus的设计流程如图1.3.3所示。图1.3.3 基于Quartus的设计流程1.设计输入设计输入nQuartus 支持多种设计输入方法。Quartus本身具有的编辑器支持原理图式
展开阅读全文