要报告 50 条最差的建立时序路径,可使用 Vivado IDE 中的Report Design Analysis(设计分析报告)对话框,或者也可以使用以下命令:
report_design_analysis -max_paths 50 -setup -name design_analysis_postRoute
下图显示了由此命令生成的Setup Path Characteristics(建立路径特性)表格示例。要在窗口中查看其他列,可进行水平滚动。
图 1. 设计分析报告之布线后时序路径特性
以下是使用此表格的方式:
- 单击%(显示百分比)按钮切换显示数字和 %。这对于检查单元延迟和信号线延迟的比例非常实用。
- 默认情况下,仅隐藏含 null 或空值的列。单击Hide Unused(隐藏不使用项)按钮以关闭过滤功能并显示所有列,也可右键单击表格标题以选择要显示或隐藏的列。
在该表中,可明确识别导致每条路径产生时序违例的各项特性:
- 逻辑延迟百分比过高(逻辑延迟)
- 逻辑层次是否过多?(LOGIC_LEVELS)
- 是否存在阻碍逻辑最优化的任何约束或属性?(DONT_TOUCH、MARK_DEBUG)
- 路径是否包含具有高逻辑延迟的单元,例如块 RAM 或 DSP 等?(“Logical Path”(逻辑路径)、“Start Point Pin Primitive”(起点管脚原语)、“End Point Pin Primitive”(端点管脚原语))
- 当前路径拓扑结构的路径要求是否过于苛刻?(要求)
- 高信号线延迟百分比(信号线延迟)
- 在路径中是否有任何高扇出信号线?(高扇出,累积扇出)
- 分配给多个 Pblock 的单元布局能否拉开距离?(Pblocks)
- 单元布局能否拉开距离?(边界框大小,时钟区域距离)
- 对于 SSI 技术器件,是否存在跨 SLR 边界的信号线?(SLR 交汇)
- 在布局看似正确的情况下,是否有 1 个或多个信号线延迟值远高于预期?在Device(器件)窗口中选择路径并显示其布局和布线。
- 在块 RAM 或 DSP 单元中是否缺少流水线寄存器?(Comb DSP、MREG、PREG、DOA_REG、DOB_REG)
- 高偏差(建立 <-0.5 ns,保持 > 0.5 ns)(时钟偏差)
- 此路径是时钟域交汇路径吗?(起点时钟,端点时钟)
- 时钟是同步时钟还是异步时钟?(时钟关系)
- 此路径是否跨多个 I/O 列?(IO 交汇)
提示: 要在 Vivado IDE 中直观显示时序路径的详细信息,请选择表格中的路径,然后转至Properties(属性)选项卡。