多路选择器的功能:在选择信号的控制下,从多个输入中选择一个输出。

真值表                                                符号

              

Verilog描述

①采用case语句描述

module data_selector41(sel,in,out);input [1:0] sel;input [3:0] in;output out;reg out;//若括号里均为0,则out必为0,完全可以不执行always语句always @(sel or in)begincase({sel[1],sel[0]})2'b00: out <= in[0];2'b01: out <= in[1];2'b10: out <= in[2];2'b11: out <= in[3];default: out <= 1'bx;endcaseend
endmodule

②采用assign语句描述

module data_selector41(a,b,c,d,s1,s0,y);input a,b,c,d,s1,s0;output y;wire [1:0] SEL;wire A,B,C,D;assign SEL = {s1,s0};assign A = (SEL == 2'b00);assign B = (SEL == 2'b01);assign C = (SEL == 2'b10);assign D = (SEL == 2'b11);assign y = (a & A)|(b & B)|(c & C)|(d & D);
endmodule

③采用条件语句描述

module data_selector41(a,b,c,d,s1,s0,y);input a,b,c,d,s1,s0;output y;reg [1:0] SEL;reg y;always @(a,b,c,d,s1,s0)beginSEL = {s1,s0};if(SEL == 2'b00) y = a;else if(SEL == 2'b01) y = b;else if(SEL == 2'b10) y = c;else y = d;end
endmodule

测试程序

module test_data_selector41;reg [3:0] IN;reg [1:0] S;wire Y;data_selector41 D41(.sel(S),.in(IN),.out(Y));always #10 IN[0] =~ IN[0];always #20 IN[1] =~ IN[1];always #40 IN[2] =~ IN[2];always #80 IN[3] =~ IN[3];initial beginS = 1'b0; IN = 4'h0;#160 $stop;endalways #10 S = S+1;
endmodule

仿真结果

4选1多路选择器的Verilog描述及仿真相关推荐

  1. FPGA _Verilog HDL_8选一多路选择器设计

    一.题目 熟悉QuartusII软件,并设计一个8选1多路选择器,并完成其仿真波形图(贴图). 二.源代码 //-------------------------------------------- ...

  2. Verilog数字系统设计——4 选1 多路选择器

    Verilog数字系统设计--4 选1 多路选择器 题目 试分别使用assign.门级原语和always 语句设计4 选1 多路选择器,并写出测试代码进行测试.要求编制测试模块对实现的逻辑功能进行完整 ...

  3. Verilog门级实现二选一多路选择器

    使用门级电路实现1位二选一多路选择器. 通过真值表设计电路: 使用Verilog门级实现: module MUX2X1(A0,A1,S,Y);//命名 input A0,A1,S;//输入,全部为1位 ...

  4. Verilog学习日志(4选一多路选择器)

    初次接触硬件设计相关的东西,对学习过程进行一下记录. 首先根据书上内容设计了一个简单的二选一选择器 Verilog代码如下: module mux2_1 #( parameter DW = 32 // ...

  5. 跟着小梅哥初学FPGA ,vivdao开发平台,二选一多路选择器。

    今天正式开始自己的FPGA自学之路,由于导师项目需要,xilinx ZYNQ 7系列的板子,vivado软件平台进行开发,所以自己也直接学习vivado软件开发的板子,我自己学习所用的开发板是xili ...

  6. 四选一多路选择器MUX41a

    四选一多路选择器的代码如下,保存路径不能有中文!! 文件名保存为模块名. (Cyclone III-----EP3C40Q240C8) 编译无错误后: File-New-VMF Edit--Inser ...

  7. 利用Block Design在Vivado实现三位四选一多路选择器

    一.要求:利用Block Design设计一个三位 4 选 1 多路选择器电路 二.实验原理: 真值表: Block Design原理图 三.设计过程 Block Design 将自己编写的与门,非门 ...

  8. FPGA刷题P1:4选1多路选择器、异步复位的串联T触发器、奇偶校验、移位拼接乘法

    牛客网上面有FPGA的刷题平台,打算暑假把上面的题刷了,代码思路给大家分享 目录 4选1多路选择器 异步复位的串联T触发器 奇偶校验 移位拼接乘法 位拆分与运算 4选1多路选择器 这道题用组合逻辑,s ...

  9. Verilog练习笔记(四选一多路选择器)

    制作一个四选一的多路选择器,要求输出定义上为线网类型 状态转换: d0    11 d1    10 d2    01 d3    00 信号示意图: 波形示意图: 输入描述: 输入信号   d1,d ...

最新文章

  1. PAT甲级1072 Gas Station (30 分):[C++题解]dijkstra算法、最短路
  2. Val编程-任务编程
  3. [css] 你是怎样抽离样式模块的?
  4. 关于Socket通讯时通讯协议的制定
  5. Dom-to-image
  6. 可编程模拟IC之考虑[zz]
  7. A. httpd常见的几个操作
  8. 直观理解Hilbert空间是什么?
  9. plupload插件上传总结(分片上传,php后端处理)
  10. 批处理为win7桌面添加计算机图标,WIN7桌面显示IE图标bat
  11. [Pytorch系列-71]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 使用预训练模型训练pix2pix模型
  12. 前端弹出对话框 js实现 ajax交互
  13. Chrome浏览器更新失败
  14. IT类人人才如何申请加拿大BC省雇主担保移民
  15. Linux网络通讯命令大全
  16. 《大话处理器》简要学习笔记
  17. 毕业感想--致04软件和工贸足球队
  18. Python爬虫之模拟登录豆瓣获取最近看过的电影
  19. CodeRunner解决联网验证问题
  20. windows mysql8安装_Windows上安装mysql8.0

热门文章

  1. IMEI码常识及辨别
  2. 有关加班费,你得知道这些
  3. win11中微软商店如何使用微信支付
  4. 创建steam账户反复人机验证_Steam国区已经无法注册新账号!原因是添加了这个。。。...
  5. 物联网之LoRa开发与应用二(驱动移植)
  6. 股票大跌了,只能靠黄金稳住收入了丨用 Python 机器学习预测黄金价格
  7. 团圆季,来钛空舱一起赏花灯丨钛空舱赏灯系列
  8. VS2008 编译错误,生成后事件问题 Error 1 error PRJ0019: A tool returned an error code from “Performing Post-Build
  9. 【凯立德】2012最新凯立德春季版导航C-Car系列 V3.0 地图编号2821J0A
  10. 分布式服务治理框架Dubbo的前世今生及应用实战