简析

思路和用3-8译码器实现全减器是一样的,甚至还要再简单些。使能状态下,E3=1E3=1E2n=0E2_n=0E1n=0E1_n=0,译码器的表达式为:

{Y0n=A2 A1 A0,Y1n=A2 A1 A0,Y2n=A2 A1 A0,Y3n=A2 A1 A0,Y4n=A2 A1 A0,Y5n=A2 A1 A0,Y6n=A2 A1 A0,Y7n=A2 A1 A0,\left\{ \begin{array}{lr} Y0_n=\overline{\overline{A_2}\ \overline{A_1}\ \overline{A_0}}, \\ Y1_n=\overline{\overline{A_2}\ \overline{A_1}\ A_0}, \\ Y2_{n}=\overline{\overline{A_2}\ A_1\ \overline{A_0}}, \\ Y3_{n}=\overline{\overline{A_2}\ A_1\ A_0}, \\ Y4_{n}=\overline{A_2\ \overline{A_1}\ \overline{A_0}}, \\ Y5_{n}=\overline{A_2\ \overline{A_1}\ A_0}, \\ Y6_{n}=\overline{A_2\ A_1\ \overline{A_0}}, \\ Y7_{n}=\overline{A_2\ A_1\ A_0}, \\ \end{array} \right.

然后,标准化题目要求的逻辑函数:

L=AC+AB=CBA+CB A+CBA+CBAL=\overline{A}C+AB=CB\overline{A}+C\overline{B}\ \overline{A}+CBA+\overline{C}BA

如果,CCBBAA分别接入3-8译码器的A2A2A1A1A0A0,则有:

L=Y3n+Y4n+Y6n+Y7nL=\overline{Y3_n}+\overline{Y4_n}+\overline{Y6_n}+\overline{Y7_n}

代码

module decoder0(
   input             A     ,
   input             B     ,
   input             C     ,
   
   output wire       L
);
    wire [7:0] Y;
    assign L = ~Y[3] + ~Y[4] + ~Y[6] + ~Y[7];
    decoder_38 myDecoder(
        .E1_n( 0  ),
        .E2_n( 0  ),
        .E3  ( 1  ),
        .A0  ( A  ),
        .A1  ( B  ),
        .A2  ( C  ),
        
        .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])
    );
endmodule