使用门级电路实现1位二选一多路选择器。
通过真值表设计电路:
使用Verilog门级实现:
module MUX2X1(A0,A1,S,Y);//命名
input A0,A1,S;//输入,全部为1位
output Y;//输出为1位
not i0(S_n,S);//非门
nand i1(A0_S,A0,S_n);//与非门,输出命名为A0_S
nand i2(A1_S,A1,S);//与非门,输出命名为A1_S
nand i3(Y,A0_S,A1_S);//与非门,输出为Y
endmodule
测试代码:
`timescale 1ns/1ns
module MUX2X1_tb;
reg A0,A1,S;
wire Y;
initial
begin
S=1;
A0=0;
A1=0;
#1000
S=0;
end
always #100 A0=~A0;
always #200 A1=~A1;
MUX2X1 mux2x1(//将该代码的信号输入MUX2X1
.A1(A1),
.A0(A0),
.S(S),
.Y(Y)
);
endmodule