题解 | #四选一多路器#

四选一多路器

https://www.nowcoder.com/practice/cba4617e1ef64e9ea52cbb400a0725a3

`timescale 1ns/1ns
module mux4_1(
input [1:0]d1,d2,d3,d0,
input [1:0]sel,
output[1:0]mux_out
);
//*************code***********//
wire [1:0]line1,line2;
assign line1=(sel[0])?d2:d3;
assign line2=(sel[0])?d0:d1;
assign mux_out=(sel[1])?line2:line1;
//*************code***********//
endmodule

题目规定输出类型为wire。

方法一:不使用always,只使用assign。

由三个二选一数据选择器构成四选一数据选择器。

d0 11

d1 10

d2 01

d3 00

分两组,以sel(0)作为第一级两个mux2_1的数据选择端,以sel(1)作为第二级一个mux2_1的数据选择端。

因此高位相同全为1的d0,d1为一组,d2,d3为一组。

方法二:中间变量为reg,使用always+case,最后在用assign赋给输出。

全部评论

相关推荐

零零幺零零幺:至少再做一个项目,然后猛投小厂,不然有点难
点赞 评论 收藏
分享
03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务