上一篇介绍了大量的公式,但是真正需要我们记住的,是如下的,这里已经总结好了。可能会在以后工作中遇到,后续我会再补充一些计算题,供练习。
建立余量
utco: 触发器内部的时钟延时,也就是说数据是在我们的上升沿进行采样的,但是时钟进入我们的触发器件后,还需要一段内部的走线延时,这点可以看触发器的内部结构。
utsu:是数据到来的建立时间门限,也就是说,数据在latch被采样,但是数据至少要在ustu之前到来,utsu这个值是芯片固有的。
下面这个是计算建立余量用到的公式,是需要理解并背下来的。
数据需求时间是要求数据在data arrival time的时间之前到来,数据到达时间(data arrival time)是数据实际到达的时间,那么建立余量slack就是数据需求的时间减去数据到达的时间。剩下的余量,就是数据提前到达的时间,这样就可以保证数据在tsu门限值之前到来了,如果数据传输太慢,register-to-register 的delay太大(组合逻辑太多),那么上一次的数据就会落在tsu的区域以内,导致采样会出问题。
保持余量
对于保持余量的分析同样重要,我们再看看保持余量。
以上公式从直观上,只是改变了需求时间,但是注意了,这里的data arrival time 的launch edge并不是刚开始的launch,而是next launch(也相当于latch edge)。所以,我觉得官方这个公式让人容易引起误解,小伙伴们要注意啦。所以,如果数据传输过快了,那么就会导致下个数据的启动沿立即开始,而此时,当前的数据都还没有经过触发器采集数据固有的uth这段时间,导致数据保存失败。
以上两个属于寄存器与寄存器之间的建立余量和保持余量的公式,是非常重要的,其他情况我们暂时不管。建议从图片理解记忆。值得注意的是保持时间的launch指的是next launch,这一点官方文档容易让人引起误会。
文章来源于CSDN,内容仅代表作者观点。
作者:李瑞锋,中国电科电子科学研究院硕士毕业生,苏州瑞晟微电子(realtek半导体集团)芯片工程师。