////////////////////////////////////////////////////////////////////////////////// // Company: TAIR // Engineer: // // Create Date: 10/30/2023 11:24:31 AM // Design Name: // Module Name: ClkDivider // Project Name: S5443_V3_FPGA3 // Target Devices: BOARD: BY5443v3. FPGA: xc7s25csga225-2 // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 1.0 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module ClkDivider ( input Clk_i, input [3:0] ClkDiv_i, input Rst_i, output Clk_o ); //================================================================================ // REG/WIRE //================================================================================ reg [16:0] cnt; reg clk; wire clk_o; //================================================================================ // ASSIGNMENTS //================================================================================ assign Clk_o = (cnt < ClkDiv_i / 2) ? 1 : 0; //================================================================================ // LOCALPARAMS //================================================================================ //================================================================================ // CODING //================================================================================ always @(posedge Clk_i) begin if (Rst_i) begin cnt <= 0; end else begin if (cnt >= ClkDiv_i - 1) begin cnt <= 0; end else begin cnt <= cnt + 1; end end end endmodule