作者wildwolf (可爱的哲哲)
看板comm_and_RF
标题Re: [问题] recovery and removal constraint
时间Thu Jul 22 08:54:56 2010
※ 引述《iloveyoungae (迷上西方天使)》之铭言:
: 大家好
: 小弟最近被recovery & removal搞的头很大
: 我只知道 recovery 是在check setup time
: 而removal 是在check hold time
以上的讲法并不正确。
1. 你要先知道什麽叫同步的 RESET 和非同步的 RESET
a. 同步的 RESET 代表 RESET 这个动作跟 clock 的正负源有关,
b. 非同步的 RESET 代表 RESET 这个动作跟 clock 没有任何关连。
c. 在电路实现上,同步的 RESET 信号,会用 AND gate 把要接入 DFF
的输入信号归零,因此当 clock 正负源来临的时候,DFF 的输出才会被归零。
d. 非同步的 RESET 的实现,则是要使用具有 RESET pin 脚的 DFF,
因此非同步 RESET 就直接接到 DFF 上,当 RESET 发生时,DFF 输出就被归零,
因此归零的这个动作跟 clock 没有关连。
2. 接下来谈到什麽叫 RECOVERY 和 REMOVAL。
a. RECOVERY 和 REMOVAL 的意义就是说,当非同步 RESET 信号消失後,
DFF 回复正常的工作,可是 DFF 回复正常工作需要点时间,因此当
非同步 RESET 信号消失後,如果马上就出现 clock 正负源,那麽
DFF 无法正常工作,因此我们需要检查非同步 RESET 信号与 clock
正负源是否太过接近。
b. 如果非同步信号变化後,之後很短的时间内 clock 的正负源就出现了,
那麽就会出现 $recovery timing violation
c. 如果非同步信号变化後,之前很短的时间内 clock 也有正负源的变化,
那麽就会出现 $removal timing violation
3. 简单的说,你把对 setup/hold time violation 的讨论中,把 clock -> reset,
把 data -> clock 就可以看懂 $removal 和 $recovery 的意义
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.123.101.43
1F:推 iloveyoungae:谢谢您的讲解~ 123.195.22.60 07/22 22:16
2F:推 CompileUltra:我也顺便谢一下 XD 118.168.236.9 07/24 14:50