小脚丫实现38译码器——模块建模和门级建模初探

  • 1061368165@qq.c
  • LV5工程师
  • |      2017-09-16 21:30:12
  • 浏览量 956
  • 回复:1
verilog HDL建模分三种方式: 1、模块建模 2、门级建模 3、开关建模 这里用38译码器感受下1、2的区别: 在官网,我找到了38译码器的模块级建模代码:
module decode38 (sw,led);

 

        input  sw;                                                        //开关输入信号,利用了其中3个开关作为3-8译码器的输入

        output  led;                                                //输出信号控制特定LED

 

        reg  led;                                //定义led为reg型变量,在always过程块中只能对reg型变量赋值

 

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

        always @ (sw)

        begin

                case(sw)                                  //case语句,一定要跟default语句

                        3'b000:        led=8'b0111_1111;            //条件跳转,其中“_”下划线只是为了阅读方便,无实际意义  

                        3'b001:        led=8'b1011_1111;              //位宽'进制+数值是Verilog里常数的表达方法,进制可以是b、o、d、h(二、八、十、十六进制)

                        3'b010:        led=8'b1101_1111;

                        3'b011:        led=8'b1110_1111;

                        3'b100:        led=8'b1111_0111;

                        3'b101:        led=8'b1111_1011;

                        3'b110: led=8'b1111_1101;

                        3'b111:        led=8'b1111_1110;

                        default: ;

                endcase

        end

 

endmodule
看起来跟c这种语言的描述方式很像,但学过数点的总是很喜欢直接用门电路,一来好玩,而来更有逼格,于是乎自己小写一段代码,实现效果相同:
module decode38 (sw,led);

 

        input  sw;                                                        //开关输入信号,利用了其中3个开关作为3-8译码器的输入

        output  led;                                                //输出信号控制特定LED

 

        wire  swt;

        

        not(swt,sw);

        not(swt,sw);

        not(swt,sw);

        

        nand(led,sw,sw,sw);

        nand(led,sw,sw,swt);

        nand(led,sw,swt,sw);

        nand(led,sw,swt,swt);

        nand(led,swt,sw,sw);

        nand(led,swt,sw,swt);

        nand(led,swt,swt,sw);

        nand(led,swt,swt,swt);

        

endmodule

        
引脚上图:
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:1
lygo 2017-09-22
厉害:)
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子