Mux2to1
一、题目要求
创建一个1位宽的2对1多路复用器。当sel=0时,选择a。当sel=1时,选择b。
二、分析
二选一多路复用器的逻辑如下
sel | a | b | out |
---|---|---|---|
0 | 选中 | 未选中 | a |
1 | 未选中 | 选中 | b |
逻辑关系很简单,可以有三种实现方法
法一:用if语句,如果sel等于0,out输出a,否则输出b。
法二:用case语句,case(sel),sel等于0,out输出a,sel等于1,out输出b。
法三:用三目运算符a? c:d。
代码如下
①If语句实现
module top_module(
input a, b, sel,
output out );
always @(*)
begin
if (sel==1'b0)
out=a;
else
out=b;
end
endmodule
②case语句实现(推荐)
module top_module(
input a, b, sel,
output out );
always @(*)
begin
case(s