题解 | #数据选择器实现逻辑电路#
数据选择器实现逻辑电路
https://www.nowcoder.com/practice/00b0d01b71234d0b97dd4ab64f522ed9
`timescale 1ns/1ns
module data_sel(
input S0 ,
input S1 ,
input D0 ,
input D1 ,
input D2 ,
input D3 ,
output wire Y
);
assign Y = ~S1 & (~S0&D0 | S0&D1) | S1&(~S0&D2 | S0&D3);
endmodule
module sel_exp(
input A ,
input B ,
input C ,
output wire L
);
data_sel idata_sel(
.S0 (C),
.S1 (0),
.D0 (A),
.D1 (B),
.D2 (0),
.D3 (0),
.Y (Y)
);
assign L = Y;
endmodule
可以优化为 ~C·A+CB;
对应(~S0&D0 | S0&D1)或者(~S0&D2 | S0&D3)
使用S1选择使用哪部分