题解 | #优先编码器Ⅰ#
优先编码器Ⅰ
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 [2:0] YR;
reg GSR,EOR;
always @(*)(1444584) begin
if(!EI) begin
YR=0;
GSR=0;
EOR=0;
end
else if(I==0) begin
YR=0;
GSR=0;
EOR=1;
end
else begin
GSR=1;
EOR=0;
casex(I)
8'b1XXXXXXX: YR=3'b111;
8'b01XXXXXX: YR=3'b110;
8'b001XXXXX: YR=3'b101;
8'b0001XXXX: YR=3'b100;
8'b00001XXX: YR=3'b011;
8'b000001XX: YR=3'b010;
8'b0000001X: YR=3'b001;
8'b00000001: YR=3'b000;
endcase
end
end
assign Y=YR;
assign GS=GSR;
assign EO=EOR;
endmodule

