UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

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
  • ISE - 9.1i
的页面