FPGA综合详细教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)最大扇出数(Max Fanout) Max Fanout参数仅对FPGA有效,用于指定信号 和网线的最大扇出数。
4. Xilinx专用参数选项
(3)寄存器复制(Register Duplication) Register Duplication参数仅对FPGA有效,用于指定 是否允许进行寄存器复制(Register Duplication)。
2.XST综合属性
(3)综合约束文件(Synthesis Constraint File) Synthesis Constraint File 用于指定综合约束文件的 所在路径。 (4)使用综合约束文件(Use Synthesis Constraint File) 如果设计中有综合约束文件,那么在指定综合约 束文件的所在路径后在此参数后打上勾,使XST在综 合时受到综合约束文件的约束。
(4)等效寄存器删除(Equivalent Register Removal) Equivalent Register Removal参数用于指定是否把寄 存器传输级功能相等的寄存器删除,以减少资源占 用。
4. Xilinx专用参数选项
(5)寄存器配平(Register Balancing) Register Balancing参数仅对FPGA有效,用于指 定是否需要寄存器配平。寄存器配平是使较长路径 缩短,较短路径加长,使其达到平衡从而提高工作 频率的一种技术。
XST的综合约束文件是XCF(XST Constrain File),
5.1.1 XST的综合属性
XST是内嵌在ISE中的,使用起来也非常方便。XST 综合是自动完成的,但是用户可以对其相关的参数进 行设置。参数设置的目的是使 XST根据设计者的需要 完成综合过程,以便达到设计要求。
1.选择XST综合工具
FPGA系统设计与实践
ISE5.2中的综合工具XST
5.1 ISE5.2中的综合工具XST
XST(Xilinx Synthesis Technology)是Xilinx ISE 内嵌的综合工具。虽然 XST 与 Synplify Pro 等业界 流行的综合工具相比特点并不突出,功能也不全 面,但是 Xilinx 对自己的 FPGA/CPLD 内部的结构 最为了解,所以XST对Xilinx器件的支持也最为直 接,更重要的是 XST 内嵌在 ISE 中,安装 ISE 后可 以直接使用,不需要另外付费。
2.XST综合属性
综合对话框
2.XST综合属性
(1)综合目标(Optimization Goal) 综合目标设置可以确定综合时的全局优化目标是 面积( Area)还是速度( Speed)。由于大多数情况 下,系统运行的速度是相当重要的,所以在缺省(默 认)状态下,此属性的值为速度(Speed)。
2.XST综合属性
(5)全局优化目标(Global Optimization Goal) 全局优化目标参数仅对FPGA有效,它用于一些 时钟优化策略,包括的优化属性有: 所有时钟节点约束(ALLCLOCKNETS) 输入偏移约束(OFFSET_IN_BEFORE) 输出偏移约束(OFFSET_OUT_AFTER) 网线最大延迟约束(MAXIMUM_DELAY) 输入到输出约束(INPAD_TO_OUTPAD)
3.HDL代码参数设置
(10)移位寄存器提取方式(Shift Register Extraction) Shift Register Extraction参数仅对FPGA有效,用于指 定是否使用移位寄存器(Shift Register)宏单元。
(11)逻辑移位寄存器提取方式(Logical Shifter Extraction)
5.1 ISE5.2中的综合工具XST
ISE中XST设计流程的综合阶段约束文件与实现 阶段约束文件的概念并不分明,综合阶段的约束条 件常常通过实现阶段的约束文件来完成。
5.1 ISE5.2中的综合工具XST
而在布局布线阶段,最重要的约束文件是用户约束文 件 UCF(User Constraint File),两者有着千丝万 缕的关系,UCF几乎支持XCF的所有约束语言与命令。 通常在使用 XST综合流程时,仅仅通过综合属性设置 来设置全局性的综合策略与参数,细化的约束是通过 实现阶段的约束文件UCF完成的。
4. Xilinx专用参数选项
Xilinx专用 参数选项对话框 中包含了一些 Xilinx专有的结 构中可以设置的 属性。Xilinx 专用参数选项对 话框如右图所示。
4. Xilinx专用参数选项
(1)添加I/O缓冲器(Add IO Buffers) Add IO Buffers参数用于指定是否需要在I/O上加上 I/O缓冲器(IO Buffers)
2.XST综合属性
(7)写时序约束条件(Write Timing Constrains) Write Timing Constrains参数仅对FPGA有效,用 以指定在HDL源代码或是XST约束文件中指定的时序 约束关系是否对Xilinx的NGC网表有效。
3.HDL代码参数设置
HDL 代 码 参 数 设置与XST的编译有 关,也就是说告诉 编译工具如何理解 HDL 代码。 HDL 代 码参数选项对话框 如右图所示。
3.HDL代码参数设置
(2)RAM的提取方式(RAM Extraction) RAM Extraction参数用来指定是否使用RAM宏单元。 (3)RAM实现的类型(RAM Style) RAM Style参数仅对FPGA有效。FPGA中含Block RAM(有块RAM)和可以形成Distributed RAM(分布 式RAM),可以通过设置RAM Style使XST从代码中提 取需要的RAM类型。
2.XST综合属性
这些约束主要用于指定寄存器之间,输入引脚到 第一级寄存器之间,末级寄存器到输出引脚之间,输 入引脚到输出引脚之间的约束策略。
2.XST综合属性
(6)生成寄存器传输级原理图(Generate RTL Schematic) XST可以将综合结果生成 RTL视图。通过RTL视 图可以分析设计和修改设计。选择 YES 或 NO 确定是 否需要生成RTL视图。
3.HDL代码参数设置
(6)多路选择器提取方式(MUX Extraction) MUX Extraction 参数仅对 FPGA 有效,有以指定是 否使用多路选择器宏单元。
(7)多路选择器实现类型(MUX Style) MUX Style参数仅对FPGA有效,有以指定多路选择 器宏单元的类型。缺省状态下为自动(Auto)。
3.HDL代码参数设置
(1)有限状态机编码方式(FSM Encoding Algorithm) 有限状态机有多种编码方式,比较常见的有: 一位热码(One-Hot)、顺序编码(Sequential)、格雷 码(Gray)等,在默认状态下,XST的有限状态机编 码方式为自动编码(Auto),即根据器件中的资源进 行有效的编码。
第五章 综合

知识要点:
综合,实行,配置,综合工具XST,下载配置 工具iMPACT,编译器,编程器

教学建议:
本章的重点是掌握Xilinx公司 ISE5.2中的综合 工具 XST 和下载配置工具 iMPACT,Altera 公司的 QuartusII3.0编译器的结构特点与使用方法。
第五章 综合
Logical Shifter Extraction参数仅对FPGA有效,用 于指定是否使用逻辑移位寄存器(Logical Shifter)宏单
元。
3.HDL代码参数设置
(12)异或单元合并方式(XOR Collapsing) XOR Collapsing 参数仅对 FPGA 有效,用于指定相 关联的异或(XOR)单元是否合并为一个较大的异或 宏单元。
4. Xilinx专用参数选项
(7)是否使用I/O内部的寄存器实现I/O寄存器 (Pack I/O Register into IOBs) Pack I/O Register into IOBs参数仅对FPGA有效,用 于指定是否使用 I/O 内部的寄存器作为设计的第一 级寄存器。
4. Xilinx专用参数选项
(6)Slice打包(Slice Packing) Slice Packing参数仅对FPGA有效,用于指定是 否使用Slice打包技术(Slice Packing),使相关路 径查找表逻辑尽量布局在同一个Slice中,从而缩短 查找表之间的布线距离,提高了设计频率。
选择综 合工具
2.XST综合属性
XST的可设置参数比较多,适当的设置综合参数, 可以在一定程度上提高综合质量。综合参数主要是一 些综合策略,大部分是通过选择来完成参数的设定。 下面对XST中的参数进行简单的介绍。在Process for current sources中的Synthesize图标上单击鼠标右键, 然后选择Properties,弹出的综合属性设置对话框如图 所示。
建议学时数为 4 学时。注意区分 Xilinx 公司的 综合、实行、配置工具与Altera公司的编译与编程 工具的不同点。在学习过程中,应结合第8章中的 应用实例设计,去掌握 ISE5.2 综合、实行、配置 或者 QuartusII3.0 编译与编程的步骤、属性设置及 技巧。注意综合、实行、配置或者编译与编程中 属性参数的设置对设计的影响。应通过大量的实 际设计过程加深对 ISE5.2 综合、实行、配置或者 QuartusII3.0编译与编程的理解。
FPGA系统设计与实践
FPGA综合详细教程
第五章 综合

内容提要
本章介绍了Xilinx公司的ISE5.2中的综合工具 XST的综合属性、HDL代码参数设置、专用参数 选项设置,使用XST综合设计、实行设计的步骤 与方法。 ISE5.2 集成的下载配置工具 iMPACT 的 结 构 、 操 作 步 骤 与 方 法 。 Altera 公 司 的 QuartusII3.0编译器和编程器的使用步骤与方法。
3.HDL代码参数设置
(8)译码器提取方式(Decoder Extraction) Decoder Extraction 参数仅对 FPGA 有效,用于指定 是否使用译器(Decoder)宏单元。
(9)优先编码器提取方式(Priority Encoder Extraction) Priority Encoder Extraction 参数仅对 FPGA 有效,用 于指定是否使用优先编码器( Priority Encoder)宏单 元。缺省为自动(Auto)。
2.XST综合属性
(2)综合难度(Optimization Effort) 综合难度用来指定XST的综合工作的程度,有两 个值可供选择,如果对速度或者面积要求不是很高可 以选择Normal,否则选择High。这里有一个问题需要 注意,设计者不要寄希望于XST的综合效果,并不是 选择High就一定得到好的综合结果,真正重要的是设 计者要保证设计的质量。
3.HDL代码参数设置
(4)ROM的提取方式(ROM Extraction) ROM Extraction参数用来指定是否使用RAM宏单元。 (5)ROM实现的类型(ROM Style) ROM Style 参 数 仅 对 FPGA 有 效 。 FPGA 中 含有 块 RAM(Block RAM) 和 可 以 形 成 分 布 式 RAM (Distributed RAM),可以通过设置 ROM Style 使 XST从代码中提取需要的ROM类型。
(13)资源共享(Resource Sharing) Resource Sharing参数用于指定是否要求XST复用 运算模块。
3.HDL代码参数设置
(14)乘法器实现类型(Multiplier Style) Multiplier Style参数仅对FPGA有效,用于指定 XST综合乘法器的类型,是基于查找表的(LUT)乘 法器还是基于块乘法器(Block Multiplier)。
相关文档
最新文档