snifer

【赛灵思FPGA】[原创]基于Xilinx ISE5.2中的综合工具XST 在应用中的几个小技巧

0
阅读(14707)

最近论坛里比较热闹,前面写了ISE的一些基础知识,现在我把ISE5.2的一些技巧总结一下,发给大家,希望对大家有所帮助,必要忘记投我的票哦!

XST(Xilinx Synthesis Technology)是Xilinx ISE内嵌的综合工具。虽然XST与Synplify Pro等业界流行的综合工具相比特点并不突出,功能也不全面,但是Xilinx对自己的FPGA/CPLD内部的结构最为了解,所以XST对Xilinx器件的支持也最为直接, 更重要的是XST内嵌在ISE中,安装ISE后可以直接使用,不需要另外付费。
ISE中XST设计流程的综合阶段约束文件与实现阶段约束文件的概念并不分明,综合阶段的约束条件常常通过实现阶段的约束文件来完成。
XST的综合约束文件是XCF(XST Constrain File),而在布局布线阶段,最重要的约束文件是用户约束文件UCF(User Constraint File),两者有着千丝万缕的关系,UCF几乎支持XCF的所有约束语言与命令。通常在使用XST综合流程时,仅仅通过综合属性设置来设置全局性的综合策略与参数,细化的约束是通过实现阶段的约束文件UCF完成的。
1 XST的综合属性
XST是内嵌在ISE中的,使用起来也非常方便。XST综合是自动完成的,但是用户可以对其相关的参数进行设置。参数设置的目的是使XST根据设计者的需要完成综合过程,以便达到设计要求。
XST的可设置参数比较多,适当的设置综合参数,可以在一定程度上提高综合质量。综合参数主要是一些综合策略,大部分是通过选择来完成参数的设定。下面对XST中的参数进行简单的介绍。在Process for current sources中的Synthesize图标上单击鼠标右键,然后选择Properties,弹出的综合属性设置对话框如图所示。
(1)综合目标(Optimization Goal)
综合目标设置可以确定综合时的全局优化目标是面积(Area)还是速度(Speed)。由于大多数情况下,系统运行的速度是相当重要的,所以在缺省(默认)状态下,此属性的值为速度(Speed)。

(2)综合难度(Optimization Effort)
综合难度用来指定XST的综合工作的程度,有两个值可供选择,如果对速度或者面积要求不是很高可以选择Normal,否则选择High。这里有一个问题需要注意,设计者不要寄希望于XST的综合效果,并不是选择High就一定得到好的综合结果,真正重要的是设计者要保证设计的质量。
(3)综合约束文件(Synthesis Constraint File)
Synthesis Constraint File用于指定综合约束文件的所在路径。
(4)使用综合约束文件(Use Synthesis Constraint File)
如果设计中有综合约束文件,那么在指定综合约束文件的所在路径后在此参数后打上勾,使XST在综合时受到综合约束文件的约束。
(5)全局优化目标(Global Optimization Goal)
全局优化目标参数仅对FPGA有效,它用于一些时钟优化策略,包括的优化属性有:
所有时钟节点约束(ALLCLOCKNETS)
输入偏移约束(OFFSET_IN_BEFORE)
输出偏移约束(OFFSET_OUT_AFTER)
网线最大延迟约束(MAXIMUM_DELAY)
输入到输出约束(INPAD_TO_OUTPAD)
这些约束主要用于指定寄存器之间,输入引脚到第一级寄存器之间,末级寄存器到输出引脚之间,输入引脚到输出引脚之间的约束策略。
(6)生成寄存器传输级原理图(Generate RTL Schematic)
XST可以将综合结果生成RTL视图。通过RTL视图可以分析设计和修改设计。选择YES或NO确定是否需要生成RTL视图。
(7)写时序约束条件(Write Timing Constrains)
Write Timing Constrains参数仅对FPGA有效,用以指定在HDL源代码或是XST约束文件中指定的时序约束关系是否对Xilinx的NGC网表有效。

只要掌握了这几项,就能明确无误的对我们要开发的工程进行设置,天气冷了,大家注意保暖啊!

Baidu
map