latch中的Timing Borrowing概念

科技   2024-10-11 22:13   美国  

静态时序分析将一个名为“timing borrowing”的概念应用于基于latch的设计。

 
让我们考虑一个周期为10的时钟,占空比为50%:

  
让我们也考虑一个简单的电路,如下所示:
 
 
为了便于理解,让我们假设每个触发器的setup和hold检查是“0”。此外,假设clock skew和clock latency为“0”。


在时间0时从F1发射的数据在时间10时在F2采样。因此,如果数据在10单位时间后达到F2,F2将无法捕获正确的数据。

同样,从F2发射的数据有10个时间单位才能到达F3,它将在下一个时钟边缘进行采样。
 
现在让我们用latch替换F2:L2,并且由同一条时钟线驱动:让我们从概念上理解timing borrowing。

对于从F1启动的数据:

如果它在10之前到达latch输入,此数据将在latch的D引脚处等待。这与F2表现出的行为相似。
然而,当数据在10点后达到L2时会发生什么?
L2在10到15的时间内
transparent”。
因此,即使数据在10单位时间后到达L2,只要数据在15单位时间前到达L2,L2也能采样到。
 
例如,如果数据在12单位时间达到L2,这意味着latch提供了2个时间单位的优势(比触发器)。
 
在这个例子中,L2所能提供的最大优势是5个时间单位。现在,让我们看看从L2到F3的路径。
数据在12单位时间从L2出来,并将在20单位时间在F3采样。因此,从L2到F3的路径只有8个时间单位。

在所有触发器的设计上,第二条路径有10个时间单位。然而,在这个基于latch的电路中,它少了2个时间单位。
 
本质上:

  • 进入latch的路径获得了2个额外的时间单位。
  • 因此,latch之后的路径必须从其份额(10个时间单位)中“赠送”这2个时间单位。


换句话说,进入latch的路径从latch之后的路径“borrow”了2个时间单位。
 
进入latch的路径能够借用额外的时间就是latch transparent。
 

上面的例子

  • 可以借的=5个时间单位。
  • 实际借的=2个时间单位。


 
既然我们了解了latch背景下的timing borrow概念,让我们看看STA工具如何对基于latch的设计进行时序分析。


对于从时间0开始的F1的数据:

L2在0到5期间开放。这是L2可以捕获数据的窗口。因此,从F1以0发射的数据可以在0到5期间被L2捕获。


对于setup分析:

- 0将被视为L2的捕获边沿,timing borrow能力为5。


STA工具将进行以下操作:在0处启动,并在0处捕获,额外的timing borrow 能力为5。

考虑从L2到F3的路径:在0处发射,在10处在F3处捕获。剩余的timing就是10减去被借用的时间。


现在让我们来看看hold分析:

对于hold分析,我们希望确保数据不会在上一周期内被捕获。

F1在0处发射的数据可以在0-5期间被L2捕获。

或者,L2在0-5期间捕获的数据应该是F1在0时发射的数据。


如果下一个数据在5单位时间之前到达L2,那么它将干扰F1在0处发出的数据。因此,应进行hold检查,以便下一个数据不应在5单位时间前达到L2。

 


数字芯片实验室
前瞻性的眼光,和持之以恒的学习。
 最新文章