题解 | #异步复位同步释放#
异步复位同步释放
https://www.nowcoder.com/practice/9b892b6f75954267b4574b042f8a8d6a
异步复位,同步释放
顾名思义,将复位信号当作异步信号,使用两级寄存器进行亚稳态处理,使用同步后的信号作为复位信号
`timescale 1ns/1ns
module ali16(
input clk,
input rst_n,
input d,
output reg dout
);
//*************code***********//
reg rst_r, rst_rr;
always @(posedge clk or negedge rst_n) begin
if (!rst_n) begin
rst_r <= 1'b0;
rst_rr <= 1'b0;
end
else begin
rst_r <= 1'b1;
rst_rr <= rst_r;
end
end
always @(posedge clk or negedge rst_rr) begin
if (!rst_rr)
dout <= 1'b0;
else
dout <= d;
end
//*************code***********//
endmodule
阿里云成长空间 747人发布