由于布局通常对总体设计的最高时钟频率影响最大,因此应用不同的布局器指令是用于尝试减少拥塞的首选技巧之一。您可考虑运行不含任何现有 Pblock 约束的替代布局器指令,以便布局器根据需要更加灵活地传播逻辑。
有多项布局器指令有助于缓解拥塞,这些指令通过在整个器件上传播逻辑来避免拥塞区域。SpreadLogic 布局器指令包括:
- AltSpreadLogic_high
- AltSpreadLogic_medium
- AltSpreadLogic_low
- SSI_SpreadLogic_high
- SSI_SpreadLogic_low
在 SLR 交汇上检测到拥塞时,请考虑使用以下指令:
- SSI_BalanceSLLs 布局器指令,该指令有助于在 SLR 间对设计进行分区,同时尝试平衡 SLR 之间的 SLL。
- SSI_SpreadSLLs 布局器指令,该指令可在 SLR 间进行分区时为区域分配额外面积以提升连通性。
其他布局器指令或实现策略同样有助于缓解拥塞,使用上述布局器指令后也应一并尝试。
要比较不同布局器指令的拥塞情况,请在运行 place_design
后运行“Design Analysis Congestion”(设计分析拥塞)报告,或者检查布线器 log 日志文件中的初始估算拥塞。
相比布局器指令,布线对拥塞的影响较小。但在某些情况下,尝试不同布线指令同样很有用。以下指令可确保布线器尽力增加布线并缓解互连拼块中的拥塞:
- AlternateCLBRouting
注释: AlternateCLBRouting 布线指令在以下情况下最有效:仅存在短距离拥塞时或者同时存在短距离拥塞和长距离拥塞时。该指令仅适用于 UltraScale 器件。