微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 异步复位

异步复位

时间:10-02 整理:3721RD 点击:
哪位好心人能给我详细解释一下removal timing 和 recovery timing,谢谢啦

引用小富人说得: 简而言之,DFF的复位置位信号不要在clk的跳变沿附近变化,而是要远离clk沿。
一般逻辑对此时序不用关心,比如很多模块的操作流程是复位完了,才开启模块时钟,再启动模块工作。这种流程可以保证不会出现recovery和removal的问题,因为复位置起撤销时都没有时钟;即使操作流程保证不了,出现recovery和removal违例,由于模块此时都不会工作,也没什么问题。

需要关心recovery和removal问题的最常见模块应该是CPU,因为一般CPU是在复位撤销后就开始工作。想象一下,CPU的工作其实是在很多个DFF一起配合完成的,如果复位撤销时刻在DFF的clock沿附近,势必导致各个DFF开始动作的步调不一致,导致无法预料的错误情形。

处理办法就是讲需要考虑recovery和removal问题模块的复位信号,用模块的工作时钟同步后,再送进模块使用。这样PR工具是会自动检查这个模块的DFF的时序并修正,直到没有recovery和removal的violation。对于其他没有要求的模块复位信号,设置false path不去检查这个时序即可。

引用别人的图



好,清晰

简而言之,对一个异步低电平复位时钟:
recover time时钟沿来之前一段时间内,rst 信号不得从无效到有效发生反转;
removal time 时钟沿之后的一段时间内,rst信号不能从有效到无效发生反转。

也就是rst 相对于时钟的setup and hold 关系

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top