题解 | #数据选择器实现逻辑电路#
数据选择器实现逻辑电路
https://www.nowcoder.com/practice/00b0d01b71234d0b97dd4ab64f522ed9
题目要求:使用4选1数据选择器和必要的逻辑门实现 L=A∙B+A∙~C+B∙C 达式。
L由A∙B,A∙~C,B∙C三部分组成, 将AB,AC,BC分别接入一个4选1数据选择器S1、S0端,实现选通11,10,11信号。(将式中目标选通信号的电平设为1,其余设为0)
用或门链接3个4选1数据选择器的输出端,即可得到结果。`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 ); wire Y1,Y2,Y3; data_sel data_sel_inst_AB ( .S0(A), .S1(B), .D0(0), .D1(0), .D2(0), .D3(1), .Y(Y1)); data_sel data_sel_inst_AC ( .S0(C), .S1(A), .D0(0), .D1(0), .D2(1), .D3(0), .Y(Y2)); data_sel data_sel_inst_BC ( .S0(B), .S1(C), .D0(0), .D1(0), .D2(0), .D3(1), .Y(Y3)); assign L =Y1|Y2|Y3; endmodule