module clkgen #( PERIOD_NS = 10, RESET_DELAY_NS = 45 ) ( output logic clk, output logic nreset ); initial begin clk = 1'b1; nreset = 1'b0; #RESET_DELAY_NS nreset = 1'b1; end always #(PERIOD_NS/2) clk <= ~clk; endmodule