1.3 FPGA的设计流程

上传人:油条 文档编号:48602143 上传时间:2018-07-18 格式:PPT 页数:51 大小:148KB
返回 下载 相关 举报
1.3 FPGA的设计流程_第1页
第1页 / 共51页
1.3 FPGA的设计流程_第2页
第2页 / 共51页
1.3 FPGA的设计流程_第3页
第3页 / 共51页
1.3 FPGA的设计流程_第4页
第4页 / 共51页
1.3 FPGA的设计流程_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《1.3 FPGA的设计流程》由会员分享,可在线阅读,更多相关《1.3 FPGA的设计流程(51页珍藏版)》请在金锄头文库上搜索。

1、1.3 FPGA的设计流程1.3.1 可编程逻辑器件的一般设计流程n可编程逻辑器件的设 计过程是利用EDA开 发软件和编程工具对 器件进行开发的过程 。可编程逻辑器件的 一般设计流程如图 1.3.1所示,包括设计 准备,设计输入,功 能仿真,设计处理, 时序仿真和器件编程 及测试等七个步骤。图1.3.1 可编程逻辑 器件的一般 设计流程1设计准备n在系统设计之前,首先要进行的是方案 论证,系统设计和器件选择等准备工作 。设计人员需要根据任务要求,如系统 的功能和复杂度,对工作速度和器件本 身的资源、成本及连线的可布性等方面 进行权衡,选择合适的设计方案和合适 的器件类型。一般采用自顶向下的设计

2、 方法。2设计输入n设计输入是设计人员将所设计的系统或 电路以开发软件要求的某种形式表示出 来,并送入计算机的过程。设计输入通 常有以下几种形式: (1)原理图输入方式 (2)HDL(硬件描述语言)输入方式 (3)波形输入方式(1)原理图输入方式n原理图输入方式是一种最直接的设计描述方式 ,要设计什么,就从软件系统提供的元件库中 调出来,画出原理图。这种方式要求设计人员 有丰富的电路知识及对PLD的结构比较熟悉。 其主要优点是容易实现仿真,便于信号的观察 和电路的调整;缺点是效率低,特别是产品有 所改动,需要选用另外一个公司的PLD器件时 ,就需要重新输入原理图,而采用硬件描述语 言输入方式就

3、不存在这个问题。 (2)HDL(硬件描述语言)输入方式n硬件描述语言是用文本方式描述设计,它分为普 通硬件描述语言和行为描述语言。普通硬件描述 语言有ABEL、CUR和LFM等,它们支持逻辑方程 。真值表、状态机等逻辑表达方式,主要用于简 单PLD的设计输入。行为描述语言是目前常用的高 层硬件描述语言,主要有VHDL和 Verilog HDL两 个IEEE标准。其突出优点有:语言与工艺的无关 性,可以使设计人员在系统设计、逻辑验证阶段 便确立方案的可行性;语言的公开可利用性,便 于实现大规模系统的设计;具有很强的逻辑描述 和仿真功能,而且输入效率高,在不同的设计输 入库之间的转换非常方便,用不

4、着对底层的电路 和PLD结构的熟悉。 (3)波形输入方式n波形输入方式主要是用来建立和编辑波形设计 文件,以及输入仿真向量和功能测试向量。波 形设计输入适用于时序逻辑和有重复性的逻辑 函数。系统软件可以根据用户定义的输入输 出波形自动生成逻辑关系。波形编辑功能还允 许设计人员对波形进行拷贝、剪切、粘贴、重 复与伸展,从而可以用内部节点、触发器和状 态机建立设计文件,并将波形进行组合,显示 各种进制的状态值,也可以将一组波形重叠到 另一组波形上,对两组仿真结果进行比较。 3功能仿真n功能仿真在编译之前对用户所设计的电路进行 逻辑功能验证,此时的仿真没有延时信息,仅 对初步的功能进行检测。仿真前,

5、要先利用波 形编辑器和硬件描述语言等建立波形文件和测 试向量(即将所关心的输入信号组合成序列) ,仿真结果将会生成报告文件和输出信号波形 ,从中便可以观察到各个节点的信号变化。如 果发现错误,则返回设计输入中修改逻辑设计 。4设计处理n 设计处理是器件设计中的核心环节。在 设计处理过程中,编译软件将对设计输 入文件进行逻辑化简、综合优化和适配 ,最后产生编程用的编程文件。 (1)语法检查和设计规则检查n设计输入完成后,首先进行语法检查, 如原理图中有无漏连信号线,信号有无 双重来源,文本输入文件中关键字有无 输错等各种语法错误,并及时列出错误 信息报告供设计人员修改,然后进行设 计规则检验,检

6、查总的设计有无超出器 件资源或规定的限制,并将编译报告列 出,指明违反规则情况以供设计人员纠 正。(2)逻辑优化和综合n化简所有的逻辑方程或用户自建的宏, 使设计所占用的资源最少。综合的目的 是将多个模块化设计文件合并为一个网 表文件,并使层次设计平面化。 (3)适配和分割n确立优化以后的逻辑能否与器件中的宏单元和 I/O用单元适配,然后将设计分割为多个便于 识别的逻辑小块形式映射到器件相应的宏单元 中。如果整个设计较大,不能装入一片器件时 ,可以将整个设计划分(分割)成多块,并装 入同一系列的多片器件中去。分割可全自动、 部分或全部用户控制,目的是使器件数目最少 ,器件之间通信的引脚数目最少

7、。 (4)布局和布线n 布局和布线工作是在上面的设计工作完 成后由软件自动完成的,它以最优的方 式对逻辑元件布局,并准确地实现元件 间的互连。布线以后软件自动生成报告 ,提供有关设计中各部分资源的使用情 况等信息。5时序仿真n 时序仿真又称后仿真或延时仿真。由于 不同器件的内部延时不一样,不同的布 局布线方案也给延时造成不同的影响, 因此在设计处理以后,对系统和各模块 进行时序仿真,分析其时序关系,估计 设计的性能,以及检查和消除竞争冒险 等是非常有必要的。实际上这也是与实 际器件工作情况基本相同的仿真。6器件编程测试n时序仿真完成后,软件就可产生供器件 编程使用的数据文件。对EPLDCPLD

8、来 说,是产生熔丝图文件,即 JED文件。 对于FPGA来说,是产生位流数据文件( Bitstream Generation),然后将编程数 据放到对应的具体可编程器件中去。 n器件编程需要满足一定的条件,如编程 电压、编程时序和编程算法等。普通的 EPLDCPLD器件和一次性编程的FPGA 需要专用的编程器完成器件的编程工作 。基于SRAM的FPGA可以由EPROM或其 它存储体进行配置。在线可编程的PLD器 件不需要专门的编程器,只要一根编程 下载电缆就可以了。n器件在编程完毕后,可以用编译时产生 的文件对器件进行校验、加密等工作。 对于支持JTAG技术,具有边界扫描测试 BST(Band

9、ary-Scan Testing)能力和在 线编程能力的器件来说,测试起来就更 加方便。 1.3.2 基于MAX十plus的设计流程 nMAXplus是Altera提供的FPGACPLD开发 集成环境。在MAXplus上可以完成FPGA的 整个设计流程,它提供了一种与结构无关的设 计环境,使设计者能方便地进行设计输入、快 速处理和器件编程。 n 基于MAXplus软件的设计流程如图1.3.2 所示,分为4个步骤,包括设计输入编辑、编 译网表提取、数据库建立、逻辑综合、逻辑分 割、适配、延时网表提取、编程文件汇编(装 配)以及编程下载等过程。n图1.3.2 基于MAX十plus的设计流程 设计输

10、入 (图形编辑器,文本 编辑器,符号编辑器 ,波形编辑器)项目处理 (网表提取器,数据库, 逻辑综合器,适配器)项目校验 (仿真器,时 间分析器)器件编程 (编程器)1. 设计输入nMAXplus软件的设计文件可以来自 MAX plus设计输入工具或各种工业标准的EDA设计 输入工具。MAXplus强大的集成功能允许信 息在各种应用程序间自由交流,设计者可在一个 工程内直接从某个设计文件转换到其他任何设计 文件,而不必理会设计文件是图形格式、文本格 式,还是波形格式。nMAXplus具有原理图输入与符号编辑、硬件 描述语言输入、波形设计输入、平面图编辑、层 次设计输入多种设计输入方法。2. 项

11、目处理nMAXplus处理一个设计时,软件编 译器读取设计文件信息,产生用于器件 编程、仿真、定时分析的输出文件。消 息处理器可自动定位编译过程中发现的 错误,编译器还可优化设计文件。项目处理基本步骤n项目处理包括以下基本步骤:n 消息处理器自动定位错误;n 逻辑综合与试配。n 定时驱动编译。n 设计规则检查。n 多器件划分。n 产生用于仿真的工业标准格式。n 生成编程文件。 3. 项目校验nMAXplus提供的设计校验功能包括设 计仿真与定时分析,用于测试设计的逻 辑操作和内部时序。其中设计仿真又分 为功能仿真、时序仿真和多器件仿真。4. 器件编程nMAXplus编程器使用编译器生成的编 程

12、文件对 Altera器件进行下载编程,它 可用来进行器件编程、校验、检查、探 测空白及功能测试。1.3.3 基于Quartus的设计流程nQuartus 是Altera 继MAXplus之后提供 的FPGACPLD开发集成环境。目前,Altera公 司最新的 Quartus设计软件是 3.0版,该版 本设计软件包括了许多新的功能,将设计性能 改善了15,编译时间缩短了50。nQuartus 3.0版设计软件除了支持 Altera的 APEX 20KE、APEX 20KC、APEX 、nARM的Excalibur嵌入处理器方案、Mercury、 Stratix、FLEX10KE和ACEXIK之外

13、,还支持 MAX3000A、MAX7000系列乘积项器件。 n基于Quartus 的设计流程如图 1.3.3所示。图1.3.3 基于Quartus的设计流程1. 设计输入nQuartus 支持多种设计输入方法。 Quartus本身具有的编辑器支持原理图 式图形设计输入,文本编辑输入(如 AHDL、VHDL、Verilog)和内存编辑输 入(如Hex、Mif)。第三方EDA工具编 辑的标准格式文件,如 EDIF、HDL、 VQM。也可以采用一些别的方法优化和 提高输入的灵活性,如混合设计格式, 利用LPM和宏功能模块来加速设计输入。 2. 设计项目的编译nQuartus 编译器的功能包括设计错误

14、检查、逻辑 综合、Altera适配器件以及为仿真、定时分析和器 件编程产生输出文件。编译器首先提取项目设计 文件之间的层次连接信息并检查基本的设计输入 错误,然后结合所有的设计文件生成能被高效处 理的数据库。设计人员能指示编译器应用许多技 术,如定时驱动编译,增加设计速度及优化器件 资源的利用率。在编译过程中和编译后,用户都 能在编译结果报告窗口看到结果。编译器生成的 编程文件可用 Quartus编程器或其它工业标准编程 器对Altera器件进行编程或配置。 (1)编译设置nQuartus软件允许编译一个完整的设计 或者设计的任何组成部分。对一个新建 项目软件创建缺省的编译设置,用户可 以通过

15、指定编译设置选项来创建用户的 编译设置,以后可以直接调用该编译设 置。Quartus软件的编译设置指南可以 轻松地帮助用户完成编译设置。(2)资源分配n设计人员可以将自己设计中的部分逻辑 分配到器件资源的特定位置,如可将模 块设计文件(bdf)中的某一模块的逻 辑分配到器件特定的 MegaLAB行中, MegaLAB是 APEX器件的大规模结构。(3) 编译设计n点击快捷键或在Processing下拉菜单中选择Start Compilation或 Start analysisElaboration开始完 全或部分编译。在状态栏中将显示编译进度的百分 比和每阶段所花费时间,编译的结果在编译报告栏

16、 中自动更新,编译完后的结果将显示。如果编译后 有错误和警告信息,就要对设计原文件进行修改, 再重新编译直到无错误和警告信息为止。n 编译完后将产生一个编译报告栏,它包含了怎 样将一个设计放到一个器件中的所有信息,如器件 使用统计、编译设置、底层显示、器件资源利用率 ,状态机的实现、方程式、延时分析结果和 CPU 使用资源等。 (4)查看适配结果 n 在编译成功后,就可在最后编译平面图 中查看结果。平面图显示了编译器是怎 样将逻辑设计分配到 Altera器件中去的 。没用的单元为白色,使用过的单元为 彩色并互相连接。在编译平面图中点击 逻辑单元,还可查看该逻辑单元的路由 连接关系(5) 分配逻辑到ESBn设计人员可以使用映射选项技术,强制 Quartus软件将自己的逻辑设计在特殊的器件 资源中实现,如 ESB(Embedded System Block)。 ESB是存在于 APEX、Mercury和基 于ARM

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号