Time Borrowing in Latches

Static Timing Analysis applies a concept called Time Borrowing for latch based designs.

This blog post explains time-borrowing, and is relevant to cases where your design has latches, and your timing report has time-borrowing.

 

Let us consider a clock of period 10, with a duty-cycle of 50%:

 

image1.png
  

Let us also consider a simple circuit as follows:

 

image2.png

 

For ease of understanding, let us assume that the setup and hold for each of the flops is “0”.

Also, assume that the clock skew and clock-delays are “0”.

The data that gets launched from F1 at time 0 gets sampled at F2 at time 10.

So, if data reaches F2 AFTER 10, F2 will not be able to capture the correct data.

Similarly, the data launched from F2 has 10 time-units to reach F3, where it will be sampled at the next clock edge.

 

Now let us replace F2 with a latch: L2, where the “Gate” of the Latch is driven by the same clock line:

 

image3.png

 

For the data launched from F1 at time 0:

If it reaches the latch input before 10, this data waits at the Latch’s D pin.

This is similar to the behavior exhibited by F2.

What happens however, when the data reaches L2 after 10?

L2 is “transparent” for the duration of 10 to 15.

So, even if the data reaches L2 after 10, L2 will be able to consume it as long as the data reaches L2 before 15.

This means that the data has up to 15 time-units to reach the Latch, instead of the 10 that it had with a flop.

 

For example, if the data reaches L2 at 12, this means that the latch has provided an advantage (over the flop) of 2 time-units.

 

The maximum advantage that L2 could provide is 5 time-units in this example.

 

Now, let us look at the path from L2 to F3.

The data comes out of L2 at 12, and will be sampled at F3 at time 20.

Thus, the path from L2 to F3 gets only 8 time-units.

In the circuit which had all flops, the second path had 10 time-units.

However in this circuit, it gets 2 time-units less.

 

In essence:

  • The path feeding into the latch got 2 extra time-units.
  • As a result, the path following the latch had to “give-away” these 2 time-units from its share (of 10 time-units).

Alternately stated: The path feeding into the latch “borrowed” 2 time-units from the path which is following the latch.

So, a path feeding into a latch CAN borrow additional time (equivalent to the time that the latch is transparent), from the following path.


The actual time borrowed though, need not be all that can be borrowed.

The actual time borrowed would be the minimum that is required for the path to meet timing (subject to a max limit of the latch being transparent).

For the example considered:

  • The amount that CAN be borrowed = 5 time units.
  • The amount actually borrowed = 2 time units.

10 units are available by default, and with an additional 2, the path of 12ns is able to meet timing.

It should be noted that the path from F1 to F3 still gets a total of 20 which has not changed.

Only the distribution has changed.


eg: 

module top (d1, dout, clk, en);

input [8:0] d1;

output reg  dout;

input clk;

input en;

reg [8:0] d1_reg ;

reg d2_reg;

 

always @ (posedge clk)

  begin

     if (en) begin

      d1_reg <= d1;

      dout <= comb2;

      end

    end

 

assign comb1 = ^ d1_reg;

assign comb2 = & d2_reg;

 

always @ (comb1  or clk)

begin    if (clk)

        d2_reg <= comb1;

 

   end

endmodule


 


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
时间借用信息指的是借助时间来获取或传达信息的过程。在现代社会中,我们常常通过各种媒介和渠道来获取和传递信息,而这些媒介和渠道都需要消耗时间。 首先,借用时间来获取信息是指我们花费时间去研究和学习。在学校里,我们通过上课和读书来获取新知识。我们耗费时间来听老师的讲解、做课后作业和考试。此外,我们还可以利用自己的时间去阅读,通过书籍、报纸、杂志和互联网等来获取各种信息。 其次,时间借用信息还体现在信息传播的过程中。我们可以通过社交媒体、电视和广播等渠道来传达信息。这些媒介需要花费时间来准备、制作和传播信息。例如,电视节目需要编写剧本、拍摄和剪辑;社交媒体需要人们花费时间来写推文、发表状态更新和上传照片。这些活动都需要我们借用时间来传播信息。 最后,时间借用信息还体现在我们平时的交流中。我们需要花费时间与他人交谈,分享自己的想法和获得他人的观点。通过交流,我们可以借用对方的时间,来获取更多的信息和知识。这种时间借用在面对面的交流中尤为重要,因为我们可以通过语言、肢体语言和非语言信号等方式来传递信息。 总之,时间借用信息是指我们通过花费时间来获取和传达信息的过程。无论是学习、传播还是交流,我们都需要使用时间作为资源来借用信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值