题解 | #使用3-8译码器①实现逻辑函数#
使用3-8译码器①实现逻辑函数
https://www.nowcoder.com/practice/be81e76ebade445baca7257aa4eca8f2
`timescale 1ns/1ns
module decoder_38(
input E1_n ,
input E2_n ,
input E3 ,
input A0 ,
input A1 ,
input A2 ,
output wire Y0_n ,
output wire Y1_n ,
output wire Y2_n ,
output wire Y3_n ,
output wire Y4_n ,
output wire Y5_n ,
output wire Y6_n ,
output wire Y7_n
);
wire E ;
assign E = E3 & ~E2_n & ~E1_n;
assign Y0_n = ~(E & ~A2 & ~A1 & ~A0);
assign Y1_n = ~(E & ~A2 & ~A1 & A0);
assign Y2_n = ~(E & ~A2 & A1 & ~A0);
assign Y3_n = ~(E & ~A2 & A1 & A0);
assign Y4_n = ~(E & A2 & ~A1 & ~A0);
assign Y5_n = ~(E & A2 & ~A1 & A0);
assign Y6_n = ~(E & A2 & A1 & ~A0);
assign Y7_n = ~(E & A2 & A1 & A0);
endmodule
module decoder0(
input A ,
input B ,
input C ,
output wire L
);
wire y0,y1,y2,y3,y4,y5,y6,y7;
// L = ~A&(B|!B)&C + A*B*(C|!C) = 100 + 110 + 111 + 011
decoder_38 u_38(
.E1_n(1'b0),
.E2_n(1'b0),
.E3 (1'b1),
.A0 (A),
.A1 (B),
.A2 (C),
.Y0_n(y0),
.Y1_n(y1),
.Y2_n(y2),
.Y3_n(y3),
.Y4_n(y4),
.Y5_n(y5),
.Y6_n(y6),
.Y7_n(y7)
);
assign L = !y3 || !y4 || !y7 || !y6;
endmodule