SmartGuide 技术最适合进行小型设计更改时的设计末期。采用此流程,可以很轻松确定所建议更改任务是否适合相关设计。分区技术需要更专注于提前遵循良好设计层次规则。在开始组织 HDL 时应当决定是否采用基于分区的设计保存流程。设计已经遵循分区分层规则时则是例外情况。
如欲了解更多信息,请参阅 UG748《分层设计方法指南》 (ht tp: / /www.xi l inx.com/support /documentat ion/sw_manuals/xilinx12_1/Hierarchical_Design_Methodology_Guide.pdf )。
SmartXplorer
SmartXplorer 和 PlanAhead 软件策略都是有助于实现时序收敛的相似工具,采用不同实现选项集确定最适合相关设计的结果。您可根据这些结果确定哪些布局可能产生更好的时序结果并且创建理想区域组布局规划。不同的结果也可以指示某种设计问题。如果同一路径在各次运行时均失败,则可以通过修改 HDL 消除时序问题。
在设计的最初阶段,最好采用 MAP与 PAR 的默认努力程度 (default effortlevel)。在最初阶段采用太多高级选项可能会隐藏通过修改 HDL 即可轻松解决的时序问题。随着器件利用率提高,工具会越来越难以达到满足时序要求的解决方案。如果采用默认选项,则可以采用效用更高的选项获取设计流程后期时序的最后几皮秒, 从而维持时序结果。LUTS/FFS 利用率较低 (<25%) 或者其利用率较高 (>75%) 的设计很难实现一致的布局与布线。对于利用率较高的设计, 应当注意其 slice 控制置位信号、复位信号 (FPGA 一般不需要同步复位/置位)以及逻辑占用 (可以在 PlanAhead中轻松执行)或 SRL/DSP48 推理超出预期的模块。
高利用率的对立面是低利用率。对于所有组件类型的利用率均不超过 25%的设计,低利用率算法可以起作用并且能够实现组件的紧密布局。但是, 如果 I/O 利用率超过 25%,则实现工具可以把设计分散开,以便把逻辑保持在 I/O 附近。I/O 的谨慎布局以及采用区域组能够尽可能缓解上述问题。
软件版本
在时序收敛阶段应当尽量采用同一主要软件版本。因为不同的版本算法也发生改变,适用于一个版本的算法方法在其它情况下未必有效。另外,根据以前结果 (分区与 SmartGuide 技术)获得的方法可能不适用于主要版本。
促进设计可重复性的最佳方法是在HDL 中遵循良好设计方法并且通过修改HDL 解决所有时序问题。如果不可行,则可以借助于综合、布局规划和实现技术。基于分区的设计保存是可以保证实例性能的流程。SmartGuide 技术是另一种可采用以前实现结果的解决方案。