aboutsummaryrefslogtreecommitdiff
path: root/src/reset_synchronizer.v
blob: b957a4ba364e07a0c612eaafd374e66db15285df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
module reset_synchronizer (
    input clk,
    input rstn_async,
    output rstn
);

reg rstn_meta;
reg rstn_sync_reg;

always @(posedge clk or negedge rstn_async) begin
  if (!rstn_async) begin
    rstn_meta <= 1'b0;
    rstn_sync_reg <= 1'b0;
  end else begin
    rstn_meta <= 1'b1;
    rstn_sync_reg <= rstn_meta;
  end
end

assign rstn = rstn_sync_reg;

endmodule