题解 | #四选一多路器#
四选一多路器
http://www.nowcoder.com/practice/cba4617e1ef64e9ea52cbb400a0725a3
- 线网类型只能使用连续赋值语句进行赋值;
- 使用三元运算符 ?: 来实现四个信号的选择;
- 实现思路为:首先判断sel[0]的数值,再判断sel[1]的数值,即可判断出应当选择哪一个信号;
- 此外应当看清时序电路图中sel的数值和四个信号之间的对应关系,下表为该题目中对应关系:
| sel | 信号 |
|---|---|
| 00 | d3 |
| 01 | d2 |
| 10 | d1 |
| 11 | d0 |
- 代码实现:
`timescale 1ns/1ns
module mux4_1(
input [1:0]d1,d2,d3,d0,
input [1:0]sel,
output[1:0]mux_out
);
assign mux_out = sel[0]?(sel[1]?d0:d2):(sel[1]?d1:d3);
endmodule
查看27道真题和解析