时序违例 - 2023.2 简体中文

Vivado Design Suite 用户指南: 设计分析与收敛技巧 (UG906)

Document ID
UG906
Release Date
2023-10-19
Version
2023.2 简体中文

虽然分析和修复最差时序违例通常有助于提升总体 QoR,但您还必须复查其他关键路径,因为这些路径通常会增加时序收敛困难。您可使用以下命令来报告前 50 条最差的建立时序路径:

report_design_analysis -max_paths 50 -setup

下图显示了由此命令生成的“Setup Path Characteristics”(建立路径特性)表格示例。

图 1. 建立路径特性

在该表中,可明确识别导致每条路径产生时序违例的各项特性:

  • 逻辑延迟百分比过高(逻辑延迟)
    • 逻辑层次是否过多?(逻辑级数)
    • 是否存在阻碍逻辑最优化的任何约束或属性?(勿触,标记调试)
    • 路径是否包含具有高逻辑延迟的单元,例如 RAMB 或 DSP 等?
    • 当前路径拓扑结构的路径要求是否过于苛刻?(要求)
  • 高信号线延迟百分比(信号线延迟)
    • 在路径中是否有任何高扇出信号线?(高扇出,累积扇出)
    • 分配给多个 Pblock 的单元布局能否拉开距离?(Pblocks)
    • 单元布局能否拉开距离?(边界框大小,时钟区域距离)
    • 对于 SSI 器件,是否存在跨 SLR 边界的信号线?(SLR 交汇)
    • 在布局看似正确的情况下,是否有 1 个或多个信号线延迟值远高于预期?请参阅 拥塞 部分。
  • RAMB 或 DSP 单元中缺少流水线寄存器(而路径中存在此寄存器)
    • 检查路径,确认针对 RAMB 或 DSP 单元是否已启用流水线寄存器
  • 高偏差(建立 <-0.5 ns,保持 > 0.5 ns)(时钟偏差)
    • 此路径是时钟域交汇路径吗?(起点时钟,端点时钟)
    • 时钟是同步时钟还是异步时钟?(时钟关系)
    • 此路径是否跨多个 I/O 列?(IO 交汇)

    为了在 AMD Vivado™ IDE 中直观显示时序路径及其布局/布线的详细信息,您必须使用以下命令:

    report_timing -max_paths 50 -setup -input_pins -name worstSetupPaths

这些路径按裕量排序,并按“Setup Path Characteristics”表中的相同顺序(如上图所示)显示。

report_design_analysis 还可为最差的 1000 条路径生成“Logic Level Distribution”(逻辑层次分布)表,以供您用于识别设计中存在的长路径。通常最长的路径首先由布局器加以最优化以满足时序要求,这可能导致较短的路径的布局质量劣化。您必须不断尝试消除较长的路径,以提高整体 QoR。下图显示了仅含 1 个时钟的设计的“Logic Level Distribution”示例。

图 2. “Logic Level Distribution”表

根据结果,可通过更改 RTL 或使用不同综合选项来改进网表,或者也可以修改时序约束和物理约束。