CHIP KIDD

[FPGA] Clock에 필요한 모듈 2) FND 4digit switcher Verilog Code 본문

반도체/FPGA - Verilog

[FPGA] Clock에 필요한 모듈 2) FND 4digit switcher Verilog Code

쑨야미 2021. 4. 1. 19:33

 

prescaler를 통해서 나눠진 단위 clock들에 맞춰 Up/Down Conuter모듈을 지나 생성된 초분시에 대한 Data는

4bit의 COM[0:3] 출력으로 나온다. 이 COM 출력은 4자리의 FND출력의 자리를 나타내는 Data이다. 

 

따라서 이 자리수 데이터 값을 나타내는 FND Switcher 코드는 다음과 같다.  

module FND4digit_switcher(
    input [3:0] value_1,
    input [3:0] value_10,
    input [3:0] value_100,
    input [3:0] value_1000,
    input clk_msec,
    output reg [3:0] com,
    output reg [3:0] hex_value
    );
    
    always @(negedge clk_msec) begin
        case(com)
            4'b0111: begin
                com = 4'b1110;
                hex_value = value_1;
            end
            4'b1110: begin
                com = 4'b1101;
                hex_value = value_10;
            end
            4'b1101: begin
                com = 4'b1011;
                hex_value = value_100;
            end
            4'b1011: begin
                com = 4'b0111;
                hex_value = value_1000;
            end
            default: begin
                com = 4'b0111;
                hex_value = value_1000;
            end
        endcase
    end
    
endmodule

주의할점은 2진수로 나타낸 Com 값은 FND가 애노드 타입인지 캐소드 타입인지에 따라서 다르다. 

서로 보수이니 맞춰서 설정하면된다. 

 

 

1. Prescaler

2021.04.01 - [반도체/FPGA - Verilog] - [FPGA] Clock에 필요한 모듈 1) Prescaler Verilog Code

3. Decoder 7_seg

2021.04.01 - [분류 전체보기] - [FPGA] Clock에 필요한 모듈 3) Decoder for 7 Segments Verilog Code

4. UP/DOWN Counter 

2021.04.01 - [분류 전체보기] - [FPGA] Clock에 필요한 모듈 4) Up/Down Counter Verilog Code