Files
RTR532/ld2/clock_divider.v
T
Imants Pulkstenis 9a6c90c0b2 Timming now correct and also
7-segmet display also working now
2020-04-12 22:44:24 +03:00

44 lines
830 B
Verilog

/////////////////////////////
// Author - Imants Pulkstenis
// Date - 24.03.2020
// Project name - Lab work No2 - Counter
// Module name - clock divider module for counter
//
// Detailed module description:
//
// This module devide FPGA input clock
// by DIVIDER. Result is 50% duty cicle
// pulses.
//
//
// Revision:
// A - initial design
// B -
//
//
/////////////////////////////
module clock_divider #(
parameter DIVIDER =2,
parameter WIDTH =2
) (
input clk,
output clk_out);
reg state=1'b0, next_state=1'b1;
reg [WIDTH-1:0] counter = DIVIDER-1 ;
always@(posedge clk)begin
state <= next_state;
if ( counter == 0) begin
next_state <= ~next_state;
counter <= DIVIDER-1;
end
else if (counter >= 0 )
counter <= counter - 1;
end
assign clk_out = state;
endmodule