可靠的异步复位、同步释放的双缓冲电路,
由两个同一时钟沿触发的层叠寄存器组成,该时钟必须和目标寄存器是一个时钟域。
既解决了同步复位的资源消耗问题,又解决了异步复位的亚稳态问题,其根本是异步信号同步化
module huxled(
clk ,
rst_n ,
rst_nr2
);
input clk; //系统时钟信号
input rst_n; //输入复位信号,低有效
output rst_nr2; //异步复位、同步释放输出
reg rst_nr1;
reg rst_nr2;
//两级层叠复位产生,低电平复位
always @ (posedge clk or negedge rst_n)
begin
if(!rst_n)
rst_nr1 <= 1'b0;
else
rst_nr1 <= 1'b1;
end
always @ (posedge clk or negedge rst_n)
begin
if(!rst_n)
rst_nr2 <= 1'b0;
else
rst_nr2 <= rst_nr1;
end
endmodule