可靠的异步复位、同步释放的双缓冲电路,
由两个同一时钟沿触发的层叠寄存器组成,该时钟必须和目标寄存器是一个时钟域。
既解决了同步复位的资源消耗问题,又解决了异步复位的亚稳态问题,其根本是异步信号同步化
- 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