曾经在EDACN上面看到过这样一个问题:
“ removal time recovery time 定义为异步rst信号和clk信号之间的时序要求,
但有一点不理解,rst信号是异步的,如何保证其与clk之间的时序要求?
这项工作是在哪个阶段处理的?是在前端设计时要对异步rst信号进行什么处理吗?
还是在后端流程中工具会自动处理?谢谢“
先弄清楚异步复位电路的复位信号怎么同步的,画了个图你看一下,这是标准的异步复位信号同步到时钟CLK的电路。FF1和FF2是同步器,不需要做Recovery/Removal检查,FF3 的复位信号是同步过的,需要检查。C:\Documents and Settings\maxmu\桌面\rst_sync.jpg
网上看到的另外一个类似的解释
数字设计中很多新手不理解removal time \recovery time 的概念。<br>removal time \recovery time 类似于DFF的setup time \ hold time,不同之处在于前者是用来描述异步复位的。<br>一
般设计中,异步复位信号需要进行同步化处理,即让本来异步输入的复位信号,用时钟来锁存,这样本来和时钟没有相位关系的复位信号就和时钟用相位关系了。
STA时,如果DFF的异步rst和该DFF的时钟有相位关系,则需要进行removal和recovery的检查。removal和recovery检
查的目的是让DFF的异步rst信号在时钟沿附近满足建立\保持时间。当然,如果异步复位信号与时钟没有任何相位关系,则没有必要做removal
time \recovery time 检查。