题解 | #优先编码器Ⅰ#
优先编码器Ⅰ
https://www.nowcoder.com/practice/a7068b8f4c824d6a9592f691990b21de
将输出打包起来比较简洁:
`timescale 1ns/1ns
module encoder_83(
input [7:0] I ,
input EI ,
output wire [2:0] Y ,
output wire GS ,
output wire EO
);
reg [4:0] T; //T={Y,GS,EO}
always@(*)begin
if(!EI)begin
T = 5'b0;
end
else begin
casex(I)
8'b0000_0000: T = 5'b0_0001;
8'b1xxx_xxxx: T = 5'b1_1110;
8'b01xx_xxxx: T = 5'b1_1010;
8'b001x_xxxx: T = 5'b1_0110;
8'b0001_xxxx: T = 5'b1_0010;
8'b0000_1xxx: T = 5'b0_1110;
8'b0000_01xx: T = 5'b0_1010;
8'b0000_001x: T = 5'b0_0110;
8'b0000_0001: T = 5'b0_0010;
endcase
end
end
assign {Y,GS,EO} = T;
endmodule


查看16道真题和解析