题解 | #使用8线-3线优先编码器Ⅰ实现16线-4线#

使用8线-3线优先编码器Ⅰ实现16线-4线优先编码器

https://www.nowcoder.com/practice/dcfa838e43de4744bc976abee96dc566

`timescale 1ns/1ns
module encoder_83(
   input      [7:0]       I   ,
   input                  EI  ,
   
   output wire [2:0]      Y   ,
   output wire            GS  ,
   output wire            EO    
);
assign Y[2] = EI & (I[7] | I[6] | I[5] | I[4]);
assign Y[1] = EI & (I[7] | I[6] | ~I[5]&~I[4]&I[3] | ~I[5]&~I[4]&I[2]);
assign Y[0] = EI & (I[7] | ~I[6]&I[5] | ~I[6]&~I[4]&I[3] | ~I[6]&~I[4]&~I[2]&I[1]);

assign EO = EI&~I[7]&~I[6]&~I[5]&~I[4]&~I[3]&~I[2]&~I[1]&~I[0];

assign GS = EI&(I[7] | I[6] | I[5] | I[4] | I[3] | I[2] | I[1] | I[0]);
//assign GS = EI&(| I);
         
endmodule

module encoder_164(
   input      [15:0]      A   ,
   input                  EI  ,
   
   output wire [3:0]      L   ,
   output wire            GS  ,
   output wire            EO    
);

//高8位输出
wire [2:0]Y1;
wire GS_1;
wire EO_1;

encoder_83 U1(
    .I(A[15:8]),
    .EI(EI),
    .Y(Y1),
    .GS(GS_1),
    .EO(EO_1)
);

//低8位输出
wire [2:0]Y0;
wire GS_0;
wire EO_0;

encoder_83 U0(
    .I(A[7:0]),
    .EI(EO_1),
    .Y(Y0),
    .GS(GS_0),
    .EO(EO_0)
);



assign L = {GS_1,Y0|Y1} ;
assign EO = EO_0 & EO_1;
assign GS = GS_1 | GS_0;
endmodule



/*
EI  I[15] I[14] I[13] I[12] I[11] I[10] I[9] I[8] I[7] I[6] I[5] I[4] I[3] I[2] I[1] I[0]  Y[3:0] CS EO
0                                                                                          0_000   0  0
1   0     0     0     0     0     0     0    0    0    0    0    0    0    0    0    0     0_000   0  1
1   1     X     X     X     X     X     X    X    X    X    X    X    X    X    X    X     1_111   1  0
1   0     1     X     X     X     X     X    X    X    X    X    X    X    X    X    X     1_110   1  0
1   0     0     1     X     X     X     X    X    X    X    X    X    X    X    X    X     1_101   1  0
1   0     0     0     1     X     X     X    X    X    X    X    X    X    X    X    X     1_100   1  0
1   0     0     0     0     1     X     X    X    X    X    X    X    X    X    X    X     1_011   1  0
1   0     0     0     0     0     1     X    X    X    X    X    X    X    X    X    X     1_010   1  0
1   0     0     0     0     0     0     1    X    X    X    X    X    X    X    X    X     1_001   1  0
1   0     0     0     0     0     0     0    1    X    X    X    X    X    X    X    X     1_000   1  0

1   0     0     0     0     0     0     0    0    1    X    X    X    X    X    X    X     0_111   1  0
1   0     0     0     0     0     0     0    0    0    1    X    X    X    X    X    X     0_110   1  0
1   0     0     0     0     0     0     0    0    0    0    1    X    X    X    X    X     0_101   1  0
1   0     0     0     0     0     0     0    0    0    0    0    1    X    X    X    X     0_100   1  0
1   0     0     0     0     0     0     0    0    0    0    0    0    1    X    X    X     0_011   1  0
1   0     0     0     0     0     0     0    0    0    0    0    0    0    1    X    X     0_010   1  0
1   0     0     0     0     0     0     0    0    0    0    0    0    0    0    1    X     0_001   1  0
1   0     0     0     0     0     0     0    0    0    0    0    0    0    0    0    1     0_000   1  0
*/

/*
EI   I[7] I[6] I[5] I[4] I[3] I[2] I[1] I[0]  Y[2:0] CS EO
0                                              000   0  0
1     0    0    0    0    0    0    0    0     000   0  1
1     1    X    X    X    X    X    X    X     111   1  0
1     0    1    X    X    X    X    X    X     110   1  0
1     0    0    1    X    X    X    X    X     101   1  0
1     0    0    0    1    X    X    X    X     100   1  0
1     0    0    0    0    1    X    X    X     011   1  0
1     0    0    0    0    0    1    X    X     010   1  0
1     0    0    0    0    0    0    1    X     001   1  0
1     0    0    0    0    0    0    0    1     000   1  0
*/

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务