原创文章
latch(锁存器),电路图结构如下
当 E = 1 时,latch直传(transparent),D端信号的变化会即时反应在Q端;
当 E = 0 时,latch关断(closed),Q端保持关断瞬间D端的值。
设计中使用Latch的好处是,相比寄存器的面积更小,功耗更低,可以从后级电路进行time borrowing,更容易满足setup time,然而坏处是STA分析不会那么直接,下面我们就看看引入了Latch的Timing Path如何分析。
Timing borrowing
由于锁存器在半个始终周期内直通,所以说数据到达的是时间约束更加宽了,但是这样就会导致锁存器数据传到触发器时,数据保持稳定的时间变少,那么后面的逻辑延迟就要减小。这样便是timing borrowing.(这是初学小白自己的理解,如有错误希望各位大佬指正)。
Look up latch
为了完成DFT工作,芯片内部需要插入扫描链,会将不同时钟域的寄存器串联起来。
未加入Look up latch的电路图和时序图
由于时钟不同,所以CLK1与CLK2之间存在skew,可大可小,所以FF1.CLK1—FF1.Q—FF2.SI这段延时比skew小,造成hold timing违例。
加入Look up latch后的电路图和时序图
latch可以修后面寄存器hold的原因是,修hold可以增加数据路径上的延迟,所以当插入可以增加部分延迟,并且插入latch后,由于timingborrow,后面寄存器的capture提前了半个周期也有利于hold修复。