完整的静态时序分析包括寄存器至寄存器分析、I/O和异步复位通路分析等。 TimeQuest分析器使用数据请求时间、数据到达时间和时钟达到时间来验证电路性能,检测潜在的时序违规。 TimeQuest分析器确定设计正常工作必须符合的时序关系,针对请求时间检查达到时间,以验证时序。
时钟建立检查
进行时钟建立检查时,TimeQuest分析器分析每个寄存器至寄存器通路的启动和锁存边沿,确定建立关系。对于目的寄存器的每个锁存边沿,TimeQuest分析器使用最靠近源寄存器的前一时钟边沿作为锁存边沿。
在图1中,定义了两个建立关系,标记为Setup A和Setup B。对于10ns的锁存沿,作为启动沿的最近时钟是在3ns,标记为Setup A。对于20ns的锁存沿,作为启动沿的最近时钟是在19ns,标记为Setup B 。
图 1. 建立检查
TimeQuest 分析器时钟建立检查作为松弛结果。松弛是时序要求达到或者没有达到的余量。正松弛表明达到要求,负松弛表明没有达到要求。 TimeQuest 分析器利用方程 1 来确定内部寄存器至寄存器通路的时钟建立松弛。
方程 1
Clock Setup Slack = Data Required Time – Data Arrival Time
Data Required = Clock Arrival Time – μt SU – Setup Uncertainty
Clock Arrival Time = Latch Edge + Clock Network Delay to Destination Register
Data Arrival Time = Launch Edge + Clock Network Delay Source Register + μt CO + Register-to-Register Delay
如果数据通路是从输入端口至内部寄存器, TimeQuest 分析器使用方程 2 来计算保持松弛时间。
方程 2
Clock Setup Slack Time = Data Required Time – Data Arrival Time
Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + Input Maximum Delay of Pin + Pin to Register Delay
Data Required Time = Latch Edge + Clock Network Delay to Destination Register – μt SU
如果数据通路是从内部寄存器至输出端口, TimeQuest 分析器使用方程 3 来计算建立松弛时间。
方程 3
Clock Setup Slack Time = Data Required Time – Data Arrival Time Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + μt CO + Register to Pin Delay
Data Required Time = Latch Edge + Clock Network Delay to Destination Register – Output Maximum Delay of Pin
时钟保持检查
进行时钟保持检查时, TimeQuest 分析器确定所有源和目的寄存器对的建立关系的保持关系。 TimeQuest 分析器检查所有建立关系的邻近时钟边沿,确定保持关系。 TimeQuest 分析器对每一种建立关系进行两种保持检查。第一种保持检查确定当前启动沿启动的数据没有被前一锁存沿捕获到。第二种保持检查确定下一启动沿启动的数据没有被当前锁存沿捕获到。
图 2 显示了两种建立关系,以 Setup A 和 Setup B 标出。 Setup A 和 Setup B 的第一种保持检查分别标记为 Hold Check A1 和 Hold Check B1 。 Setup A 和 Setup B 的第二种保持检查分别标记为 Hold Check A2 和 Hold Check B2 。
图 2.保持检查
从可能的保持关系中, TimeQuest 分析器选择限制最严的保持关系。选择锁存和启动沿 ( 即,锁存 – 启动不是锁存 – 启动的绝对值 ) 差异最大的保持关系,因为这决定了寄存器至寄存器通路之间的最小延时。对于图 2 ,选择的保持关系是 Hold Check A2 。 TimeQuest 分析器按照方程 4 来确定时钟保持松弛。
方程 4
Clock Hold Slack = Data Arrival Time – Data Required Time
Data Required Time = Clock Arrival Time +μt H + Hold Uncertainty
Clock Arrival Time = Latch Edge + Clock Network Delay to Destination Register
Data Arrival Time = Launch Edge + Clock Network Delay to Source Register +μt CO + Register to Register Delay
如果数据通路是从输入端口至内部寄存器, TimeQuest 分析器使用方程 5 来计算建立松弛时间。
方程 5
Clock Setup Slack Time = Data Arrival Time – Data Required Time
Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + Input Minimum Delay of Pin + Pin to Register Delay
Data Required Time = Latch Edge + Clock Network Delay to Destination Register + μt H
如果数据通路是从内部寄存器至输出端口, TimeQuest 分析器使用方程 6 来计算建立松弛时间。
方程 6
Clock Setup Slack Time = Data Arrival Time – Data Required Time
Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + μt CO + Register to Pin Delay
Data Required Time = Latch Edge + Clock Network Delay to Destination Register – Output Minimum Delay of Pin
恢复和消除
恢复时间是异步控制信号,例如复位信号,在下一有效时钟沿达到前必须稳定下来的最短时间。恢复松弛时间的计算与时钟建立松弛时间相似,但采用了异步控制信号。如果异步控制信号已寄存, TimeQuest 分析器使用方程 7 来计算恢复松弛时间。
方程 7
Recovery Slack Time = Data Required Time – Data Arrival Time
Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + μt CO + Register to Register Delay
Data Required Time = Latch Edge + Clock Network Delay to Destination Register – μt SU
如果异步控制信号没有寄存, TimeQuest 分析器使用方程 8 来计算恢复松弛时间。
方程 8
Recovery Slack Time = Data Required Time – Data Arrival Time
Data Arrival Time = Launch Edge + Maximum Input Delay + Port to Register Delay
Data Required Time = Latch Edge + Clock Network Delay to Destination Register Delay – μt SU
注释 : 如果异步复位信号来自一个端口 ( 器件 I/O) ,您必须为 TimeQuest 时序分析器的异步复位引脚分配输入最大延时,以便对通路进行恢复分析。
消除时间是异步控制信号在有效时钟沿之后必须稳定下来的最短时间。 TimeQuest 分析器消除时间松弛计算与时钟保持松弛的计算相似,但采用异步控制信号。如果异步控制信号已经寄存, TimeQuest 分析器使用方程 9 来计算消除松弛时间。
方程 9
Removal Slack Time = Data Arrival Time – Data Required Time
Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + μt CO of Source Register + Register to Register Delay
Data Required Time = Latch Edge + Clock Network Delay to Destination Register + μt H
如果异步控制信号没有寄存, TimeQuest 分析器使用方程 10 来计算消除松弛时间。
方程 10
Removal Slack Time = Data Arrival Time – Data Required Time
Data Arrival Time = Launch Edge + Input Minimum Delay of Pin + Minimum Pin to Register Delay
Data Required Time = Latch Edge + Clock Network Delay to Destination Register +μt H
注释 : 如果异步复位信号来自一个器件引脚,您必须为 TimeQuest 时序分析器的异步复位引脚分配输入最小延时,以便对通路进行消除分析。
多周期通路
多周期通路是目的寄存器需要多个时钟周期来锁存数据的数据通路。例如,寄存器可能需要在第二或者第三个时钟上升沿来采集数据。
图 3 所示的例子是其他时钟沿目的寄存器锁存数据时,触发器输入寄存器和输出寄存器之间的多周期通路。请参考 TimeQuest set_multicycle_path 命令 ,了解 set_multicycle_path 命令。
图3. 多周期通路
相关链接
以下页面提供描述时钟的 SDC 命令和时钟特性的详细信息。
文章评论(0条评论)
登录后参与讨论