根据前面的异步复位和同步复位分析,现在介绍一种更为可靠的异步复位、同步释放的双缓冲电路。改电路由两个同一时钟沿触发的层叠寄存器组成,该时钟必须和目标寄存器是一个时钟域;
input sclk;
input s_rst_n;
output rst_nr2;
reg rst_nr1,rst_nr2;
always @ ( posedge sclk or negedge s_rst_n )
if ( !s_rst_n )
rst_nr1 <= 1'b0;
else rst_nr1 <= 1'b1;
always @ ( posedge sclk or negedge s_rst_n )
if ( !s_rst_n )
rst_nr2 <= 1'b0;
else rst_nr2 <= rst_nr1;
实际上是将异步信号进行同步化,大大的降低了异步复位产生亚稳态的可能性;