将高扇出信号线推广到全局布线 - 2023.2 简体中文

适用于 FPGA 和 SoC 的 UltraFast 设计方法指南 (UG949)

Document ID
UG949
Release Date
2023-11-29
Version
2023.2 简体中文
注释: report_qor_suggestions Tcl 命令可自动应用这种最优化技巧。

通过在驱动程序与负载之间插入时钟缓冲器,可以将较慢的时钟域中的高扇出信号线移动到全局布线上。仅当已使用的时钟缓冲器数量已达上限,并且所含扇出大于 25000 的信号线所驱动的逻辑的时钟周期高于目标器件和速度等级的特定限值时,才会在 opt_design 中为该信号线自动执行此最优化。

在 RTL 文件或约束文件 (XDC) 中的信号线上设置 CLOCK_BUFFER_TYPE 属性时,可强制实施 synth_designopt_design 以插入时钟缓冲器。例如:

set_property CLOCK_BUFFER_TYPE BUFG [get_nets netName]

使用全局时钟可确保最佳布线,但代价是更高的信号线延迟。为了获得最优布线延迟,时钟缓冲器必须直接驱动时序负载,无中间组合逻辑。在大多数情况下,opt_design 会将非时序负载并行重新连接到时钟缓冲器。如果需要,您可以通过在时钟缓冲器输出信号线上应用 DONT_TOUCH 来防止进行此最优化。此外,如果高扇出信号线是控制信号,您必须确定为何某些负载不属于专用时钟使能或置位/复位管脚。

完成时钟布线后,布局器还能在任何可用的全局布线轨道上自动执行高扇出信号线(扇出 > 10000)的布线。在布局器流程接近尾声时执行此最优化,并且仅在时序不发生劣化的情况下执行。可使用 -no_bufg_opt 选项禁用此功能。