ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

3-8译码器/4-16译码器的实现

2021-09-05 18:02:29  阅读:152  来源: 互联网

标签:200 0000 16 实现 b0000 译码器 reg out


module code3_8(a,b,c,out);
    
    //输入端口
    input a;
    input b;
    input c;
    
    //输出端口
    output reg [7:0]out;        //【】定义out信号为8位的位宽,高位在前,低位在后
    
    //所有在always@中要赋值的信号都必须定义为reg型
    always@(a,b,c)begin            //abc为敏感信号
        case({a,b,c})        // {}拼接三个信号为一个新的信号
            3'b000:out = 8'b0000_0001;        //下划线为占位符,无实际意义
            3'b001:out = 8'b0000_0010;
            3'b010:out = 8'b0000_0100;
            3'b011:out = 8'b0000_1000;
            3'b100:out = 8'b0001_0000;
            3'b101:out = 8'b0010_0000;
            3'b110:out = 8'b0100_0000;
            3'b111:out = 8'b1000_0000;
            //default:out = xxxxxxxx;    如果不必枚举全部情况,则用default表示剩余情况
        endcase
    end  

endmodule
`timescale 1ns/1ns

module code3_8_tb;

    reg a;
    reg b;
    reg c;
    
    wire [7:0] out;
    code3_8 u1(
        .a(a),
        .b(b),
        .c(c),
        .out(out)
    );

    initial begin
        a = 0;b = 0;c = 1;
        #200;
        a = 0;b = 1;c = 0;
        #200;
        a = 0;b = 1;c = 1;
        #200;
        a = 1;b = 0;c = 0;
        #200;
        a = 1;b = 0;c = 1;
        #200;
        a = 1;b = 1;c = 0;
        #200;
        a = 1;b = 1;c = 1;
        #200;
        a = 0;b = 0;c = 0;
        #200;
        
        $stop;    
        
        end
    
endmodule

 4-16译码器增加一个输入端口即可

 

标签:200,0000,16,实现,b0000,译码器,reg,out
来源: https://www.cnblogs.com/wjwjs/p/15230168.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有