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

本文详细介绍了译码器的基本概念,特别是二进制译码器的工作原理,通过Verilog代码展示了3-8译码器的逻辑设计,包括两个示例,以及对应的真值表和编程语法要点。
摘要由CSDN通过智能技术生成

译码器的基本概念:

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

二进制译码器:

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

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(表达式)<case分支项>endcase
  2. casez(表达式)<case分支项>endcase
  3. casex(表达式)<case分支项>endcase

case语句,一定要跟default语句

  • always语句

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

对应的真值表:
3位二进制译码器的真值表
输入输出
A2A1A0Y7Y6Y5Y4Y3Y2Y1Y0
00011111110
00111111101
01011111011
01111110111
10011101111
10111011111
11010111111
11101111111

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
对应的真值表:
输入输出
A2A1A0Y7Y6Y5Y4Y3Y2Y1Y0
00000000001
00100000010
01000000100
01100001000
10000010000
10100100000
11001000000
11110000000
  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值