// DESCRIPTION: Verilator: Verilog Test module
//
// This file ONLY is placed under the Creative Commons Public Domain.
// SPDX-FileCopyrightText: 2009 Wilson Snyder
// SPDX-License-Identifier: CC0-1.0

module t (  /*AUTOARG*/
    // Outputs
    priority_mask,
    // Inputs
    muxed_requests
);

  parameter ARW = 7;

  // verilator lint_off UNOPTFLAT
  integer i, j;

  output reg [ARW-1:0] priority_mask;

  input [ARW-1:0] muxed_requests;

  always @* begin
    for (i = ARW - 1; i > 0; i = i - 1) begin
      priority_mask[i] = 1'b0;
      //   vvvv=== note j=j not j=i; was bug
      for (j = j; j >= 0; j = j - 1) priority_mask[i] = priority_mask[j] | muxed_requests[j];
    end
    //Bit zero is always enabled
    priority_mask[0] = 1'b0;
  end

endmodule

// Local Variables:
// verilog-auto-inst-param-value: t
// End:
