题解 | #优先编码器Ⅰ#
优先编码器Ⅰ
https://www.nowcoder.com/practice/a7068b8f4c824d6a9592f691990b21de
`timescale 1ns/1ns
module encoder_83(
input [7:0] I ,
input EI ,
output reg [2:0] Y ,
output reg GS ,
output reg EO
);
always@(*)(1444584)
begin
if(!EI)
begin
GS = 0;
EO = 0;
Y = 3'b0;
end
else if(I == 8'b0000_0000)
begin
GS = 0;
EO = 1;
Y = 3'b0;
end
else
begin
GS = 1;
EO = 0;
casex(I)
8'b1xxx_xxxx:
begin
Y = 3'b111;
end
8'b01xx_xxxx:
begin
Y = 3'b110;
end
8'b001x_xxxx:
begin
Y = 3'b101;
end
8'b0001_xxxx:
begin
;
Y = 3'b100;
end
8'b0000_1xxx:
begin
Y = 3'b011;
end
8'b0000_01xx:
begin
Y = 3'b010;
end
8'b0000_001x:
begin
Y = 3'b001;
end
8'b0000_0001:
begin
Y = 3'b000;
end
default: Y = 3'b000;
endcase
end
end
endmodule