FPGA的设计流程.ppt_第1页
FPGA的设计流程.ppt_第2页
FPGA的设计流程.ppt_第3页
FPGA的设计流程.ppt_第4页
FPGA的设计流程.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1 3FPGA的设计流程 1 3 1可编程逻辑器件的一般设计流程 可编程逻辑器件的设计过程是利用EDA开发软件和编程工具对器件进行开发的过程 可编程逻辑器件的一般设计流程如图1 3 1所示 包括设计准备 设计输入 功能仿真 设计处理 时序仿真和器件编程及测试等七个步骤 图1 3 1可编程逻辑器件的一般设计流程 1 设计准备 在系统设计之前 首先要进行的是方案论证 系统设计和器件选择等准备工作 设计人员需要根据任务要求 如系统的功能和复杂度 对工作速度和器件本身的资源 成本及连线的可布性等方面进行权衡 选择合适的设计方案和合适的器件类型 一般采用自顶向下的设计方法 2 设计输入 设计输入是设计人员将所设计的系统或电路以开发软件要求的某种形式表示出来 并送入计算机的过程 设计输入通常有以下几种形式 1 原理图输入方式 2 HDL 硬件描述语言 输入方式 3 波形输入方式 1 原理图输入方式 原理图输入方式是一种最直接的设计描述方式 要设计什么 就从软件系统提供的元件库中调出来 画出原理图 这种方式要求设计人员有丰富的电路知识及对PLD的结构比较熟悉 其主要优点是容易实现仿真 便于信号的观察和电路的调整 缺点是效率低 特别是产品有所改动 需要选用另外一个公司的PLD器件时 就需要重新输入原理图 而采用硬件描述语言输入方式就不存在这个问题 2 HDL 硬件描述语言 输入方式 硬件描述语言是用文本方式描述设计 它分为普通硬件描述语言和行为描述语言 普通硬件描述语言有ABEL CUR和LFM等 它们支持逻辑方程 真值表 状态机等逻辑表达方式 主要用于简单PLD的设计输入 行为描述语言是目前常用的高层硬件描述语言 主要有VHDL和VerilogHDL两个IEEE标准 其突出优点有 语言与工艺的无关性 可以使设计人员在系统设计 逻辑验证阶段便确立方案的可行性 语言的公开可利用性 便于实现大规模系统的设计 具有很强的逻辑描述和仿真功能 而且输入效率高 在不同的设计输入库之间的转换非常方便 用不着对底层的电路和PLD结构的熟悉 3 波形输入方式 波形输入方式主要是用来建立和编辑波形设计文件 以及输入仿真向量和功能测试向量 波形设计输入适用于时序逻辑和有重复性的逻辑函数 系统软件可以根据用户定义的输入 输出波形自动生成逻辑关系 波形编辑功能还允许设计人员对波形进行拷贝 剪切 粘贴 重复与伸展 从而可以用内部节点 触发器和状态机建立设计文件 并将波形进行组合 显示各种进制的状态值 也可以将一组波形重叠到另一组波形上 对两组仿真结果进行比较 3 功能仿真 功能仿真在编译之前对用户所设计的电路进行逻辑功能验证 此时的仿真没有延时信息 仅对初步的功能进行检测 仿真前 要先利用波形编辑器和硬件描述语言等建立波形文件和测试向量 即将所关心的输入信号组合成序列 仿真结果将会生成报告文件和输出信号波形 从中便可以观察到各个节点的信号变化 如果发现错误 则返回设计输入中修改逻辑设计 4 设计处理 设计处理是器件设计中的核心环节 在设计处理过程中 编译软件将对设计输入文件进行逻辑化简 综合优化和适配 最后产生编程用的编程文件 1 语法检查和设计规则检查 设计输入完成后 首先进行语法检查 如原理图中有无漏连信号线 信号有无双重来源 文本输入文件中关键字有无输错等各种语法错误 并及时列出错误信息报告供设计人员修改 然后进行设计规则检验 检查总的设计有无超出器件资源或规定的限制 并将编译报告列出 指明违反规则情况以供设计人员纠正 2 逻辑优化和综合 化简所有的逻辑方程或用户自建的宏 使设计所占用的资源最少 综合的目的是将多个模块化设计文件合并为一个网表文件 并使层次设计平面化 3 适配和分割 确立优化以后的逻辑能否与器件中的宏单元和I O用单元适配 然后将设计分割为多个便于识别的逻辑小块形式映射到器件相应的宏单元中 如果整个设计较大 不能装入一片器件时 可以将整个设计划分 分割 成多块 并装入同一系列的多片器件中去 分割可全自动 部分或全部用户控制 目的是使器件数目最少 器件之间通信的引脚数目最少 4 布局和布线 布局和布线工作是在上面的设计工作完成后由软件自动完成的 它以最优的方式对逻辑元件布局 并准确地实现元件间的互连 布线以后软件自动生成报告 提供有关设计中各部分资源的使用情况等信息 5 时序仿真 时序仿真又称后仿真或延时仿真 由于不同器件的内部延时不一样 不同的布局布线方案也给延时造成不同的影响 因此在设计处理以后 对系统和各模块进行时序仿真 分析其时序关系 估计设计的性能 以及检查和消除竞争冒险等是非常有必要的 实际上这也是与实际器件工作情况基本相同的仿真 6 器件编程测试 时序仿真完成后 软件就可产生供器件编程使用的数据文件 对EPLD CPLD来说 是产生熔丝图文件 即JED文件 对于FPGA来说 是产生位流数据文件 BitstreamGeneration 然后将编程数据放到对应的具体可编程器件中去 器件编程需要满足一定的条件 如编程电压 编程时序和编程算法等 普通的EPLD CPLD器件和一次性编程的FPGA需要专用的编程器完成器件的编程工作 基于SRAM的FPGA可以由EPROM或其它存储体进行配置 在线可编程的PLD器件不需要专门的编程器 只要一根编程下载电缆就可以了 器件在编程完毕后 可以用编译时产生的文件对器件进行校验 加密等工作 对于支持JTAG技术 具有边界扫描测试BST Bandary ScanTesting 能力和在线编程能力的器件来说 测试起来就更加方便 1 3 2基于MAX十plus 的设计流程 MAX plus 是Altera提供的FPGA CPLD开发集成环境 在MAX plus 上可以完成FPGA的整个设计流程 它提供了一种与结构无关的设计环境 使设计者能方便地进行设计输入 快速处理和器件编程 基于MAX plus 软件的设计流程如图1 3 2所示 分为4个步骤 包括设计输入编辑 编译网表提取 数据库建立 逻辑综合 逻辑分割 适配 延时网表提取 编程文件汇编 装配 以及编程下载等过程 图1 3 2基于MAX十plus 的设计流程 设计输入 图形编辑器 文本编辑器 符号编辑器 波形编辑器 项目处理 网表提取器 数据库 逻辑综合器 适配器 项目校验 仿真器 时间分析器 器件编程 编程器 1 设计输入 MAX plus 软件的设计文件可以来自MAX plus 设计输入工具或各种工业标准的EDA设计输入工具 MAX plus 强大的集成功能允许信息在各种应用程序间自由交流 设计者可在一个工程内直接从某个设计文件转换到其他任何设计文件 而不必理会设计文件是图形格式 文本格式 还是波形格式 MAX plus 具有原理图输入与符号编辑 硬件描述语言输入 波形设计输入 平面图编辑 层次设计输入多种设计输入方法 2 项目处理 MAX plus 处理一个设计时 软件编译器读取设计文件信息 产生用于器件编程 仿真 定时分析的输出文件 消息处理器可自动定位编译过程中发现的错误 编译器还可优化设计文件 项目处理基本步骤 项目处理包括以下基本步骤 消息处理器自动定位错误 逻辑综合与试配 定时驱动编译 设计规则检查 多器件划分 产生用于仿真的工业标准格式 生成编程文件 3 项目校验 MAX plus 提供的设计校验功能包括设计仿真与定时分析 用于测试设计的逻辑操作和内部时序 其中设计仿真又分为功能仿真 时序仿真和多器件仿真 4 器件编程 MAX plus 编程器使用编译器生成的编程文件对Altera器件进行下载编程 它可用来进行器件编程 校验 检查 探测空白及功能测试 1 3 3基于Quartus 的设计流程 Quartus 是Altera继MAX plus 之后提供的FPGA CPLD开发集成环境 目前 Altera公司最新的Quartus 设计软件是3 0版 该版本设计软件包括了许多新的功能 将设计性能改善了15 编译时间缩短了50 Quartus 3 0版设计软件除了支持Altera的APEX20KE APEX20KC APEX ARM的Excalibur嵌入处理器方案 Mercury Stratix FLEX10KE和ACEXIK之外 还支持MAX3000A MAX7000系列乘积项器件 基于Quartus 的设计流程如图1 3 3所示 图1 3 3基于Quartus 的设计流程 1 设计输入 Quartus 支持多种设计输入方法 Quartus 本身具有的编辑器支持原理图式图形设计输入 文本编辑输入 如AHDL VHDL Verilog 和内存编辑输入 如Hex Mif 第三方EDA工具编辑的标准格式文件 如EDIF HDL VQM 也可以采用一些别的方法优化和提高输入的灵活性 如混合设计格式 利用LPM和宏功能模块来加速设计输入 2 设计项目的编译 Quartus 编译器的功能包括设计错误检查 逻辑综合 Altera适配器件以及为仿真 定时分析和器件编程产生输出文件 编译器首先提取项目设计文件之间的层次连接信息并检查基本的设计输入错误 然后结合所有的设计文件生成能被高效处理的数据库 设计人员能指示编译器应用许多技术 如定时驱动编译 增加设计速度及优化器件资源的利用率 在编译过程中和编译后 用户都能在编译结果报告窗口看到结果 编译器生成的编程文件可用Quartus编程器或其它工业标准编程器对Altera器件进行编程或配置 1 编译设置 Quartus 软件允许编译一个完整的设计或者设计的任何组成部分 对一个新建项目软件创建缺省的编译设置 用户可以通过指定编译设置选项来创建用户的编译设置 以后可以直接调用该编译设置 Quartus 软件的编译设置指南可以轻松地帮助用户完成编译设置 2 资源分配 设计人员可以将自己设计中的部分逻辑分配到器件资源的特定位置 如可将模块设计文件 bdf 中的某一模块的逻辑分配到器件特定的MegaLAB行中 MegaLAB是APEX器件的大规模结构 3 编译设计 点击快捷键或在Processing下拉菜单中选择StartCompilation或Startanalysis Elaboration开始完全或部分编译 在状态栏中将显示编译进度的百分比和每阶段所花费时间 编译的结果在编译报告栏中自动更新 编译完后的结果将显示 如果编译后有错误和警告信息 就要对设计原文件进行修改 再重新编译直到无错误和警告信息为止 编译完后将产生一个编译报告栏 它包含了怎样将一个设计放到一个器件中的所有信息 如器件使用统计 编译设置 底层显示 器件资源利用率 状态机的实现 方程式 延时分析结果和CPU使用资源等 4 查看适配结果 在编译成功后 就可在最后编译平面图中查看结果 平面图显示了编译器是怎样将逻辑设计分配到Altera器件中去的 没用的单元为白色 使用过的单元为彩色并互相连接 在编译平面图中点击逻辑单元 还可查看该逻辑单元的路由连接关系 5 分配逻辑到ESB 设计人员可以使用映射选项技术 强制Quartus软件将自己的逻辑设计在特殊的器件资源中实现 如ESB EmbeddedSystemBlock ESB是存在于APEX Mercury和基于ARM MIPS的Excalibur系列器件中的一种结构 能实现存储器 RAM ROM FIFO或CAM 或组合逻辑 在进行新的资源分配前 设计人员可以回注在上次编译过程中编译器所作的任何分配 以确保后面的编译具有相同的适配 3 延时分析和仿真 1 延时分析Quartus 支持对单个时钟或多个时钟的延时分析 单个时钟的延时分析包括Fmax 最大时钟频率及最差情况下的寄存器到寄存器的延时 Tsu 建立时间 Th 保持时间 Too 时钟到输出时间 Tm 各个引脚之间的延时 及整个系统的Fmax 包括引脚上的输入输出延时 1 延时分析 Quartus 支持用户对多个时钟的延时分析 可以分析由不同时钟控制的寄存器之间的延时 可以运用Slack进行分析 Quartus 自动检测组合逻辑电路 不同类型的延时信息 请参考编译部分 包括没有布局布线的延时信息 经过布局布线的延时信息及混合的树状层次型设计 在缺省情况下 在编译之后一般自动调用延时分析 也可以禁止调用 Quartus 生成的延时信息也可以以VHDL Verilog或标准延时文件 SD 的格式输出到第三方的EDA工具中 所有的延时分析信息都包含在编译报告中 2 仿真 Quartus 支持多种仿真方法 波形方式输入 vwf 向量波形文件 是Quartus 中最主要的波形文件 vec 向量文件 是MAX PLUS 中的文件 主要是为了向下兼容 tbl 列表文件 用来将MAX PLUS 中的 scf文件输入到Quartus 中 支持Testbench Tcl TK脚本文件 Verilog VHDLTestbench 第三方的仿真工具 其中Quartus 支持的第三方EDA仿真工具有 ModelTechnology Modelsim Cadence VERILOG XL Synopsys VCS Synopsys VSS 4 器件编程 Quartus编程器可以配置Altera公司的APEX FLEX6000 Mercury及基于ARM MIPS的Excalibur系列器件 并能校验 测试和在配置前对空器件进行检查 该编程器和编程硬件 ByteBlasterMV与MasterBlaster通信电缆 很容易地在几分钟内就可以编程或配置一个工作芯片 配置模式包括被动串行配置和JTAG等模式 1 3 4基于ISE的设计流程 ISE系列软件是Xilinx公司推出的集成EDA开发工具 它支持Xilinx公司的所有CPLD FPGA产品 目前 ISE系列软件的最高版本是5 x 包括ISEFoundation ISEAlliance ISEWebPACK和ISEBaseX四种类型 不同版本类型的ISE软件在性能上略有区别 基于ISE的设计流程如图1 3 4所示 主要包括设计输入 功能仿真 综合 实现 时序仿真和下载配置等几个步骤 图1 3 4基于ISE的设计流程 1 设计输入 ISE系列软件采用基于工程的分层次管理 支持硬件描述语言 原理图和状态图的混合设计输入方式 硬件描述语言设计 原理图设计和状态图设计具有不同的特点 适用于不同的场合 设计输入方式特性比照表如表1 3 1所示 表1 3 1设计输入方式特性比照表 2 综合 在ISE系列软件中 Xilinx公司推出了自己的综合工具XST 并支持第三方综合工具 如Synplify FPGAExpress等 在FPGA设计过程中 设计的综合效果主要取决于设计者的设计风格和综合工具的综合能力 3 功能仿真 在FPGA设计过程中 功能仿真是最基本的仿真验证 它主要针对实现前的设计文件 功能仿真的主要目的是验证设计文件的逻辑功能是否正确 是否满足设计要求 在功能仿真过程中 ISE系列软件支持波形仿真激励和硬件描述语言仿真激励 4 实现 在ISE系列软件中 FPGA设计的实现主要包括 转换 Translate 映射 Map 布局布线 Place Route 时间参数提取 Timing 1 转换 Translate 在转换过程中 多个设计文件和约束文件将被合并为一个NGD文件 并同时输出BLD文件 其中 NGD文件包含当前设计的全部逻辑描述 BLD文件是转换的运行报告 转换可以接受的设计文件包括EDN EDF EDIF和SEDIF文件 转换的约束文件包括UCF NCF NMC和NGC文件 2 映射 Map 在映射过程中 当前设计的NGD文件将被映射为目标器件的特定物理单元 如CLB IOB 并保存在NCD文件中 映射的输入文件包括NGD NMC NCD 可选 和MFP 可选 文件 输出文件包括NCD PCF NGM和MRP文件 其中 MFP文件是通过Floorplanner生成的布局约束文件 NCD文件包含当前设计的物理映射信息 PCF文件包含当前设计的物理约束信息 NGM文件与当前设计的静态时序分析有关 M

温馨提示

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

评论

0/150

提交评论