hu_li

异步复位同步释放

0
阅读(652) 评论(2)

一、同步复位

同步复位是指只有在时钟上升沿到来时才会对复位信号进行采样,也就是只有在时钟上升沿时,复位信号才有效。

其RTL代码如下:

1.png

二、异步复位

异步复位是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。RTL代码如下:

2.png

三、异步复位同步释放

3.png

所谓异步复位,同步释放就是在复位信号到来的时候不受时钟信号的同步,而是在复位信号释放的时候受到时钟信号的同步。

如上图,单独看方框2的复位策略,是一个异步复位电路,即复位信号有效时不管时钟信号是否处于有效沿,输出都会被复位,但是如果复位信号在时钟信号的上升沿撤销时,这时候的输出就是亚稳态。

方框1中电路图是实现异步复位同步释放的关键。

首先看一下怎么实现异步复位:当rst_async_n有效时,第二个D触发器的输出rst_sync_n就是低电平,方框2中的异步复位端口有效,输出被复位。

然后是同步释放:假设rst_async_n在clk的上升沿时撤除,那么第一级触发器处于亚稳态,但是由于两级触发器的缓冲作用,第二级触发器的输入为clk到来前第一级触发器的输出,即为低电平。因此,此时第二级触发器的输出一定是稳定的低电平,方框2中触发器仍然处于复位状态。在下一个clk到来时,第一级触发器的输出已经是稳定的高电平了,故rst_sync_n已经是稳定的高电平,此时复位释放。也就是同步释放。

其实现代码如下:

4.png


  1. 异步复位,同步释放,这是一种处理异步复位的有效方法

  2. 还是很有用的