Day1 VL1 四选一多路器【Verilog】

Day1 :VL1 四选一多路器

制作一个四选一的多路选择器,要求输出定义上为线网类型
状态转换:
d0 11
d1 10
d2 01
d3 00

信号示意图:
在这里插入图片描述
在这里插入图片描述

分析:1.输入d0,d1,d2,d3,要想实现四选一,需要几位信号呢?
答案是2位,2位的二进制有种表现形式:00,01,10,11
故定义sel为[1:0]

读波形图可知:sel=0 =>sel=2’b00,根据上述状态转换,00对应的为d3,而d3显示的数为2,故mux_out=2, 其余同理

代码实现

在这里插入图片描述`timescale 1ns/1ns
module mux4_1(
input [1:0]d1,d2,d3,d0,
input [1:0]sel,
output [1:0]mux_out
);
//*code//
reg[1:0] mux_out_temp;//输出不能使用reg,所以定义一个临时变量
always@(
)begin
case(sel)
2’b00:mux_out_temp=d3;//信号与四个输入进行匹配
2’b01:mux_out_temp=d2;
2’b10:mux_out_temp=d1;
2’b11:mux_out_temp=d0;
endcase
end

assign mux_out=mux_out_temp;//最后使用assign对输出结果进行赋值,即可正常输出
//**code//
endmodule

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值