FPGA3-8译码器

注意:文章是本人学习笔记,如有错误可以留言指出。

原理:一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象。在这里3-8译码器则将3位二进制代码翻译为8位只有一位为高电平其余全为高电平的对象。

设计思路:3位二进制输入,8位二进制输入

if程序编写:

module  decoder3_8
  (
  input   reg   [2:0]     in,
  output  reg   [7:0]     out
  );

always  @(*)
  if(in == 3'b000)
    out <= 8'b0000_0001;
  else if(in == 3'b001)
    out <= 8'b0000_0010;
  else if(in == 3'b010)
    out <= 8'b0000_0100;
  else if(in == 3'b011)
    out <= 8'b0000_1000;
  else if(in == 3'b100)
    out <= 8'b0001_0000;
  else if(in == 3'b101)
    out <= 8'b0010_0000;
  else if(in == 3'b110)
    out <= 8'b0100_0000;
  else
    out <= 8'b1000_0000;
    
  endmodule

case程序编写:

module  decoder3_8
  (
  input   reg   [2:0]     in,
  output  reg   [7:0]     out
  );

always  @(*)
 begin
   case (in)
   3'b000:out <= 8'b0000_0001; 
   3'b000:out <= 8'b0000_0010; 
   3'b000:out <= 8'b0000_0100; 
   3'b000:out <= 8'b0000_1000; 
   3'b000:out <= 8'b0001_0000; 
   3'b000:out <= 8'b0010_0000; 
   3'b000:out <= 8'b0100_0000; 
   3'b000:out <= 8'b1000_0000; 
   default:out <= 8'b0000_0001;
   endcase
 end
endmodule
  

仿真波形:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值