基于Step-Mxo2-LCP的3-8译码器

译码器的基本概念:

        译码器的逻辑功能是将每个输入的二进制代码译成对应的输出高、低电平信号或另外一个代码。一般有二进制译码器、二-十进制译码器和显示译码器。

二进制译码器:

        二进制译码器的输入是一组二进制代码,输出是一组与输入代码一一对应的高、低电平信号。

Verilog代码1:

        每一个输入代码译成对应输出端的低电平信号,LED1~LED8,输出对应的LED灯为亮

/*3-8译码器*/

module decode38(
    input [2:0] sw,       //3位输入
    output reg [7:0] led   //8位输出
);

always @ (sw)begin
    case(sw)
        3'b000: led = 8'b1111_1110;
        3'b001: led = 8'b1111_1101;
        3'b010: led = 8'b1111_1011;
        3'b011: led = 8'b1111_0111;
        3'b100: led = 8'b1110_1111;
        3'b101: led = 8'b1101_1111;
        3'b110: led = 8'b1011_1111;
        3'b111: led = 8'b0111_1111;
        default;
    endcase
end
endmodule
Verilog相关语法:
  • 信号类型:

        wire线信号,一般用于assign语句中

        reg寄存器类型,一般用于always块中

        在always过程块中只能对reg型变量赋值

  • 数字表达式:

<位宽><进制><数字>如8‘b1111_1110,其中"_"下划线无实际意义

  • 进制:

二进制b/B;十进制d/D;十六进制h/H

  • 块语句:

常用begin表示开始,end表示结束

  • case语句
  1. case(表达式)endcase
  2. casez(表达式)endcase
  3. casex(表达式)endcase

case语句,一定要跟default语句

  • always语句

括号中的sw为敏感变量,当sw变化一次执行一次always中所有语句,否则保持不变

对应的真值表:
3位二进制译码器的真值表
输入 输出
A2 A1 A0 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
0 0 0 1 1 1 1 1 1 1 0
0 0 1 1 1 1 1 1 1 0 1
0 1 0 1 1 1 1 1 0 1 1
0 1 1 1 1 1 1 0 1 1 1
1 0 0 1 1 1 0 1 1 1 1
1 0 1 1 1 0 1 1 1 1 1
1 1 0 1 0 1 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1 1

Verilog代码2:

        每一个输入代码译成对应输出端的高电平信号,LED1~LED8,输出对应的LED灯熄灭

module decode38(
    input [2:0] sw,       //3位输入
    output reg [7:0] led   //8位输出
);

always @ (sw)begin
    case(sw)
        3'b000: led = 8'b0000_0001;
        3'b001: led = 8'b0000_0010;
        3'b010: led = 8'b0000_0100;
        3'b011: led = 8'b0000_1000;
        3'b100: led = 8'b0001_0000;
        3'b101: led = 8'b0010_0000;
        3'b110: led = 8'b0100_0000;
        3'b111: led = 8'b1000_0000;
        default;
    endcase
end
endmodule
对应的真值表:
输入 输出
A2 A1 A0 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0 1 0 0
0 1 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0 0 0
1 0 1 0 0 1 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0

你可能感兴趣的:(FPGA基础模块,fpga开发,fpga,笔记)