Files
Jungfraujoch/fpga/hdl/resetn_sync.v

35 lines
760 B
Verilog

// Copyright (2019-2023) Paul Scherrer Institute
`timescale 1ns / 1ps
module resetn_sync (
(* X_INTERFACE_INFO = "xilinx.com:signal:clock:1.0 clk CLK" *)
(* X_INTERFACE_PARAMETER = "ASSOCIATED_RESET out_resetn" *)
input clk,
(* X_INTERFACE_INFO = "xilinx.com:signal:reset:1.0 in_resetn RST" *)
(* X_INTERFACE_PARAMETER = "POLARITY ACTIVE_LOW" *)
input in_resetn,
(* X_INTERFACE_INFO = "xilinx.com:signal:reset:1.0 out_resetn RST" *)
(* X_INTERFACE_PARAMETER = "POLARITY ACTIVE_LOW" *)
output out_resetn
);
(* ASYNC_REG = "TRUE" *) reg q0, q1, q2;
always @(posedge clk or negedge in_resetn)
if (~in_resetn)
q0 <= 1'b0;
else
q0 <= in_resetn;
always @(posedge clk)
begin
q1 <= q0;
q2 <= q1;
end
assign out_resetn = q2;
endmodule