CHIP KIDD

[FPGA] Clock에 필요한 모듈 3) Decoder for 7 Segments Verilog Code 본문

반도체/FPGA - Verilog

[FPGA] Clock에 필요한 모듈 3) Decoder for 7 Segments Verilog Code

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

FND Switcher를 통해서 자리에 대한 Data가 나왔다면, 

FND에 나타낼 숫자에 대한 Date가 필요하다. 

Switcher에서 Hex_Value라는 숫자 Data가 생성이 되지만, 사실 UP_Down_counter에서 

자리위치 뿐만아니라 숫자에 대한 정보가 Output으로 나온다. 

 

FND Swicher에서 4bit 의 COM과 Hex_Value가 나온다. 4자리 자리수를 나타내기에는 4bit는 충분하지만, 

1부터 10까지 나타내는데 있어서 7bit의 이진숫자가 존재한다. 

따라서 4bit로 도출된 Hex_Value 를 7bit의 2진수로 풀어야하는데 이런 기능을 하는게 Decoder 이다. 

 

따라서 다음은 7segment를 위한 Decoder의 코드이다.

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

 

1. Prescaler

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

2. FND Switcher 

2021.04.01 - [분류 전체보기] - [FPGA] Clock에 필요한 모듈 2) FND 4digit switcher Verilog Code

4. UP/DOWN Counter 

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