8路选择器是数字电路里一个非常简单的电路了,功能是通过一个地址端对8路输入进行选择输出,输出其中的 1 路。下面的实现中每路输入数据与输出数据均为4位2进制数,当选择开关或输入数据发生变化时,输出数据也相应地变化。
8路选择器的集成芯片74LS152的引脚分布图如右图,
其中D0~D7是8路数据输入,W是一路输出,A、B、C是地址端。
真值表如下:

逻辑图:

Verilog实现代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | module mux_8(addr, in1, in2, in3, in4, in5,in6,in7,in8,mout,ncs); input [2:0] addr; input [3:0] in1,in2,in3,in4,in5,in6,in7,in8; input ncs; output [3:0] mout; reg [3:0] mout; always @(addr or in1 or in2 or in3 or in4 or in5 or in6 or in7 or in8 or ncs) begin if(!ncs) case(addr) 3'b000: mout = in1; 3'b001: mout = in2; 3'b010: mout = in3; 3'b011: mout = in4; 3'b100: mout = in5; 3'b101: mout = in6; 3'b110: mout = in7; 3'b111: mout = in8; endcase else mout = 0; end endmodule |
测试向量:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | `timescale 1ns/1ns module test; wire[3:0] mout; reg [3:0] in1,in2,in3,in4,in5,in6,in7,in8; reg [2:0] addr; reg ncs; initial begin ncs=0; //在初始化模块里将使能信号置为0,让选择器正常工作 in8={$random}%16; //使用系统任务$random产生一个0至15之间的数 in1={$random}%16; in2={$random}%16; in3={$random}%16; in4={$random}%16; in5={$random}%16; in6={$random}%16; in7={$random}%16; addr=3'b000; repeat(5) //重复下面的语句块5次,赋5次值 begin #10 in8={$random}%16; in1={$random}%16; in2={$random}%16; in3={$random}%16; in4={$random}%16; in5={$random}%16; in6={$random}%16; in7={$random}%16; addr=addr+1; end #10 $stop; end mux_8 example(.addr(addr),.in1(in1),.in2(in2),.in3(in3),.in4(in4),.in5(in5),.in6(in6),.in7(in7),.in8(in8),.mout(mout),.ncs(ncs)); endmodule |
ModelSim仿真结果:

声明:本文采用 BY-NC-SA 协议进行授权 | 星期九
原创文章转载请注明:转自《Verilog实现简单的8路选择器》
唉,都拿来骗小孩子;选择语句最好还是加上default,不管是不是产生了寄存器,都是要去避免的
@天印行健, 嗯 ,对对,最好是有default。
@Harid,
我实验的时候就是不小心把default注释掉了啊,唉,可怜那时候还没看书,百思不得其解,搞了一上午...
我最头疼就是电学,纯支持,呵呵
@学夫子, 我很头疼数学,哈哈
这个有点复杂,一般人看不懂
不太懂你说的这些
Random Posts
Recent Posts
Recent Comments
By Plastic injection mould
By OOZJ
By Jusbe
By 互联网战
By 互联网战
By ixwebhosting
Blogroll
Categories
Tag Cloud
360 5800 Alexa C++ Chrome Cisco Dedecms Discuz Fcitx Fedora GFW Gravatar IE Linux Mobile ModelSim Music QT Quartus Shell Verilog VPN VPS Windows Wordpress XAMPP Xilinx xp 下载 垃圾评论 情感 手机 插件 星期九 注册 电子信息 程序设计 站长工具 缩略图 网络应用 考研 胡思乱想 西工大 视频 软件Meta