vvt 发表于 2011-6-30 12:17:22

对于time borrowing不是很清楚,高手是否可以讲讲?

对于time borrowing不是很清楚,高手是否可以讲讲?

另外,latch为什么可以加速设计?

讨论下latch的time borrowing?

vvt 发表于 2011-6-30 12:17:42

time borrowing是老一辈full custom设计者喜欢的,
但是现在的EDA都没法分析这个,所以现在基本上一般的ASIC design都不会用。
基本的感念就是因为latch是电平触发的,数据只要在半T内通过都可以,所以上一级可以在下一级打开的时间段内继续算,只要在下一级关闭之前算出来就可以了。
但是不能一直借下去。

vvt 发表于 2011-6-30 12:18:03

Flip-Flop use 2 latches to capture data on edge.
So, latch delay is smaller, but leak current higher.

For ex:
if you use Flip-Flop, your data must be stable before clock rising edge.
but, if you use latch, data change can be delay until before falling edge. ( if it is a HIGH transparent latch).

Usually, we will use latch under such situation:
Flip-Flop + latch + Flip-Flop,

we dont like to use
latch+latch+ latch

Except timing borrow, latch also can fix big hold time issue.

vvt 发表于 2011-6-30 12:18:29

time borrowing:指的是两段时序路径之间的borrowing,具体如下解释;
一般,当两个latch串联时,比如latcha和latchb,latcha高电平有效,latchb低电平有效,
一个时钟周期,假如高电平先来;
那么如果在时钟下降沿之前latcha的q端数据到达latchb的d端,那么setup满足,为正值,如果在第二个上升沿之后latcha的q端数据到达latchb的d端,那么setup仍然满足,此时发生了timing borrowing,setup报告为0;
如果在第二个上升沿之后才到达, 那么setup违反,为负值;
因此,最大的可以借到的时间是半个周期。

vvt 发表于 2011-6-30 12:18:48

相对于2级的DFF设计,中间有很多的组合逻辑,所以最高的运行频率低于组合逻辑的delay,但是将DFF换为latch时,可以提高此时的运行频率,因为可以向后一级路径借点时间,这样功能也不会出错。
当然,latch的STA分析比较复杂,一般的ASIC设计都不用,但是latch真的很有用:常见的memory设计,以及门控,hard block等中latch很常见,latch面积小,但是没有时钟,所以测试不方便,时序分析不方便,EDA流程中很少用而已

vvt 发表于 2011-6-30 12:19:09

timing borrowing通常是在有Latch的时序电路中,可以向latch借时间。
在clock gating中用的较多。
页: [1]
查看完整版本: 对于time borrowing不是很清楚,高手是否可以讲讲?