Intel® Quartus® Prime Pro Edition用户指南: Timing Analyzer

ID 683243
日期 10/02/2023
Public
文档目录

2.5.1.2. Report Timing(报告时序)

Timing Analyzer的Reports > Timing Slack > Report Timing…命令使您能够通过指定设置来报告设计中任何路径或时钟域的时序。等效的脚本命令是report_timing

图 44. Report Timing报告

您可以指定各种选项来自定义报告。您可以指定报告显示的ClocksTargets,要运行的Analysis Type,是否在报告中显示Extra Info以及报告的Output选项。例如,您可以增加要报告的路径数量,添加一个Target filter和添加一个From Clock

图 45. Report Timing对话框(上面部分)
图 46. Report Timing对话框(下面部分)
表 6.  Report Timing设置
选项 说明
Clocks 报告中的From ClockTo Clock filter路径仅显示您指定的启动(launching)或者锁存(latching)时钟。
Targets 指定From ClockTo Clock的目标节点,报告仅包含这些端点的路径。对此选项指定一个I/O或寄存器名称或者I/O端口。此域也支持通配符。例如,仅报告具有特定层次结构的路径:
report_timing -from *|egress:egress_inst|* \
     -to *|egress:egress_inst|* -(other options)
FromTo或者Through框为空时,Timing Analyzer假定器件中所有可能的目标。Through选项对通过组合逻辑或单元上特定管脚的路径的路径的报告进行限制。
Analysis type Analysis type选项是SetupHoldRecovery或者Removal。Timing Analyzer对您选择的分析类型报告结果。
Paths 指定按照端点(endpoint)和时序裕量(slack)级别显示的路径数量。Report number of paths的默认值为10,否则报告可能会很长。使能Pairs only仅列出每对源(source)和目标(destination)的一条路径。通过Maximum number of paths per endpoints进一步限制。您也可以在Maximum slack limit域中输入一个值来过滤路径。
Extra Info 提供了与诊断时序故障根本原因相关的额外信息,例如:设置时序欲量细目(setup slack breakdown)和由拥塞和保持时间修复导致的意外布线迂回。指定是否在报告中包括NoneBasic或者All额外信息。Extra Info选项卡数据能够帮助您识别潜在的,不必要的布线迂回,以及限制路径fMAX性能的布局或者电路问题。请参考Extra Info选项卡上的Setup Slack Breakdown
  • All—报告包括Extra Info选项卡,此选项卡报告通过RAM或DSP模块的未注册输出的源时序端点或通过DSP模块的未注册输入的目标时序端点的额外信息。Data Path选项卡包括Estimated Delay Added for Hold和Route Stage Congestion Impact数据。
  • Basic—报告包括Extra Info选项卡,但在Data Path选项卡上没有额外信息。
  • None—报告不包Extra Info选项卡和Data Path选项卡上的其他额外信息。
Output 指定分析包括在输出中的路径类型Detail level
  • Summary—级别包括基本汇总报告。请查看Summary报告中的Clock Skew栏。如果偏斜少于+/-150ps,那么时钟树在源与目的之间达到良好的平衡。
  • Path only—显示所有详细信息,但Data Path选项卡将时钟树显示为一行项。
  • Path and Clock—在时钟方面,显示与Path only相同的内容。
  • Full path—当出现更高的时钟偏斜时,请使能Full path选项。此选项将时钟树分解的更详细,显示了每个单元,包括输入缓冲器,PLL,全局缓冲器(称为CLKCTRL_)和任何逻辑。 请查看此数据来确定设计中时钟偏斜的原因。使用Full path选项进行I/O分析,因为只有源时钟或目的时钟位于FPGA内部,因此延迟是满足时序的关键因素。
Show routing 在报告中显示布线数据。
Split the report by operating conditions 对于操作条件时序角,按每个操作条件划分数据。
Report panel name 指定报告面板的名称。您可以选择使能File name,将信息写入到一个文件中。如果您将.htm或者.html作为后缀,那么Timing Analyzer会生成HTML格式的报告。如果您使能File name,那么您可以使用最新的数据覆盖Overwrite文件或者添加后缀Append
Tcl command 显示与所选的GUI选项对应的Tcl语法。您可以将命令从Console复制到Tcl文件中。
图 47. Extra Info选项卡

Extra Info选项卡上的Setup Slack Breakdown

Extra Info选项卡包括其他时序指标,可帮助您诊断时序收敛问题,包括用于路径的Setup Slack Breakdown

路径的时序欲量(slack)指定了该路径满足其时序要求的余量。设置时序欲量细目(setup slack breakdown)是Timing Analyzer根据以下时序要求和路径单元延迟计算得出的数值:

图 48.  Setup Slack Breakdown计算

一条路径可能因为多种原因而无法满足时序要求。例如,时钟关系可能非常紧密,或者可能存在过多的布线延迟,从而导致时序路径故障。计算时序路径的固有余量,然后将此余量与其他路径的延迟进行比较,这样可以帮助确定路径未满足时序要求的具体原因。

Extra Info选项卡可以帮助您确定因拥塞和保持时间修复而导致的潜在的重大或意外的布线迂回。Extra Info选项卡也可以报告源时序端点的额外信息,这些源时序端点经由一个RAM模块或DSP模块的未寄存的输出,或者报告目的时序端点的额外信息,这些目的时序端点经由一个DSP模块的未寄存的输入。

您可以在Chip Planner,Technology Map Viewer或者Resource Property Viewer中查看Extra Info数据和Locate Path或者Locate Chip Area来决定是否为改进布局布线而进行更改。

与其他单元相比,某些延迟单元对路径的布局布线更加敏感。作为Setup Slack Breakdown的一部分的固有延迟对于布局布线不太敏感,它们是RTL和时序要求中所固有的。非固有延迟是对布局布线敏感的其他延迟。

表 7.  Extra Info选项卡数据
Extra Info数据 说明
Intrinsic Margin

报告构成时序路径裕量值的固有和非固有的时序单元。固有余量(intrinsic margin)是Timing Analyzer根据时序要求和路径单元延迟计算得出的数值。Timing Analyzer还从相同的要求和延迟中得出路径的时序裕量(slack),但采用不同的计算。固有延迟对布局布线不太敏感,并且是RTL和时序要求中所固有的。非固有延迟是对布局布线敏感的其他延迟。

From Node Info 指定From Node的node Type,Retiming Restriction和Power-Up "Don't Care"属性。请考虑移除重定时限制,以便允许重定时并提高时序收敛的性能。
To Node Info 指定To Node的node Type,Retiming Restriction和Power-Up "Don't Care"属性。请考虑移除重定时限制,以便允许重定时并提高时序收敛的性能。
Max Fanout

报告路径中寄存器的最大扇出和组合节点。

Route Stage Congestion Impact 报告布线对拥塞是否有LowMedium或者High影响。Low值表示时序问题与拥塞无关。High值表示对稀缺布线资源的竞争在某种程度上导致了较差的时序。
Estimated Delay Added for Hold 报告为满足保持(hold)而添加到最快延迟布线的估算延迟量。此值可以帮助您确定延迟是与布线拥塞相关还是与Hold相关。
Sufficient Setup Margin for Hold 报告设置余量是否适合保持时序。Yes表示设置余量是足够的。No表示设置余量对于保持时序是不够的。
Source/Destination Bounding Box 报告包围源寄存器和目标寄存器的边界框的左下角和右上角坐标。

在理想的情况下,Source/Destination Bounding BoxCell Bounding BoxInterconnect Bounding Box值大致相同,相对面积大概为1.0。如果单元边界框尺寸相对于Source/Destination Bounding Box增大,那么表明路径上存在潜在的不必要布线迂回。

Source/Destination Area Covered 报告LAB覆盖的总面积。
Source/Destination Relative Area 报告源和目的相对于Source/Destination Bounding Box的面积。此值始终为1.0,等于同一尺寸。
Cell Bounding Box 报告包围源寄存器和目标寄存器的边界框的左下角和右上角坐标和路径中的任何单元。
Cell Area Covered 报告单元相对于Source/Destination Bounding Box的面积。值1.0等于同一尺寸。大于1.0的值表示路径中的寄存器之间的空间之外有一个单元。

以下描述了Setup Slack Breakdown指示的时序条件的解释。

  • When the Setup Slack Breakdown is less than 0—路径有严格的时序关系,很大的微参数差异,显著的时钟源不确定性,以至于在路径在添加任何延迟之前就会失败。请查看SDC约束来验证时序关系是否正确。在缺少正确的时序切割的不相关时钟之间可能存在不正确的关系。请确保可参数化的硬核模块(例如20K RAM和DSP模块)是被完全寄存的。请研究时钟源以验证时钟是否使用全局信号进行布线。
  • When the clock skew exceeds the Setup Slack Breakdown —解决时钟传输以满足路径上的时序要求。您可能需要创建时钟区域分配。您可能还需要重新设计跨时钟传输以从同步实现切换到异步实现,例如使用FIFO或其他握手。
  • When the cell delay is greater than its intrinsic margin—减少单元延迟,因为即使时钟是完美的且不使用布线,路径也会时序失败。重写RTL以减少逻辑深度,重组逻辑以使Compiler能够使用更快的LUT输入,或者启动(unblock)重定时优化。Compiler可以自动对寄存器进行重定时以减少逻辑深度,但只能以维护功能且器件架构支持的方式进行。若要启动Hyper-Retimer,请移除异步复位和初始条件。
  • When the interconnect delay is greater than its intrinsic margin—即使时钟是完美的,并且没有逻辑,路径也可能时序失败。如果寄存器相距太远,或者时序路径绕过拥挤的芯片区域,那么就会发生这种情况。检查相距较远的寄存器的扇入和扇出。应用Logic Lock区域,以便Fitter将寄存器放置得更近。仅在确定最初布局较差的原因后才使用Logic Lock区域。