OpenCores
URL https://opencores.org/ocsvn/freq_div/freq_div/trunk

Subversion Repositories freq_div

[/] [freq_div/] [trunk/] [rtl/] [even.v] - Blame information for rev 3

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 joecrop
 
2
`include "defines.v"
3
 
4 3 joecrop
module even(clk, out, P, reset, not_zero, enable);
5 2 joecrop
 
6
        input clk;
7
        output out;
8
        input [`SIZE-1:0] P;
9
        input reset;
10
        input not_zero;
11 3 joecrop
        input enable;
12 2 joecrop
 
13
        reg [`SIZE-1:0] counter;
14
        reg out_counter;
15
        wire [`SIZE-1:0] div_2;
16
 
17
 
18
        assign out = (clk & !not_zero) | (out_counter & not_zero);
19
        assign div_2 = {1'b0, P[`SIZE-1:1]};
20
 
21
        always @(posedge reset or posedge clk)
22
        begin
23
                if(reset)
24
                begin
25
                        counter <= 1;
26
                        out_counter <= 1;
27
                end
28 3 joecrop
                else if(enable)
29 2 joecrop
                begin
30
                        if(counter == 1)
31
                        begin
32
                                counter <= div_2;
33
                                out_counter <= ~out_counter;
34
                        end
35
                        else
36
                        begin
37
                                counter <= counter-1;
38
                        end
39
                end
40
        end
41
 
42
endmodule //even

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.