AR# 15390

|

Xilinx 综合技术 (XST) - 常见问题 (FAQ)

描述

本答复记录包含 Xilinx 综合技术 (XST) 常见问题列表。

解决方案


本综合工具完全集成于 ISE 软件环境。以下问答对应于 XST 的 9.1i 版。

Q: XST 支持什么架构? 
答:XST 支持以下系列 FPGA:Virtex、Virtex-E、Virtex-II、Virtex-II Pro、Virtex-4、Virtex-5、Spartan-II、Spartan-IIE、Spartan-3、Spartan-3E、Spartan-3A。
CPLD: XC9500, XC9500XL, XC9500XV, CoolRunner, CoolRunner-II. XST 不支持(今后也不会支持)XC4000 系列 FPGA,包括 Spartan 和 Spartan-XL。

问:XST 所得结果的质量如何?

答:大多数人认为 XST 的质量与市场上任何其它综合工具相当。
有时 XST 表现比竞争对手好,有时略逊,但比较任意两款综合工具情况都差不多。
每一版 XST 的发布都取得稳步进展,包括提高时钟频率、减少占用面积并缩短运行时间、减少存储器占用等。
XST 为 Virtex 架构进行了特别改进,能推理出该架构的许多特定原语。
用户能通过全局选项和本地属性全面控制推理功能和优化技术。

问:Xilinx 是否在跟 Synplicity 和 Mentor Graphics 竞争?

A: No. Xilinx 努力提供 OEM 型低成本 FPGA Express 替代产品,而不是取代 Mentor Graphics 或Synplicity 的位置。
此二者在互动用户特性方面可能会始终领先于 Xilinx。这种特性支持最高密度、最高速的设计,原因有二。首先,Xilinx 与这两家公司分享综合理念;第二,Xilinx 软件开发重点是 PAR,而且分散在许多不同应用领域。

这两家公司的唯一重点就是综合,我们的合作能帮助他们尽快提高自身技术。我们认为在综合领域他们会领先于 Xilinx。
最后,我们希望其他公司能协助 Xilinx 的综合技术发展,因为我们认识到不能只靠内部开发团队来找到所有好的理念。

问:XST 的语言覆盖面有多大?

答:XST 每一版发布都会跟上其它综合工具的实际覆盖面。
我们估计当前语言支持涵盖了其它综合工具支持构造的 95% 以上。
许多不支持的构造并不常用,而且有简单的解决办法。
此外,其它综合工具对许多这些构造的处理缺乏一致性。有的工具可能以某种方式接受一个构造,但另一个却以另一种方式接受,第三个工具则可能报出分析错误。
在某些情况下,XST 实际比其它工具更精确,需要精确完整描述,而其它工具则允许不完整或模糊的代码。
在不同综合工具间转移代码时这是很常见的问题。 

问:XST 是否支持 Verilog 2001 或 SystemVerilog? 

答:5.1i 版首先支持 Verilog 2001。
XST 现在几乎支持 Verilog 2001 的全部可综合特性(配置),只有一个不支持。所有这些新支持的构造都在 XST 用户指南中有记录。
Xilinx 每次新的大小版本更新都将继续扩展对 Verilog 2001 的支持。

XST 尚不支持 SystemVerilog。

问:XST 是否支持混合 VHDL/Verilog 项目?

答:是的,XST 从 ISE 设计套件 6.1i 开始支持混合 VHDL/Verilog 项目。
混合语言支持的灵活性将随着每次版本发布不断提高,但用当前工具处理大多数设计应该不会有什么问题。
用黑盒子流程在 6.1i 之前的 XST 版本实现混合语言综合。 

问: XST 为什么生成 NGC 输出文件而不是 EDIF? 

答:为了实现更好的结果质量,提高整体设计流程,XST 正向综合实现工具紧密集成方向发展。
综合创建 NGC 格式文件是构建映射设计所需的第一步。 

问:我怎么才能阅读 NGC 网表? 

答:ISE 设计套件提供了网表翻译工具 NGC2EDIF。
这款命令行工具的开发有两个原因,一是查看 XST 设计的 EDIF 表达,二是向第三方综合工具提供信息,满足黑盒子利用信息的要求。


输出的 EDIF 文件采用 NDF 扩展名,其不能修改或实现,因为流程并未经测试。 

问:XST 是否提供原理图查看工具? 

答:是的,5.1i 版提供了 RTL 查看工具。这款查看工具能在 ECS 中以只读模式打开 NGR 文件(XST 的预优化网表)。
XST 5.2i 添加了设计(采用增量综合)的 RTL 视图支持。
RTL 原理图中的实例可回到 HDL 源交叉探测。
XST 的 7.1i 版添加了技术视图工具,能让用户查看 XST 最终生成的 NGC 网表。
RTL 和技术视图的质量和速度在 8.1i 版得到大幅提升。

问:XST 有没有物理综合流程?

答:查看物理综合有几种方法,XST 提供一定的支持。
首先,XST 目前提供“Slice Packing”转换,能在优化期间将 LUT 分组到 slice。
这不仅能提供更准确的优化时序信息,而且 slice packing信息传递后能提高映射期间实现的一致性。

展望未来,XST 团队还在开发另外两个流程,将进一步提高估算和整体结果。
首先,XST 将包含内部放置器和打包器,能评估布局布线结果,进而提供优化期间更准确的待用线路负载延迟信息。
第二个流程将读取路由 NCD 文件,获得优化所需的实际布局布线时序信息。

问:FPGA 和 CPLD 综合流程是时序驱动的吗?

答:FPGA 综合流程是时序驱动的,CPLD 不是。
XST 接受时序约束控制FPGA流程优化。
接受的约束包括:Period、Offset In Before、Offset Out After、Inpad To Outpad、Max Delay 和 TIG。对于 CPLD 流程而言,XST 采用优化技术通过减少逻辑层数的方法改进时序。

XST 日志文件包含详细的时序报告,显示了设计中的所有时钟,包括使用的时钟缓冲类型和每个的负载数量。
线路负载模型可用来估算最高时钟频率和最大输入输出次数。
详细的路径覆盖针对关键路径给出,包括 Period、Offset In Before 和 Offset Out After 约束。 

问:XST 是否支持 UCF 风格的时序约束? 

答:5.1i 版开始支持 UCF 风格的时序约束。
该流程使得用户能用传统方法(Constraints Editor 等)定义时序约束,而后将时序约束拷贝到 XCF 文件中。
新的约束文件格式支持综合和实现约束,但语法与 UCF 语法不同。
XST 用户指南提供了语法详情。

长期目标是通过一个约束输入机制支持所有综合实现约束。

问:HDL Advisor 的目的是什么?
答:HDL Advisor 的目的是就设计提供专家分析和适当的反馈,从而有助于发现潜在的错误或低效编码类型,并就改善结果给出意见建议。

XST 在检测到某些情况时会提供具体信息。
比方说,如果用户在net上加了 KEEP 约束,该约束导致 XST 无法执行时序优化,那么用户会收到相关情况通知。
目前,所有 HDL Advisor 消息都报告为警告或信息,在当前模块环境中展示。
在 XST 的未来版本中,消息将带有“HDL Advisor”标题,可能会在 HDL Advisor 概括窗口中归纳在一起。

问:XST 是否支持 Incremental Synthesis 流程?

答:是的,XST 用 Partitions 支持 Incremental Synthesis 流程。
当设计模块设置 Partitions 时,如果构建它的输入源没有在运行中变化,那么其综合结果会剪切粘贴到最终网表中。

XST 也用 INCREMENTAL_SYNTHESIS 属性支持增量流程,可以在源本身,也可在约束文件中。不过随着 Partitions 的发展,该属性和流程的支持可能会取消。

问:“Register Balancing”是什么意思?
答:Register Balancing 的目的是在逻辑中前后移动寄存器以提高时钟频率,从而满足设计时序要求。

该约束可在许多层级进行控制,包括时钟树。此外也可控制寄存器移动方向和在器件引脚上进行控制。  

问:用 High Optimization Effort 相对于 Normal Effort 有什么好处? 

答:从 7.1i 版开始,XST 的 High Effort 选项添加了许多高级优化技术。
启用这个开关,运行时间会延长,但许多情况下延长运行时间是值得的,因为平均时钟速度提高 7%。 

问:相对于 CPLD 流程的“Equation Shaping”术语是什么意思? 

答:该优化技术的目标是优化并减小 Boolean 方程式,使其尺寸能被器件宏单元接受。
这会迫使 CPLD fitter 遵守方程式,通过 NGC 文件中写入的“keep”和“collapse”约束进行调节。 

问:XST 是否在 XFLOW 中得到支持? 

A: Yes. 在 XFLOW 运行中用 –synth 选项包含 XST 综合。
软件提供了 VHDL 和 Verilog 的选项文件。输入“xflow”可获得帮助和选项文件名称。

问:我在哪里能找到关于 XST 的更多信息? 

答:用户可通过以下资源解决可能遇到的难题:

敬请参考 XST 用户指南、综合和仿真指南和约束指南: http://www.xilinx.com/support/documentation/dt_ise.htm

答复记录(搜索答复数据库):

http://www.xilinx.com/support/
 

链接问答记录

相关答复记录

Answer Number 问答标题 问题版本 已解决问题的版本
34071 XC4000/Spartan/Spartan-XL-What 3rd party Synthesis tool supports these FPGAs? N/A N/A
AR# 15390
日期 12/01/2014
状态 Active
Type 综合文章
Tools
People Also Viewed