专用块与宏原语之间的路径或者双向往来路径(如 DSP、块 RAM 或 UltraRAM)需特别关注,因为这些原语通常具有如下时序特性:
- 部分管脚的建立时间、保持时间或时钟输出 (clock-to-output) 时序 arc 值较高。例如,块 RAM 的时钟输出延迟分别约为 1.5 ns(无可选输出寄存器)和 0.4 ns(含可选输出寄存器)。请复查目标器件系列的数据手册以了解详情。
- 布线延迟比常规 FD/LUT 连接更高。
- 时钟偏差变化比常规 FD-FD 路径更高。
此外,相比于 CLB slice,其可用性和站点位置均受到限制,这导致其布局更为困难并产生 QoR 惩罚。
有鉴于此,AMD 建议如下:
- 尽可能采用流水线路径作为往来专用块与宏原语之间的路径。
- 重构连接到这些单元的组合逻辑,以将逻辑级数降低至少 1 或 2 个单元(前提是因流水打拍所产生的时延过大)。
- 布局之前,在这些路径上满足建立时序要求并超出至少 500 ps。
- 复制连接到过多专用块或宏原语的逻辑椎,以便按需将其布局在相隔较远的位置。
- 如果设计对于 DSP 块内部或往来 DSP 块的时序要求较为苛刻,请运行
opt_design -dsp_register_opt
以将寄存器移至更接近时序最优化的位置。注释: 由于在opt_design
期间时序为近似估算,您可能还需要运行phys_opt_design -dsp_register_opt
来更正在预布局阶段未准确呈现时序的移动操作。