二选一选择器的3种写法
第一种二选一选择器
module muxtwo(out,a,b,sl);
input a,b,sl;//sl默认低电平
output out;
reg out;
always@(sl,a,b)
if(!sl) out = a;
else out = b;
endmodule
第二种二选一选择器
module muxtwo(a,b,sl,out);
input a,b,sl;
output out;
wire nsl,slb,sla;
assgin nsl=!sl;//sl默认低电平
assign sla=a&nsl;
assgin slb=b&nsl;
assign out=sla|slb;
endmodule
第三种二选一选择器
module muxtwo (out,a,b,sl);
input a,b,sl;
output out;
not u1(nsl,sl);
and #1 u2(sela,a,nsl);
and #1 u3(selb, b,sl);
or #1 u4(out, sela,selb) ;
endmodule