blob: 644e37df6f82dc1bc8a5f05d34cdee081fe159da [file] [log] [blame]
`default_nettype none
// ============================================================================
module idelay_calibrator #
(
parameter SITE_LOC = ""
)
(
input wire refclk, // REFCLK for IDELAYCTRL
input wire rst, // External reset
output wire rdy // Output ready signal
);
// ============================================================================
// Long reset generator (~60ns for Artix 7 according to the datasheet)
reg [6:0] r_cnt;
wire r_rst;
initial r_cnt <= 0;
always @(posedge refclk)
if (rst)
r_cnt <= 0;
else if (r_rst)
r_cnt <= r_cnt + 1;
assign r_rst = !r_cnt[6];
// ============================================================================
// IDELAYCTRL
(* KEEP, DONT_TOUCH, LOC = SITE_LOC *)
IDELAYCTRL idelayctlr
(
.REFCLK (refclk),
.RST (r_rst),
.RDY (rdy)
);
endmodule