题解 | 使用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_n ;
 wire Y1_n ;
 wire Y2_n ;
 wire Y3_n ;
 wire Y4_n ;
 wire Y5_n ;
 wire Y6_n ;
 wire Y7_n ;

assign L=(~Y1_n )+ (~Y3_n) + (~Y6_n)+ (~Y7_n);
/*

L的输出与Y1_n,Y3_n,Y6_n,Y7_n内容相关;

若Out=(~a0)+(~a1)+(~a2)+(~a3),则:

Out = ~(a0 & a1 & a2 & a3)
*/
decoder_38 decoder_38_inst0(
   .E1_n(1'b0),
   .E2_n(1'b0),
   .E3  (1'b1  ),
   .A0  (C  ),
   .A1  (B  ),
   .A2  (A  ),

   .Y0_n(Y0_n),  
   .Y1_n(Y1_n), 
   .Y2_n(Y2_n), 
   .Y3_n(Y3_n), 
   .Y4_n(Y4_n), 
   .Y5_n(Y5_n), 
   .Y6_n(Y6_n), 
   .Y7_n(Y7_n)
);






endmodule

全部评论

相关推荐

点赞 评论 收藏
分享
07-22 11:12
门头沟学院 Java
不是,我就随手投的怎么还真发面试啊
皮格吉:大厂特别快的——来自已经被共享中
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务