Verilog实现38译码器

Verilog实现38译码器

// An highlighted block
var foo = 'bar';

module decode_38(date_in, date_out);
    
    input [2:0] date_in;        //date_in[2],date_in[1],date_in[0]
    output reg [7:0] date_out; 
    
    //行为建模:组合逻辑电路
    always @ (*)    begin
        case(date_in)                 //case语句:括号为输入的条件
           3'd0     : date_out = 8'b0000_0001;
           3'd1     : date_out = 8'b0000_0010;
           3'd2     : date_out = 8'b0000_0100;
           3'd3     : date_out = 8'b0000_1000;
           
           3'd4     : date_out = 8'b0001_0000;
           3'd5     : date_out = 8'b0010_0000;
           3'd6     : date_out = 8'b0100_0000;
           3'd7     : date_out = 8'b1000_0000;
        endcase
    end
    
endmodule
// An highlighted block
var foo = 'bar';
`timescale 1ns/1ps
module decode_38_tb;

    reg [2:0] date_in;        //date_in[2],date_in[1],date_in[0]
    wire[7:0] date_out;
    
    decode_38 decode_38_inst(
        .date_in(date_in), 
        .date_out(date_out)
    );

   //port
   initial begin
          date_in = 3'b000;
    #200  date_in = 3'b001;
    #200  date_in = 3'b010;
    #200  date_in = 3'b011;
    #200  date_in = 3'b100;
    #200  date_in = 3'b101;
    #200  date_in = 3'b110;
    #200  date_in = 3'b111;
   end
endmodule
  • 7
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值