题意整理

①本题要求根据38译码器①的功能表实现该电路,同时要求采用基础逻辑门实现,那么就需要将功能表转换为逻辑表达式。

题解主体

①38译码器

根据该电路的真值表,可列出逻辑表达式,最简结果如下。

Y0_n = ~(E·(~A2)·(~A1)·(~A0));

Y1_n = ~(E·(~A2)·(~A1)·(A0));

Y2_n = ~(E·(~A2)·(A1)·(~A0));

Y3_n = ~(E·(~A2)·(A1)·(A0));

Y4_n = ~(E·(A2)·(~A1)·(~A0));

Y5_n = ~(E·(A2)·(~A1)·(A0));

Y6_n = ~(E·(A2)·(A1)·(~A0));

Y7_n = ~(E·(A2)·(A1)·(A0));

根据电路的真值表和逻辑表达式,关键电路如下:


结合电路图,将电路转换成Verilog代码描述如下:


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);

参考答案

`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