data/full_repos/permissive/13953309/NW_vc_arbiter.v
 line:28: before: "["
1: b"%Error: data/full_repos/permissive/13953309/NW_vc_arbiter.v:29: syntax error, unexpected IDENTIFIER, expecting ';'\n   input flit_priority_t req_priority [np-1:0][nv-1:0]; \n                         ^~~~~~~~~~~~\n%Error: Exiting due to 1 error(s)\n"
module NW_vc_arbiter (request,
		      req_priority, 
		      grant, 
		      vc_allocated, 

		      clk, rst_n);

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


   
   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] 	   vc_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, vc, op;

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

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


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



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

      NW_tree_arbiter #(.multistage(multistage),
			.size(np*nv),
			.groupsize(nv),
			.priority_support(dynamic_priority_vc_alloc)


			) vcarb
	(.request(output_req[op]),
	 .req_priority(req_priority),
	 .grant(output_grant[op]),
	 .success(vc_allocated[op]),
	 .clk, .rst_n);


   end

   endgenerate
   
endmodule
module NW_vc_arbiter (request,
		      req_priority, 
		      grant, 
		      vc_allocated, 

		      clk, rst_n);


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


   
   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] 	   vc_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, vc, op;

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

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


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



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

      NW_tree_arbiter #(.multistage(multistage),
			.size(np*nv),
			.groupsize(nv),
			.priority_support(dynamic_priority_vc_alloc)


			) vcarb
	(.request(output_req[op]),
	 .req_priority(req_priority),
	 .grant(output_grant[op]),
	 .success(vc_allocated[op]),
	 .clk, .rst_n);


   end

   endgenerate
   
endmodule