data/full_repos/permissive/13952960/lib/LAG_pl_arbiter.v
 line:25: before: "flit_priority_t"
1: b"%Error: data/full_repos/permissive/13952960/lib/LAG_pl_arbiter.v:25: Parameter type's initial value isn't a type: 'flit_priority_t'\n   parameter type flit_priority_t = flit_pri_t;\n                  ^~~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/13952960/lib/LAG_pl_arbiter.v:28: Can't find typedef: 'flit_priority_t'\n   input flit_priority_t req_priority [np-1:0][nv-1:0]; \n         ^~~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/13952960/lib/LAG_pl_arbiter.v:45: Can't find definition of task/function: 'LAG_route_valid_turn'\n     assign output_req[op][ip*nv+pl] = (LAG_route_valid_turn(ip, op)) ? request[ip][pl][op] : 1'b0;\n                                        ^~~~~~~~~~~~~~~~~~~~\n%Error: Exiting due to 3 error(s)\n"
module LAG_pl_arbiter (request,
		      req_priority, 
		      grant, 
		      pl_allocated, 
		      clk, rst_n);

   parameter np=5;
   parameter nv=4;
   parameter multistage=2;
   parameter dynamic_priority_pl_alloc=0;

   parameter type flit_priority_t = flit_pri_t;
   
   input [np-1:0][nv-1:0][np-1:0] request;
   input flit_priority_t req_priority [np-1:0][nv-1:0]; 
   output [np-1:0][nv-1:0][np-1:0] grant;

   input [np-1:0] 	   pl_allocated;
   input clk, rst_n;


   wire [np*nv-1:0] output_req [np-1:0];
   wire [np*nv-1:0] output_grant [np-1:0];

   genvar ip, pl, op;

   generate
   for (ip=0; ip<np; ip=ip+1) begin:i
      for (pl=0; pl<nv; pl=pl+1) begin:v
	 for (op=0; op<np; op=op+1) begin:o

	    assign output_req[op][ip*nv+pl] = (LAG_route_valid_turn(ip, op)) ? request[ip][pl][op] : 1'b0;


	    assign grant[ip][pl][op]=output_grant[op][ip*nv+pl];
	 end
      end
   end
  



   for (op=0; op<np; op=op+1) begin:o2

      LAG_tree_arbiter #(.multistage(multistage),
			.size(np*nv),
			.groupsize(nv),
			.priority_support(dynamic_priority_pl_alloc),
			.priority_type(flit_priority_t)) plarb
	(.request(output_req[op]),
	 .req_priority(req_priority),
	 .grant(output_grant[op]),
	 .success(pl_allocated[op]),
	 .clk, .rst_n);

   end

   endgenerate
   
endmodule
module LAG_pl_arbiter (request,
		      req_priority, 
		      grant, 
		      pl_allocated, 
		      clk, rst_n);


   parameter np=5;
   parameter nv=4;
   parameter multistage=2;
   parameter dynamic_priority_pl_alloc=0;

   parameter type flit_priority_t = flit_pri_t;
   
   input [np-1:0][nv-1:0][np-1:0] request;
   input flit_priority_t req_priority [np-1:0][nv-1:0]; 
   output [np-1:0][nv-1:0][np-1:0] grant;

   input [np-1:0] 	   pl_allocated;
   input clk, rst_n;


   wire [np*nv-1:0] output_req [np-1:0];
   wire [np*nv-1:0] output_grant [np-1:0];

   genvar ip, pl, op;

   generate
   for (ip=0; ip<np; ip=ip+1) begin:i
      for (pl=0; pl<nv; pl=pl+1) begin:v
	 for (op=0; op<np; op=op+1) begin:o

	    assign output_req[op][ip*nv+pl] = (LAG_route_valid_turn(ip, op)) ? request[ip][pl][op] : 1'b0;


	    assign grant[ip][pl][op]=output_grant[op][ip*nv+pl];
	 end
      end
   end
  



   for (op=0; op<np; op=op+1) begin:o2

      LAG_tree_arbiter #(.multistage(multistage),
			.size(np*nv),
			.groupsize(nv),
			.priority_support(dynamic_priority_pl_alloc),
			.priority_type(flit_priority_t)) plarb
	(.request(output_req[op]),
	 .req_priority(req_priority),
	 .grant(output_grant[op]),
	 .success(pl_allocated[op]),
	 .clk, .rst_n);

   end

   endgenerate
   
endmodule