diff options
author | Flavian Kaufmann <flavian@flaviankaufmann.ch> | 2024-05-20 16:48:55 +0200 |
---|---|---|
committer | Flavian Kaufmann <flavian@flaviankaufmann.ch> | 2024-05-20 16:48:55 +0200 |
commit | e945c80a6ceaef501350de49bf647ae8539d1cbb (patch) | |
tree | 9e698d839e5f6221af523b49be04b809648efeb9 /src/reset_synchronizer.v | |
parent | 142510b8325b9ef89bd3e22463f36c3caa2815de (diff) | |
download | riscv_cpu-e945c80a6ceaef501350de49bf647ae8539d1cbb.tar.gz riscv_cpu-e945c80a6ceaef501350de49bf647ae8539d1cbb.zip |
reset synchronizer
Diffstat (limited to 'src/reset_synchronizer.v')
-rw-r--r-- | src/reset_synchronizer.v | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/reset_synchronizer.v b/src/reset_synchronizer.v new file mode 100644 index 0000000..b957a4b --- /dev/null +++ b/src/reset_synchronizer.v @@ -0,0 +1,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
\ No newline at end of file |