Slack Calculation

Slack是等于path delay和clock period之间的margin。具有Small Delay Fault Model的Slack表示能够被检测到的最小延迟缺陷。

图1显示了slack的计算。假设有三条paths能够检测一个fault。paths分别有8.5ns, 7.5ns, 4.5ns延迟。时钟周期是10ns。被计算的paths的slacks是1.5ns,2.5ns,和0.5ns。最长的pathlaunches从leading edge和captures在下一个周期的leading edge,给出1.5ns的slack。因此通过该path能够被检测到最小延迟缺陷是1.5ns。最短的path在leading edge进行launches,在相同周期的falling edge进行captures。给出0.5ns的slack。为了在故障位检测small delay,应该生成test pattern以检测通过这条path的fault,因为它有最小slack。
Slack Calculation_第1张图片
Path Delay Calculation

的存在clock skew时,会影响arrivel time和propagation time。当计算path delay时,Tessent工具使用以下算法来保证考虑到clock skew:

  • 为设计中的每个gate计算arrivel time:

时序元素的arrival time的初始值等于它的所有时钟端口的最大时钟延迟,这意味着任意gate上的arrival time是与时钟输入端口值的改变有关的,而与driving flop或flops的值改变无关。

  • 计算propagation time:
  1. 立刻驱动(该gate的输出连接的是时序元素)时序元素的时钟端口的门,初始的progation delay被设为0。

  2. 立刻驱动时序元素的数据端口的门,初始的progation delay被设为其时钟延迟的负值(而不是0,数据到达的时间要早于时钟达到的时间)。

应用以下公式计算:
在这里插入图片描述
下图例子中,电路的周期为8:
Slack Calculation_第2张图片
使用前面的算法,计算的值如下:
Slack Calculation_第3张图片
从这些值中可以海鲜关键路径是dff2-g1-g3。

Slack Calculation When Timing Exceptions Are Present

False paths和multicycle path影响如何计算slack和path delay。

False Paths

static arrival time和 static propagation time应该从false paths上排除延迟,该计算在static flase analysis之后执行。

一个故障位f,工具计算两个static arrival times:

  • Tr(f)——从任意launch点到f的静态最长延迟。
  • Trx(f)——排除false path锥中的paths,从任意launch点到f的静态最长延迟。

相似,一个故障位f,工具计算两个static propagation times:

  • Tp(f)——从f到任意capture点的静态最长延迟。
  • Tpx(f)——排除false path锥中的paths。从f到任意capture点的静态最常延迟。

你可能感兴趣的:(算法)