题解 | #使用3-8译码器①实现逻辑函数#

使用3-8译码器①实现逻辑函数

http://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 reg L ); wire [7:0] out; decoder_38 inst_decoder_38( .E1_n(1'b0), .E2_n(1'b0), .E3(1'b1), .A0(C), .A1(B), .A2(A), .Y0_n(out[0]), .Y1_n(out[1]), .Y2_n(out[2]), .Y3_n(out[3]), .Y4_n(out[4]), .Y5_n(out[5]), .Y6_n(out[6]), .Y7_n(out[7]) ); always @ (*) begin case(1'b0) out[0] : L = 1'b0; out[1] : L = 1'b1; out[2] : L = 1'b0; out[3] : L = 1'b1; out[4] : L = 1'b0; out[5] : L = 1'b0; out[6] : L = 1'b1; out[7] : L = 1'b1; default: L = 1'b0; endcase end endmodule 译码器重点是一一对应,所以将一一对应结果转化为输出即可。

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务