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 2

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

powered by: WebSVN 2.1.0

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