有关区域组平面布局规划的更多信息,请参阅 UG632 《PlanAhead用户指南》 (h t t p : / / w w w . x i l i n x .com/suppor t /documentat ion/sw_ma n u a l s / x i l i n x 1 1 /Pl a nAh e a d _UserGuide.pdf)以及 UG633 《平面布局方法指南》 (http://www.xi l inx.com/support/documentation/sw_manuals/xilinx12_1/Floorplanning_Methodology_Guide.pdf) 。
块、模块与路径定位Block RAM、FIFO、DSP、DCM 以及全局时钟资源等核心器件的定位往往有助于实现可重复性。其最佳做法是着眼于良好布局,同时采用相关设计知识布局规划。可以采用 reportgen – clock_regions design.ncd 创建相关报告。PlanAhead 软件能够锁定关键模块的全部布局信息。在下一轮中,实施布局保持不变,但是并不保存布线信息。有关 PlanAhead 软件定位约束条件的更多信息,请参阅 UG632 《PlanAhead 用户指南》 、UG633 《平面布局规划方法指南》以及相关 PlanAhead 手册的 “设计的平面布局规划”章节。
如果锁定整个模块影响过大,则可以在 PlanAhead 软件中锁定某条关键路径。但是使用该方法时应当慎之又慎。如果某条具体路径导致某种主要问题,最好通过修改 HDL 来解决时序问题。否求。赛灵思 SmartGuide ™ 技术是另一种维持可重复结果的选择,最适合不强求最高 QoR 或最高利用率的设计。如果设计保存和 SmartGuide 技术都不适用于一种设计,则可以采用 SmartXplorer或 PlanAhead 软件策略维护时序。
对于 QoR 需求较高的设计, 有一些高级实现选项可以帮助维持时序。控制利用率往往是维持可重复结果的关键。随着设计规模增大,维持可重复结果的难度也随之提高。整个设计阶段始终采用相同软件版本有助于实现可重复结果。
设计保存
PlanAhead 中的设计保存流程采用分区,这是能够保证可重复结果的唯一验证相关位置是否适当。在定位这些BRAM、FIFO 与 DSP 器件时需要考虑到控制信号和数据流 (总线校准) 。可以在相关 .map 报告文件中找到用于定位现有设计的时钟域的约束条件。保持相同的时钟域可以防止布局器 (Placer) 修改时钟域分区,因为后者会改变设计的则, 应限制使用具体时序路径定位。
实现选项
实现工具中的多种选项都可以改进可重复性。基于分区的设计保存是保存实现方案的最佳方法,但是它并不适合于所有的设计而且确实存在 HDL 设计要方法。设计保存的主要目的是保持模块性能的一致性,以减少时序收敛阶段花费的时间。另外,它还要求用户尽可能遵从良好设计实践。
分区可以保存之前实现的设计的不变部分。如果分区网表保持不变,则实现工具可以采用复制 - 粘贴过程保证保存该分区的实现数据。通过保存实现结果,分区可以让你在不影响已保存部分的情况下实现修改后的设计部分。在图2 中,红色模块已经修改并且得到实现,而剩下的模块已锁定到位。
在 12.1 版和未来版本中, PlanAhead软件和命令行工具将支持设计保存功能。如欲了解更多信息, 请参阅 WP362 《基于设计保存的可重复结果》 (http://www.xilinx.com/support/documentation/white_papers/wp362.pdf ) 与 UG748 《分层设计方法指南》 (http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_1/Hierarchical_Design_Methodology_Guide.pdf)。
SmartGuide 技术
SmartGuide 技术在执行实现方案时采用之前的实现结果作为起点,其主要目的是减少运行时间。可以迁移引导布局与布线或者同时迁移二者,以便完成设计的布线或满足时序要求。SmartGuide 技术最适合不强求 QoR 或利用率的设计。
以前版本的工具配套提供精准引导(exact guide) 和杠杆 (leveraged) 引导。通常情况下,精准引导方法过去会造成不可路由的设计。如果需要准确保存,则建议流程是设计保存。SmartGuide 技术可替代杠杆引导。
设 计 人 员 经 常 询 问 是 使 用Smar tGuide 技术还是分区技术,答案取决于在设计流程中所处位置。