Files
vortex/hw/rtl/libs/VX_priority_encoder.v
2020-07-28 14:20:23 -07:00

23 lines
502 B
Verilog

`include "VX_platform.vh"
module VX_priority_encoder #(
parameter N = 1
) (
input wire [N-1:0] data_in,
output reg [`LOG2UP(N)-1:0] data_out,
output reg valid_out
);
integer i;
always @(*) begin
data_out = 0;
valid_out = 0;
for (i = N-1; i >= 0; i = i - 1) begin
if (data_in[i]) begin
data_out = `LOG2UP(N)'(i);
valid_out = 1;
end
end
end
endmodule