aboutsummaryrefslogtreecommitdiffstats
path: root/fpga/usrp3/lib/timing/pps.v
blob: 49d3641b70022bd878e68a2e847c10c1b629fbf0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//
// Copyright 2014 Ettus Research LLC
//

module pps_generator
    #(parameter CLK_FREQ=0, DUTY=25)
    (input clk, input reset, output pps);

    reg[31:0] count;

    always @(posedge clk) begin
        if (reset) begin
            count <= 32'b1;
        end else if (count >= CLK_FREQ) begin
            count <= 32'b1;
        end else begin
            count <= count + 1'b1;
        end
    end

    assign pps = (count < CLK_FREQ * DUTY / 100);
endmodule //pps_generator