题解 | #实现3-8译码器①#
实现3-8译码器①
https://www.nowcoder.com/practice/89659f98cb124362b1c816f06d5235d0
`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 ); reg Y0; reg Y1; reg Y2; reg Y3; reg Y4; reg Y5; reg Y6; reg Y7; always@(*)begin casez({E3,E2_n,E1_n,A2,A1,A0}) 6'b?_1_?_???:{Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7} = 8'b1111_1111; 6'b?_?_1_???:{Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7} = 8'b1111_1111; 6'b0_?_?_???:{Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7} = 8'b1111_1111; 6'b1_0_0_000:{Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7} = 8'b0111_1111; 6'b1_0_0_001:{Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7} = 8'b1011_1111; 6'b1_0_0_010:{Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7} = 8'b1101_1111; 6'b1_0_0_011:{Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7} = 8'b1110_1111; 6'b1_0_0_100:{Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7} = 8'b1111_0111; 6'b1_0_0_101:{Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7} = 8'b1111_1011; 6'b1_0_0_110:{Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7} = 8'b1111_1101; 6'b1_0_0_111:{Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7} = 8'b1111_1110; default:{Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7} = 8'b1111_1111; endcase end assign Y0_n = Y0; assign Y1_n = Y1; assign Y2_n = Y2; assign Y3_n = Y3; assign Y4_n = Y4; assign Y5_n = Y5; assign Y6_n = Y6; assign Y7_n = Y7; endmodule
对照真值表使用casez语句即可。