SprinterJoy/Firmware/ClockGenerator.sv
2024-01-29 22:49:58 +03:00

29 lines
611 B
Systemverilog

/*
* Делитель частоты для формирования сигнала опроса джойстика Sega
*/
module ClockGenerator (
input wire clk, // Input clock
input wire reset,
output reg sj_clk // Clock for sega joystick
);
reg [6:0] clk_ctr;
localparam [6:0] divisor = 120;
//assign sj_clk = clk_ctr[7];
always_ff @ (posedge clk, posedge reset)
if (reset) begin
clk_ctr <= 7'h00;
sj_clk <= 1'b0;
end
else begin
if (clk_ctr == divisor) begin
clk_ctr <= 7'h00;
sj_clk <= !sj_clk;
end
else clk_ctr <= clk_ctr + 1'b1;
end
endmodule