summaryrefslogtreecommitdiffstats
path: root/part_2/ex9_final/verilog_files/tick_2500.v
blob: e75a131549f2913bf11b06045155b007c45cbce6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
module tick_2500(CLOCK_IN, en, CLK_OUT);

	parameter NBIT = 12;
	
	input CLOCK_IN, en;
	output CLK_OUT;
	
	reg [NBIT-1:0] count;
	
	reg CLK_OUT;
	
	initial 
		begin
			count = 12'd2499;
			CLK_OUT = 1'b0;
		end
	
	always @ (posedge CLOCK_IN)
		if(en == 1'b1)
			begin
				if(count == 1'b0)
					begin
						CLK_OUT <= 1'b1;
						count <= 12'd2499;
					end
				else
					begin
						count <= count - 1'b1;
						CLK_OUT <= 1'b0;
					end
			end
		else 
			CLK_OUT <= 1'b0;

endmodule