Verilog Vivado mod_n.v Code

 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
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Modulus N Counter
// Input: rst, clk, en
// Output: cntout[7:0], TC
// parameter : MOD
//////////////////////////////////////////////////////////////////////////////////
module mod_n(
    input rst,
    input clk,
    input en,
    output [7:0] cntout,
    output reg TC
    );
    
    reg [7:0] cnt;
    parameter MOD = 5;
    
    always @ (posedge clk or posedge rst) begin
        if(rst==1'b1) begin
            cnt <= 8'b0000_0000;
            TC = 1'b0;
        end
        else begin
            cnt <= (en) ? cnt+1'b1 : cnt;
            TC  <= 1'b0;
            if(en & cnt == MOD-1) begin
                cnt <= 8'b0000_0000;
                TC <= 1'b1;
            end
        end
    end
    assign cntout = cnt;
endmodule

This is the Verilog code that written with Vivado for implementing Stopwatch in FPGA Board(Xilinx; Nexys S).

'Study' 카테고리의 다른 글

Verilog Vivado tb_count_8bit.v Code  (0) 2019.05.26
Verilog Vivado Stopwatch.v Code  (0) 2019.05.26
Verilog Vivado tb_Stopwatch.v Code  (0) 2019.05.26
Verilog Vivado Stopwatch.xdc Code  (0) 2019.05.26
Verilog Vivado Count_8 Bit.v Code  (0) 2019.05.26

+ Recent posts