j)begin: hh assign second_arbiter_request[i][j] = dest_port [j][i-1] ; //assign second_arbiter_weight_consumed[i][j] =winner_weight_consumed[j]; assign second_arbiter_weight_consumed[i][j] =iport_weight_is_consumed_all[j]; assign granted_dest_port[j][i-1] = second_arbiter_grant [i][j] ; end //if(i==j) wires are left disconnected end else begin :slp assign second_arbiter_request[i][j] = dest_port[j][i]; assign second_arbiter_weight_consumed[i][j] =iport_weight_is_consumed_all[j] ; assign granted_dest_port[j][i] = second_arbiter_grant [i][j] ; end end //second level arbiter swa_output_port_arbiter #( .ARBITER_WIDTH(P_1), .ARBITER_TYPE(SWA_ARBITER_TYPE) // RRA, WRRA ) output_arbiter ( .weight_consumed(second_arbiter_weight_consumed[i]), // only used for WRRA .clk(clk), .reset(reset), .request(second_arbiter_request [i]), .grant(second_arbiter_grant [i]), .any_grant(any_ovc_granted_all [i]) ); //any ivc assign any_ivc_granted_all[i] = | granted_dest_port[i]; assign ivc_granted[i] = (any_ivc_granted_all[i]) ? first_arbiter_grant[i] : {V{1'b0}}; end//for endgenerate custom_or #( .IN_NUM(P), .OUT_WIDTH(P) ) or_dst ( .or_in(single_flit_granted_dst_all), .or_out(granted_dst_is_from_a_single_flit_pck) ); endmodule /******************* * swa_input_port_arbiter * ********************/ module swa_input_port_arbiter #( parameter ARBITER_WIDTH =4, parameter EXT_P_EN = 1, parameter ARBITER_TYPE = "WRRA"// RRA, WRRA )( ext_pr_en_i, // it is used only if the EXT_P_EN is 1 clk, reset, request, grant, any_grant, vc_weight_is_consumed, // only for WRRA winner_weight_consumed // only for WRRA ); input ext_pr_en_i; input [ARBITER_WIDTH-1 : 0] request; output[ARBITER_WIDTH-1 : 0] grant; output any_grant; input clk; input reset; input [ARBITER_WIDTH-1 : 0] vc_weight_is_consumed; output winner_weight_consumed; generate /* verilator lint_off WIDTH */ if(ARBITER_TYPE != "RRA") begin : wrra_m /* verilator lint_on WIDTH */ // one hot mux onehot_mux_1D #( .W(1), .N(ARBITER_WIDTH) ) mux ( .in(vc_weight_is_consumed), .out(winner_weight_consumed), .sel(grant) ); wire priority_en = (EXT_P_EN == 1) ? ext_pr_en_i & winner_weight_consumed : winner_weight_consumed; //round robin arbiter with external priority arbiter_priority_en #( .ARBITER_WIDTH(ARBITER_WIDTH) ) rra ( .request(request), .grant(grant), .any_grant(any_grant), .clk(clk), .reset(reset), .priority_en(priority_en) ); end else begin : rra_m //RRA assign winner_weight_consumed = 1'bx; if(EXT_P_EN==1) begin : arbiter_ext_en arbiter_priority_en #( .ARBITER_WIDTH (ARBITER_WIDTH) ) arb ( .clk (clk), .reset (reset), .request (request), .grant (grant), .any_grant (any_grant ), .priority_en (ext_pr_en_i) ); end else begin: first_lvl_arbiter_internal_en arbiter #( .ARBITER_WIDTH (ARBITER_WIDTH) ) arb ( .clk (clk), .reset (reset), .request (request), .grant (grant), .any_grant (any_grant ) ); end//else end endgenerate endmodule /******************* * swa_output_port_arbiter * ********************/ module swa_output_port_arbiter #( parameter ARBITER_WIDTH =4, parameter ARBITER_TYPE = "WRRA" // RRA, WRRA )( weight_consumed, // only used for WRRA clk, reset, request, grant, any_grant ); input [ARBITER_WIDTH-1 : 0] request; output [ARBITER_WIDTH-1 : 0] grant; output any_grant; input clk; input reset; input [ARBITER_WIDTH-1 : 0] weight_consumed; generate /* verilator lint_off WIDTH */ if(ARBITER_TYPE == "WRRA") begin : wrra_mine /* verilator lint_on WIDTH */ // second level wrra priority is only changed if the granted request weight is consumed wire pr_en; onehot_mux_1D #( .W(1), .N(ARBITER_WIDTH) ) multiplexer ( .in(weight_consumed), .out(pr_en), .sel(grant) ); arbiter_priority_en #( .ARBITER_WIDTH (ARBITER_WIDTH) ) arb ( .clk (clk), .reset (reset), .request (request), .grant (grant), .any_grant (any_grant ), .priority_en (pr_en) ); /* verilator lint_off WIDTH */ end else if(ARBITER_TYPE == "WRRA_CLASSIC") begin : wrra_classic /* verilator lint_on WIDTH */ // use classic WRRA. only for compasrion with propsoed wrra wire [ARBITER_WIDTH-1 : 0] masked_req= request & ~weight_consumed; wire sel = |masked_req; wire [ARBITER_WIDTH-1 : 0] mux_req = (sel==1'b1)? masked_req : request; arbiter #( .ARBITER_WIDTH (ARBITER_WIDTH ) ) arb ( .clk (clk), .reset (reset), .request (mux_req), .grant (grant), .any_grant (any_grant ) ); end else begin : rra_m arbiter #( .ARBITER_WIDTH (ARBITER_WIDTH ) ) arb ( .clk (clk), .reset (reset), .request (request), .grant (grant), .any_grant (any_grant ) ); end endgenerate endmodule
Error running this command: diff -w -U 5 "" "/tmp/TlIRqV"
diff: : No such file or directory