题解 | #使用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 */