RTL设计中不建议用锁存器的根源是什么
时间:10-02
整理:3721RD
点击:
从上学开始到工作至今,一直被告知规范的数字正向RTL设计中,不用或尽量不用锁存器Latch,当然也一贯遵守。我知道这是为了符合同步设计的原则,也为了后端时序更好。
最近闲来蛋疼,想了想,有些疑惑。我们都知道同样功能的电路用锁存器设计比用触发器面积会小一些,而我们所谓的latch设计会影响后端时序,这个影响到底有多大呢?也查过DC综合的资料,实际上latch也是可以综合的,只是约束起来比较复杂。那这个latch对时序的影响效果会大于latch减小电路面积的效果吗?此二者 的利弊关系是怎样的?
而且我司也有项目会做一些反向设计,发现整理出的很多数字电路部分,都是用latch实现的。
感觉自己对于这个约定俗称的设计规范只是知其然不知其所以然,想请教各位,既然业内规定了这个设计规范,是否其中有更为深层次的原因,愿闻其详。
LATCH 是可以综合, low power 综合时,D端的逻辑会综合到CP端来gating clock,用的就是负电平LATCH+AND。
但对比DFF, LATCH在enable的时间内,所有内容都是透传的,意味着毛刺信号可以被传到后级。
个人理解,有请补充。
个人感觉lacth是可以使用的,不过一切的前提是输入很干净。
第一、时序分析时太复杂。
现在1个时钟周期很明确,一般就是时钟的一个上升沿到下一个上升沿。
但latch的gate端,在整个高电平期间都是透明的,这意味着可以借用下个cyc的时间。如果多个借用串联起来就复杂了……
第二、设想一下,如果整个芯片没有FF,只有latch,那时钟高电平期间,整个芯片就是一坨组合电路了……
真正纯latch的电路肯定要用双相时钟,这又大大增加了时序分析和设计的复杂度。
主要是因为设计水平低,用触发器可以降低设计难度...
