FPGA基础实验:使用LED验证译码器逻辑

FPGA基础实验:使用LED验证译码器逻辑

1、验证2-4译码器
2、验证3-8译码器
3、验证7段译码器,使用4位输入控制数码管0-F显示

1、验证2-4译码器

创建工程,添加BDF文件,再添加Verilog文件并编写2-4译码器例化程序。

module led2_4(IN, Q);
    input IN;
    output Q;

    wire [1:0] IN;
    reg[3:0] Q;

    always@(IN )
        begin
            case(IN)
                2'b00 : Q = 4'b0001;
                2'b01 : Q = 4'b0010;
                2'b10 : Q = 4'b0100;
                2'b11 : Q = 4'b1000;
            endcase
        end
endmodule

在’.v‘文件右键,选择’对当前文件创建例化‘
这里写图片描述

在BDF文件空白处双击添加例化器件
这里写图片描述

添加输入输出端口,并配置芯片对应管脚

这里写图片描述

同样的方法,我们可以放置2个2-4译码器模块,则总共有2组SW,
每组2个,2组LED,每组4个,每组SW分别控
制其对应的LED组。
这里写图片描述

>
>

2、验证3-8译码器

同样的方式创建工程,添加BDF文件,再添加Verilog文件并编写3-8译码器例化程序。

module led3_8(IN, Q);
    input IN;
    output Q;

    wire [2:0] IN;
    reg[7:0] Q;

    always@(IN )
        begin
            case(IN)
                3'b000 : Q = 8'b0000_0001;
                3'b001 : Q = 8'b0000_0010;
                3'b010 : Q = 8'b0000_0100;
                3'b011 : Q = 8'b0000_1000;
                3'b100 : Q = 8'b0001_0000;
                3'b101 : Q = 8'b0010_0000;
                3'b110 : Q = 8'b0100_0000;
                3'b111 : Q = 8'b1000_0000;
            endcase
        end
endmodule

添加BDF文件中的例化器件,标识连线,分配管脚
这里写图片描述

思考分析逻辑规则

>
>

3、验证7段译码器,使用4位输入控制数码管0-F显示

创建工程,添加BDF文件,再添加Verilog文件并编写7段译码器例化程序。


module smg(IN, Count);
    input IN;
    output Count;
    wire[3:0] IN;
    reg[7:0] Count;
//0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
//0    1     2    3    4     5     6    7
//0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e
//8    9     a     b     c     d    e     f 
    always@(IN )
        begin
            case(IN)
                4'b0000 : Count = 8'hc0;
                4'b0001 : Count = 8'hf9;
                4'b0010 : Count = 8'ha4;
                4'b0011 : Count = 8'hb0;
                4'b0100 : Count = 8'h99;
                4'b0101 : Count = 8'h92;

                4'b0110 : Count = 8'h82;
                4'b0111 : Count = 8'hf8;
                4'b1000 : Count = 8'h80;
                4'b1001 : Count = 8'h90;
                4'b1010 : Count = 8'h88;
                4'b1011 : Count = 8'h83;
                4'b1100 : Count = 8'hc6;
                4'b1101 : Count = 8'ha1;
                4'b1110 : Count = 8'h86;
                4'b1111 : Count = 8'h8e;
            endcase
        end
endmodule




在BDF文件中添加例化器件

这里写图片描述

编译下载,拨动不同的编码输入可以得到对应的数码管显示

猜你喜欢

转载自blog.csdn.net/sinat_29862967/article/details/78680051