GoldSunMonkey的点滴 https://bbs.21ic.com/?731039 [收藏] [复制] [RSS]

日志

GSM给您解释解释XILINX XST综合的选项的含义

热度 2已有 2564 次阅读2012-11-12 14:02 |系统分类:EDA/PLD

所谓综合,就将HDL语言、原理图等设计输入翻译成由与、或、非门和RAM、触发器等基本逻辑单元的
逻辑连接(网表),并根据目标和要求(约束条件)优化所生成的逻辑连接,生成EDF文件
完成了输入、仿真以及管脚分配后就可以进行综合和实现了。在过程管理区双击Synthesize-XST。
如图所示
2011-11-18_214102.jpg
综合可能有3种结果:如果综合后完全正确,则在Synthesize-XST前面有一个打钩的绿色小圈圈;如果有警
告,则出现一个带感叹号的黄色小圆圈,如本例所示;如果有错误,则出现一个带叉的红色小圈圈。综合
完成之后,可以通过双击View RTL Schematics来查看RTL级结构图,察看综合结构是否按照设计意图来实
现电路。ISE会自动调用原理图编辑器ECS来浏览RTL结构,所得到的RTL结构如图所示,综合结果符合设计
者的意图。
2011-11-18_214756.jpg
可以得到资源使用的图标
2011-11-18_214102.jpg
一般在使用XST时,所有的属性都采用默认值。其实XST对不同的逻辑设计可提供丰富、灵活的属性配置。
下面对ISE13.2中内嵌的XST属性进行说明。打开ISE中的设计工程,在过程管理区选中“Synthesis –XST”
并单击右键,弹出界面如图所示。
2011-11-18_214102.jpg
XST配置页面分为综合选项(Synthesis Options)、HDL语言选项(HDL Options)以及Xilinx特殊选项(Xilinx
Specific Options)等三大类,分别用于设置综合的全局目标和整体策略、HDL硬件语法规则以及Xilinx特有的结
构属性
分别介绍一些选项的意义:
【Optimization Goal】:优化的目标。该参数决定了综合工具对设计进行优化时,是以面积还是以速度作为优
先原则。面积优先原则可以节省器件内部的逻辑资源,即尽可能地采用串行逻辑结构,但这是以牺牲速度为代价
的。而速度优先原则保证了器件的整体工作速度,即尽可能地采用并行逻辑结构,但这样将会浪费器件内部大量
的逻辑资源,因此,它是以牺牲逻辑资源为代价的。
〖Optimization Effort〗:优化器努力程度。这里有【normal】和【high】两种选择方式。对于
【normal】,优化器对逻辑设计仅仅进行普通的优化处理,其结果可能并不是最好的,但是综合和优化流程执行
地较快。如果选择【high】,优化器对逻辑设计进行反复的优化处理和分析,并能生成最理想的综合和优化结
果,在对高性能和最终的设计通常采用这种模式;当然在综合和优化时,需要的时间较长。
【Use Synthesis Constraints File】:使用综合约束文件。如果选择了该选项,那么综合约束文件XCF有效。
【Synthesis Constraints File】:综合约束文件。该选项用于指定XST综合约束文件XCF的路径
【Global Optimization Goal】:全局优化目标。可以选择的属性包括有【AllClockNets】、
【Inpad To Outpad】、【Offest In Before】、【Offest Out After】、【Maximm Delay】。
该参数仅对FPGA器件有效,可用于选择所设定的寄存器之间、输入引脚到寄存器之间、寄存器到输出引脚
之间,或者是输入引脚到输出引脚之间逻辑的优化策略。
【Generate RTL Schematic】:生成寄存器传输级视图文件。该参数用于将综合结果生成RTL视图。 
【Write Timing Constraints】:写时序约束。该参数仅对FPGA有效,用来设置是否将HDL源代码中用于
控制综合的时序约束传给NGC网表文件,该文件用于布局和布线。
Xilinx特殊选项
Xilinx特殊选项用于将用户逻辑适配到Xilinx芯片的特殊结构中,不仅能节省资源,还能提高设计的工作频率.
也给大家介绍一些选项:
       【Add I/O Buffers】:插入I/O缓冲器。该参数用于控制对所综合的模块是否自动插入I/O缓冲器。默认
为自动插入。 
       【Max Fanout】:最大扇出数。该参数用于指定信号和网线的最大扇出数。这里扇出数的选择与设计的
性能有直接的关系,需要用户合理选择。
2011-11-18_214756.jpg
【Register Duplication】:寄存器复制。该参数用于控制是否允许寄存器的复制。对于高扇出和时序不能
满足要求的寄存器进行复制,可以减少缓冲器输出的数目以及逻辑级数,改变时序的某些特性,提高设计
的工作频率。默认为允许寄存器复制。
【Equivalent Register Removal】:等效寄存器删除。该参数用于指定是否把寄存器传输级功能等效的寄存
器删除,这样可以减少寄存器资源的使用。如果某个寄存器是用Xilinx的硬件原语指定的,那么就不会被删
除。默认为使能。
【Register Balancing】:寄存器配平。该参数仅对FPGA有效,用于指定是否允许平衡寄存器。可选项有
【No】、【Yes】、    【Forward】和【Backward】。采用寄存器配平技术,可以改善某些设计的时序条
件。其中,【Forward】为前移寄存器配平,【Backward】为后移寄存器配平。采用寄存器配平后,所用到
的寄存器数就会相应地增减。默认为寄存器不配平。
【Move First Flip-Flop Stage】:移动前级寄存器。该参数仅对FPGA有效,用于控制在进行寄存器配平
时,是否允许移动前级寄存器。如果【Register Balancing】的设置为【No】,那么该参数的设置无效。

【Move Last Flip-Flop Stage】:移动后级寄存器。该参数仅对FPGA有效,用于控制在进行寄存器配平
时,是否允许移动后级寄存器。如果【Register Balancing】的设置为【No】,那么该参数的设置无效。
【Pack I/O Registers into IOBs】:I/O寄存器置于输入输出块。该参数仅对FPGA有效,用于控制是否
将逻辑设计中的寄存器用IOB内部寄存器实现。在Xilinx系列FPGA的IOB中分别有输入和输出寄存器。如果
将设计中的第一级寄存器或最后一级寄存器用IOB内部寄存器实现,那么就可以缩短IO引脚到寄存器之间
的路径,这通常可以缩短大约1~2ns的传输时延。默认为【Auto】。 
【Slice Packing】:优化Slice结构。该参数仅对FPGA有效,用于控制是否将关键路径的查找表逻辑尽量
配置在同一个Slice或者CLB模块中,由此来缩短LUT之间的布线。这一功能对于提高设计的工作频率、改善
时序特性是非常有用的。 默认为允许优化Slice结构。 
【Optimize Instantiated Primitives】:优化已例化的原语。该参数控制是否需要优化在HDL代码中已例
化的原语。默认为不优化。

路过

鸡蛋
2

鲜花

握手

雷人

刚表态过的朋友 (2 人)

评论 (0 个评论)