跨时钟复位信号的同步
module async_rst(
input clk,
input arst_n,
output reg rst_n1
);
reg rst_n0;
always @(posedge clk or negedge arst_n) begin
if(!arst_n) begin
rst_n0 <= 0;
rst_n1 <= 0;
end
else begin
rst_n0 <= 1;
rst_n1 <= rst_n0;
end
end
endmodule
保证时钟上升沿来的时候,复位信号还没有被撤消并满足Trecovery(因此第一级DFF可能出现亚稳态),因此两级DFF用来抑制第一级DFF的亚稳态。