VL16 使用8线-3线优先编码器Ⅰ实现16线-4线优先编码器:
②请使用2片该优先编码器Ⅰ及必要的逻辑电路实现16线-4线优先编码器。优先编码器Ⅰ的真值表和代码已给出。
可将优先编码器Ⅰ的代码添加到本题答案中,并例化。
wire [2:0] y1, y2;
wire gs1, gs2, eo;
encoder_83 encode1(
.I (A[7:0]),
.EI (eo),
.Y (y1),
.GS (gs1),
.EO (EO)
);
encoder_83 encode2(
.I (A[15:8]),
.EI (EI),
.Y (y2),
.GS (gs2),
.EO (eo)
);
assign L[3] = gs2;
assign L[2] = y2[2] | y1[2];
assign L[1] = y2[1] | y1[1];
assign L[0] = y2[0] | y1[0];
assign GS = gs1 | gs2;//参考电路图
VL17 用3-8译码器实现全减器:请使用3-8译码器和必要的逻辑门实现全减器,全减器接口图如下,A是被减数,B是减数,Ci是来自低位的借位,D是差,Co是向高位的借位。
wire [7:0] yo;
decoder_38 decode(
. E (1'b1),
. A0 (Ci),
. A1 (B),
. A2 (A),
.Y0n (yo[0]),
.Y1n (yo[1]),
.Y2n (yo[2]),
.Y3n (yo[3]),
.Y4n (yo[4]),
.Y5n (yo[5]),
.Y6n (yo[6]),
.Y7n (yo[7])
);
assign D = ~(yo[1] & yo[2] & yo[4] & yo[7]);
assign Co = ~(yo[1] & yo[2] & yo[3] & yo[7]);
VL18 实现3-8译码器①:74HC138译码器
assign Y0_n = (E1_n | E2_n | ~E3)? 1 : (({A2, A1, A0}==3'b000)?0:1);
assign Y1_n = (E1_n | E2_n | ~E3)? 1 : (({A2, A1, A0}==3'b001)?0:1);
assign Y2_n = (E1_n | E2_n | ~E3)? 1 : (({A2, A1, A0}==3'b010)?0:1);
assign Y3_n = (E1_n | E2_n | ~E3)? 1 : (({A2, A1, A0}==3'b011)?0:1);
assign Y4_n = (E1_n | E2_n | ~E3)? 1 : (({A2, A1, A0}==3'b100)?0:1);
assign Y5_n = (E1_n | E2_n | ~E3)? 1 : (({A2, A1, A0}==3'b101)?0:1);
assign Y6_n = (E1_n | E2_n | ~E3)? 1 : (({A2, A1, A0}==3'b110)?0:1);
assign Y7_n = (E1_n | E2_n | ~E3)? 1 : (({A2, A1, A0}==3'b111)?0:1);
assign Y0_n = ~((~E1_n & ~E2_n & E3) & ~A2 & ~A1 & ~A0);
assign Y1_n = ~((~E1_n & ~E2_n & E3) & ~A2 & ~A1 & A0);
assign Y2_n = ~((~E1_n & ~E2_n & E3) & ~A2 & A1 & ~A0);
assign Y3_n = ~((~E1_n & ~E2_n & E3) & ~A2 & A1 & A0);
assign Y4_n = ~((~E1_n & ~E2_n & E3) & A2 & ~A1 & ~A0);
assign Y5_n = ~((~E1_n & ~E2_n & E3) & A2 & ~A1 & A0);
assign Y6_n = ~((~E1_n & ~E2_n & E3) & A2 & A1 & ~A0);
assign Y7_n = ~((~E1_n & ~E2_n & E3) & A2 & A1 & A0);
VL19 使用3-8译码器①实现逻辑函数:②请使用3-8译码器①和必要的逻辑门实现函数L=(~A)·C+A·B
wire [7:0] y;
decoder_38 decode(
.E1_n (1'b0),
.E2_n (1'b0),
.E3 (1'b1),
.A0 (C),
.A1 (B),
.A2 (A),
.Y0_n (y[0]),
.Y1_n (y[1]),
.Y2_n (y[2]),
.Y3_n (y[3]),
.Y4_n (y[4]),
.Y5_n (y[5]),
.Y6_n (y[6]),
.Y7_n (y[7])
);
assign L = ~(y[1]&y[3]&y[6]&y[7]);
VL20 数据选择器实现逻辑电路:
请使用此4选1数据选择器和必要的逻辑门实现下列表达式。
L=A∙B+A∙~C+B∙C
data_sel exp(
.S0 (B),
.S1 (A),
.D0 (0),
.D1 (C),
.D2 (~C),
.D3 (1),
.Y (L)
);