def instantiate_routers(noc_file, network_dime_x, network_dime_y, vc): """ Instantiates the different routers based on the specified configuration! noc_file: string : destination file network_dime_x: integer : No. of nodes alone X axis network_dime_y: integer : No. of nodes alone Y axis """ noc_file.write("-- instantiating the routers\n") for i in range(0, network_dime_x * network_dime_y): noc_file.write( "R_" + str(i) + ": router_credit_based generic map (DATA_WIDTH => DATA_WIDTH, ") noc_file.write( "current_address=>" + str(i) + ", " + "Cx_rst => " + str(cx_rst_calculator(i, network_dime_x, network_dime_y)) + ",Rxy_rst => 60, NoC_size_x => " + str(network_dime_x) + ")\n") noc_file.write("PORT MAP (reset, clk, \n") noc_file.write("\tRX_N_" + str(i) + ", RX_E_" + str(i) + ", RX_W_" + str(i) + ", RX_S_" + str(i) + ", RX_L_" + str(i) + ",\n") noc_file.write("\tcredit_in_N_" + str(i) + ", credit_in_E_" + str(i) + ", credit_in_W_" + str(i) + ", credit_in_S_" + str(i) + ", credit_in_L_" + str(i) + ",\n") noc_file.write("\tvalid_in_N_" + str(i) + ", valid_in_E_" + str(i) + ", valid_in_W_" + str(i) + ", valid_in_S_" + str(i) + ", valid_in_L_" + str(i) + ",\n") noc_file.write("\tvalid_out_N_" + str(i) + ", valid_out_E_" + str(i) + ", valid_out_W_" + str(i) + ", valid_out_S_" + str(i) + ", valid_out_L_" + str(i) + ",\n") noc_file.write("\tcredit_out_N_" + str(i) + ", credit_out_E_" + str(i) + ", credit_out_W_" + str(i) + ", credit_out_S_" + str(i) + ", credit_out_L_" + str(i) + ",\n") if vc: noc_file.write("\tcredit_in_vc_N_" + str(i) + ", credit_in_vc_E_" + str(i) + ", credit_in_vc_W_" + str(i) + ", credit_in_vc_S_" + str(i) + ", credit_in_vc_L_" + str(i) + ",\n") noc_file.write("\tvalid_in_vc_N_" + str(i) + ", valid_in_vc_E_" + str(i) + ", valid_in_vc_W_" + str(i) + ", valid_in_vc_S_" + str(i) + ", valid_in_vc_L_" + str(i) + ",\n") noc_file.write("\tvalid_out_vc_N_" + str(i) + ", valid_out_vc_E_" + str(i) + ", valid_out_vc_W_" + str(i) + ", valid_out_vc_S_" + str(i) + ", valid_out_vc_L_" + str(i) + ",\n") noc_file.write("\tcredit_out_vc_N_" + str(i) + ", credit_out_vc_E_" + str(i) + ", credit_out_vc_W_" + str(i) + ", credit_out_vc_S_" + str(i) + ", credit_out_vc_L_" + str(i) + ",\n") noc_file.write("\tTX_N_" + str(i) + ", TX_E_" + str(i) + ", TX_W_" + str(i) + ", TX_S_" + str(i) + ", TX_L_" + str(i)) noc_file.write("); \n\n") noc_file.write("\n")
def instantiate_routers(noc_file, network_dime_x, network_dime_y, vc): """ Instantiates the different routers based on the specified configuration! noc_file: string : destination file network_dime_x: integer : No. of nodes alone X axis network_dime_y: integer : No. of nodes alone Y axis """ noc_file.write("-- instantiating the routers\n") for i in range(0, network_dime_x * network_dime_y): noc_file.write("R_" + str(i) + ": router_credit_based generic map (DATA_WIDTH => DATA_WIDTH, ") noc_file.write("current_address=>" + str(i) + ", " + "Cx_rst => " + str(cx_rst_calculator(i, network_dime_x, network_dime_y)) + ", Rxy_rst => 60, NoC_size_x => " + str(network_dime_x)+")\n") noc_file.write("PORT MAP (reset, clk, \n") noc_file.write("\tRX_N_" + str(i) + ", RX_E_"+str(i) + ", RX_W_" + str(i) + ", RX_S_" + str(i) + ", RX_L_" + str(i) + ",\n") noc_file.write("\tcredit_in_N_" + str(i) + ", credit_in_E_" + str(i) + ", credit_in_W_" + str(i) + ", credit_in_S_" + str(i) + ", credit_in_L_" + str(i) + ",\n") noc_file.write("\tvalid_in_N_" + str(i) + ", valid_in_E_" + str(i) + ", valid_in_W_" + str(i) + ", valid_in_S_" + str(i) + ", valid_in_L_" + str(i) + ",\n") noc_file.write("\tvalid_out_N_" + str(i) + ", valid_out_E_" + str(i) + ", valid_out_W_" + str(i) + ", valid_out_S_" + str(i) + ", valid_out_L_" + str(i) + ",\n") noc_file.write("\tcredit_out_N_" + str(i) + ", credit_out_E_" + str(i) + ", credit_out_W_" + str(i) + ", credit_out_S_" + str(i) + ", credit_out_L_" + str(i) + ",\n") if vc: noc_file.write("\tcredit_in_vc_N_" + str(i) + ", credit_in_vc_E_" + str(i) + ", credit_in_vc_W_" + str(i) + ", credit_in_vc_S_" + str(i) + ", credit_in_vc_L_" + str(i) + ",\n") noc_file.write("\tvalid_in_vc_N_" + str(i) + ", valid_in_vc_E_" + str(i) + ", valid_in_vc_W_" + str(i) + ", valid_in_vc_S_" + str(i) + ", valid_in_vc_L_" + str(i) + ",\n") noc_file.write("\tvalid_out_vc_N_" + str(i) + ", valid_out_vc_E_" + str(i) + ", valid_out_vc_W_" + str(i) + ", valid_out_vc_S_" + str(i) + ", valid_out_vc_L_" + str(i) + ",\n") noc_file.write("\tcredit_out_vc_N_" + str(i) + ", credit_out_vc_E_" + str(i) + ", credit_out_vc_W_" + str(i) + ", credit_out_vc_S_" + str(i) + ", credit_out_vc_L_" + str(i) + ",\n") noc_file.write("\tTX_N_" + str(i) + ", TX_E_" + str(i) + ", TX_W_" + str(i) + ", TX_S_" + str(i) + ", TX_L_"+str(i)) noc_file.write("); \n\n") noc_file.write("\n")
def instantiate_lv_routers(noc_file, network_dime): noc_file.write("-- instantiating the LV routers\n") for i in range(0, network_dime**2): noc_file.write( "R_lv_" + str(i) + ": router_LV generic map (DATA_WIDTH => DATA_WIDTH_LV, \n" "current_address =>" + str(i) + ", Rxy_rst => " + str(rxy_rst_calculator(i)) + ", Cx_rst =>" + str(cx_rst_calculator(i, network_dime)) + ", \n NoC_size =>" + str(network_dime) + ")") noc_file.write(" PORT MAP (reset, clk, RX_LV_N" + str(i) + ", RX_LV_E" + str(i) + ", RX_LV_W" + str(i) + ", RX_LV_S" + str(i) + ", RX_LV_L" + str(i) + ",\n ") noc_file.write("") noc_file.write(" credit_in_LV_N" + str(i) + ", credit_in_LV_E" + str(i) + ", credit_in_LV_W" + str(i) + ", credit_in_LV_S" + str(i) + ", credit_in_LV_" + str(i) + ",\n") noc_file.write(" valid_in_LV_N" + str(i) + ", valid_in_LV_E" + str(i) + ", valid_in_LV_W" + str(i) + ", valid_in_LV_S" + str(i) + ", valid_in_LV_L" + str(i) + ",\n") noc_file.write("") noc_file.write(" valid_out_LV_N" + str(i) + ", valid_out_LV_E" + str(i) + ", valid_out_LV_W" + str(i) + ", valid_out_LV_S" + str(i) + ", valid_out_LV_" + str(i) + ",\n") noc_file.write(" credit_out_LV_N" + str(i) + ", credit_out_LV_E" + str(i) + ", credit_out_LV_W" + str(i) + ", credit_out_LV_S" + str(i) + ", credit_out_LV_L" + str(i) + ",\n") noc_file.write("") noc_file.write(" TX_LV_N" + str(i) + ", TX_LV_E" + str(i) + ", TX_LV_W" + str(i) + ", TX_LV_S" + str(i) + ", TX_LV_" + str(i) + "\n") noc_file.write(" ); \n")
def instantiate_routers(noc_file, network_dime, add_parity, add_lv): if add_lv: for i in range(0, network_dime**2): noc_file.write("R_" + str(i) + ": router_credit_based_parity_lv \n") noc_file.write(" generic map (DATA_WIDTH =>DATA_WIDTH, ") noc_file.write(" current_address => " + str(i) + ", Rxy_rst => " + str(rxy_rst_calculator(i)) + ",\n") noc_file.write(" Cx_rst => " + str(cx_rst_calculator(i, network_dime)) + ", NoC_size => " + str(network_dime) + ")\n") noc_file.write(" port map(\n") noc_file.write(" reset, clk,\n") noc_file.write("\tRX_N_" + str(i) + ", RX_E_" + str(i) + ", RX_W_" + str(i) + ", RX_S_" + str(i) + ", RX_L_" + str(i) + ",\n") noc_file.write("\tcredit_in_N_" + str(i) + ", credit_in_E_" + str(i) + ", credit_in_W_" + str(i) + ", credit_in_S_" + str(i) + ", credit_in_L_" + str(i) + ",\n") noc_file.write("\tvalid_in_N_" + str(i) + ", valid_in_E_" + str(i) + ", valid_in_W_" + str(i) + ", valid_in_S_" + str(i) + ", valid_in_L_" + str(i) + ",\n") noc_file.write("\tvalid_out_N_" + str(i) + ", valid_out_E_" + str(i) + ", valid_out_W_" + str(i) + ", valid_out_S_" + str(i) + ", valid_out_L_" + str(i) + ",\n") noc_file.write("\tcredit_out_N_" + str(i) + ", credit_out_E_" + str(i) + ", credit_out_W_" + str(i) + ", credit_out_S_" + str(i) + ", credit_out_L_" + str(i) + ",\n") noc_file.write("\tTX_N_" + str(i) + ", TX_E_" + str(i) + ", TX_W_" + str(i) + ", TX_S_" + str(i) + ", TX_L_" + str(i) + ",") # todo: bellow this line should be fixed! noc_file.write(" ------------------------- lV network port\n") noc_file.write( " -- the router just sends the packets out. no need for any incomming packets support. \n" ) noc_file.write( " -- the output of the LV network will be connected to the PEs\n" ) noc_file.write("\n") noc_file.write(" credit_out_LV_L" + str(i) + ",\n") noc_file.write(" valid_in_LV_L" + str(i) + ",\n") noc_file.write(" RX_LV_L" + str(i) + "\n") noc_file.write(" ); \n") else: noc_file.write("-- instantiating the routers\n") for i in range(0, network_dime**2): if add_parity: noc_file.write( "R_" + str(i) + ": router_credit_based_parity generic map (DATA_WIDTH => DATA_WIDTH, " ) else: noc_file.write( "R_" + str(i) + ": router_credit_based generic map (DATA_WIDTH => DATA_WIDTH, " ) noc_file.write("current_address=>" + str(i) + ", Rxy_rst => " + str(rxy_rst_calculator(i)) + ", " + "Cx_rst => " + str(cx_rst_calculator(i, network_dime)) + ", NoC_size=>" + str(network_dime) + ")\n") noc_file.write("PORT MAP (reset, clk, \n") noc_file.write("\tRX_N_" + str(i) + ", RX_E_" + str(i) + ", RX_W_" + str(i) + ", RX_S_" + str(i) + ", RX_L_" + str(i) + ",\n") noc_file.write("\tcredit_in_N_" + str(i) + ", credit_in_E_" + str(i) + ", credit_in_W_" + str(i) + ", credit_in_S_" + str(i) + ", credit_in_L_" + str(i) + ",\n") noc_file.write("\tvalid_in_N_" + str(i) + ", valid_in_E_" + str(i) + ", valid_in_W_" + str(i) + ", valid_in_S_" + str(i) + ", valid_in_L_" + str(i) + ",\n") noc_file.write("\tvalid_out_N_" + str(i) + ", valid_out_E_" + str(i) + ", valid_out_W_" + str(i) + ", valid_out_S_" + str(i) + ", valid_out_L_" + str(i) + ",\n") noc_file.write("\tcredit_out_N_" + str(i) + ", credit_out_E_" + str(i) + ", credit_out_W_" + str(i) + ", credit_out_S_" + str(i) + ", credit_out_L_" + str(i) + ",\n") if add_parity: noc_file.write("\tTX_N_" + str(i) + ", TX_E_" + str(i) + ", TX_W_" + str(i) + ", TX_S_" + str(i) + ", TX_L_" + str(i) + ",\n") noc_file.write("\tfaulty_packet_N" + str(i) + ", faulty_packet_E" + str(i) + ", faulty_packet_W" + str(i) + ", faulty_packet_S" + str(i) + ", faulty_packet_L" + str(i) + ",\n") noc_file.write("\thealthy_packet_N" + str(i) + ", healthy_packet_E" + str(i) + ", healthy_packet_W" + str(i) + ", healthy_packet_S" + str(i) + ", healthy_packet_L" + str(i) + "\n") else: noc_file.write("\tTX_N_" + str(i) + ", TX_E_" + str(i) + ", TX_W_" + str(i) + ", TX_S_" + str(i) + ", TX_L_" + str(i)) noc_file.write("); \n\n") noc_file.write("\n")
def instantiate_routers(noc_file, network_dime, add_parity, add_packet_drop, add_FC, add_SHMU, healthy_counter_threshold, faulty_counter_threshold, counter_depth): """ Instantiates the different routers based on the specified configuration! noc_file: string : destination file network_dime: integer : network size add_parity, add_packet_drop, add_FC, add_SHMU: boolean: configuration of the system! healthy_counter_threshold, faulty_counter_threshold, counter_depth: integer: for setting up counter-threshold unit """ if add_packet_drop and add_FC and not add_SHMU: for i in range(0, network_dime**2): string_to_print = "" string_to_print += "R_"+str(i)+": router_credit_based_PD_C \n" string_to_print += " generic map (DATA_WIDTH =>DATA_WIDTH, " string_to_print += " current_address => "+str(i)+",\n" string_to_print += " Cx_rst => "+str(cx_rst_calculator(i, network_dime)) +\ ", NoC_size => "+str(int(math.log(network_dime*network_dime, 2)))+", healthy_counter_threshold => "+str(healthy_counter_threshold) +\ ", faulty_counter_threshold => "+str(faulty_counter_threshold) +\ ", counter_depth => "+str(counter_depth)+")\n" string_to_print += " port map(\n" string_to_print += " reset, clk,\n" string_to_print += " Rxy_reconf, Reconfig,\n" string_to_print += "\tRX_N_"+str(i)+", RX_E_"+str(i)+", RX_W_"+str(i)+", RX_S_"+str(i)+", RX_L_"+str(i)+",\n" string_to_print += "\tcredit_in_N_"+str(i)+", credit_in_E_"+str(i)+", credit_in_W_"+str(i) + \ ", credit_in_S_"+str(i)+", credit_in_L_"+str(i)+",\n" string_to_print += "\tvalid_in_N_"+str(i)+", valid_in_E_"+str(i)+", valid_in_W_"+str(i) + \ ", valid_in_S_"+str(i)+", valid_in_L_"+str(i)+",\n" string_to_print += "\tvalid_out_N_"+str(i)+", valid_out_E_"+str(i)+", valid_out_W_"+str(i) + \ ", valid_out_S_"+str(i)+", valid_out_L_"+str(i)+",\n" string_to_print += "\tcredit_out_N_"+str(i)+", credit_out_E_"+str(i)+", credit_out_W_"+str(i) + \ ", credit_out_S_"+str(i)+", credit_out_L_"+str(i)+",\n" string_to_print += "\tTX_N_"+str(i)+", TX_E_"+str(i)+", TX_W_"+str(i)+", TX_S_"+str(i)+", TX_L_"+str(i)+",\n" north_node = i - network_dime south_node = i + network_dime west_node = i - 1 east_node = i + 1 string_to_print += "\t" string_to_print += "Faulty_N_in"+str(i)+"," string_to_print += "Faulty_E_in"+str(i)+"," string_to_print += "Faulty_W_in"+str(i)+"," string_to_print += "Faulty_S_in"+str(i)+"," string_to_print += "\n" string_to_print += "\t" string_to_print += "Faulty_N_out"+str(i)+"," string_to_print += "Faulty_E_out"+str(i)+"," string_to_print += "Faulty_W_out"+str(i)+"," string_to_print += "Faulty_S_out"+str(i) string_to_print += " ); \n" noc_file.write(string_to_print) elif add_SHMU: for i in range(0, network_dime**2): string_to_print = "" string_to_print += "R_"+str(i)+": router_credit_based_PD_C_SHMU \n" string_to_print += " generic map (DATA_WIDTH =>DATA_WIDTH, " string_to_print += " current_address => "+str(i)+", Rxy_rst => " + str(rxy_rst_calculator(i))+",\n" string_to_print += " Cx_rst => "+str(cx_rst_calculator(i, network_dime)) +\ ", NoC_size => "+str(int(math.log(network_dime*network_dime, 2)))+", healthy_counter_threshold => "+str(healthy_counter_threshold) +\ ", faulty_counter_threshold => "+str(faulty_counter_threshold) +\ ", counter_depth => "+str(counter_depth)+")\n" string_to_print += " port map(\n" string_to_print += " reset, clk,\n" string_to_print += "\tRX_N_"+str(i)+", RX_E_"+str(i)+", RX_W_"+str(i)+", RX_S_"+str(i)+", RX_L_"+str(i)+",\n" string_to_print += "\tcredit_in_N_"+str(i)+", credit_in_E_"+str(i)+", credit_in_W_"+str(i) + \ ", credit_in_S_"+str(i)+", credit_in_L_"+str(i)+",\n" string_to_print += "\tvalid_in_N_"+str(i)+", valid_in_E_"+str(i)+", valid_in_W_"+str(i) + \ ", valid_in_S_"+str(i)+", valid_in_L_"+str(i)+",\n" string_to_print += "\tvalid_out_N_"+str(i)+", valid_out_E_"+str(i)+", valid_out_W_"+str(i) + \ ", valid_out_S_"+str(i)+", valid_out_L_"+str(i)+",\n" string_to_print += "\tcredit_out_N_"+str(i)+", credit_out_E_"+str(i)+", credit_out_W_"+str(i) + \ ", credit_out_S_"+str(i)+", credit_out_L_"+str(i)+",\n" string_to_print += "\tTX_N_"+str(i)+", TX_E_"+str(i)+", TX_W_"+str(i)+", TX_S_"+str(i)+", TX_L_"+str(i)+",\n" string_to_print += "\t" string_to_print += "Faulty_N_in"+str(i)+"," string_to_print += "Faulty_E_in"+str(i)+"," string_to_print += "Faulty_W_in"+str(i)+"," string_to_print += "Faulty_S_in"+str(i)+"," string_to_print += "\n" string_to_print += "\t" string_to_print += "Faulty_N_out"+str(i)+"," string_to_print += "Faulty_E_out"+str(i)+"," string_to_print += "Faulty_W_out"+str(i)+"," string_to_print += "Faulty_S_out"+str(i)+"," string_to_print += "\n" string_to_print += "\t-- should be connected to NI\n" string_to_print += "\tlink_faults_"+str(i)+", turn_faults_"+str(i)+",\n" string_to_print += "\tRxy_reconf_PE_"+str(i)+", Cx_reconf_PE_"+str(i)+", Reconfig_command_"+str(i)+"\n" string_to_print += " ); \n" noc_file.write(string_to_print) else: noc_file.write("-- instantiating the routers\n") for i in range(0, network_dime**2): if add_parity: noc_file.write("R_"+str(i)+": router_credit_based_parity generic map (DATA_WIDTH => DATA_WIDTH, ") else: noc_file.write("R_"+str(i)+": router_credit_based generic map (DATA_WIDTH => DATA_WIDTH, ") noc_file.write("current_address=>"+str(i)+", " + "Cx_rst => "+str(cx_rst_calculator(i, network_dime))+", NoC_size=>"+str(int(math.log(network_dime*network_dime, 2)))+")\n") noc_file.write("PORT MAP (reset, clk, \n") noc_file.write(" Rxy_reconf, Reconfig,\n") noc_file.write("\tRX_N_"+str(i)+", RX_E_"+str(i)+", RX_W_"+str(i)+", RX_S_"+str(i)+", RX_L_"+str(i)+",\n") noc_file.write("\tcredit_in_N_"+str(i)+", credit_in_E_"+str(i)+", credit_in_W_"+str(i) + ", credit_in_S_"+str(i)+", credit_in_L_"+str(i)+",\n") noc_file.write("\tvalid_in_N_"+str(i)+", valid_in_E_"+str(i)+", valid_in_W_"+str(i) + ", valid_in_S_"+str(i)+", valid_in_L_"+str(i)+",\n") noc_file.write("\tvalid_out_N_"+str(i)+", valid_out_E_"+str(i)+", valid_out_W_"+str(i) + ", valid_out_S_"+str(i)+", valid_out_L_"+str(i)+",\n") noc_file.write("\tcredit_out_N_"+str(i)+", credit_out_E_"+str(i)+", credit_out_W_"+str(i) + ", credit_out_S_"+str(i)+", credit_out_L_"+str(i)+",\n") if add_parity: noc_file.write("\tTX_N_"+str(i)+", TX_E_"+str(i)+", TX_W_"+str(i)+", TX_S_"+str(i)+", TX_L_"+str(i)+",\n") noc_file.write("\tfaulty_packet_N"+str(i)+", faulty_packet_E"+str(i)+", faulty_packet_W"+str(i) + ", faulty_packet_S"+str(i)+", faulty_packet_L"+str(i)+",\n") noc_file.write("\thealthy_packet_N"+str(i)+", healthy_packet_E"+str(i)+", healthy_packet_W"+str(i) + ", healthy_packet_S"+str(i)+", healthy_packet_L"+str(i)+"\n") else: noc_file.write("\tTX_N_"+str(i)+", TX_E_"+str(i)+", TX_W_"+str(i)+", TX_S_"+str(i)+", TX_L_"+str(i)) noc_file.write("); \n\n") noc_file.write("\n")
def instantiate_routers(noc_file, network_dime_x, network_dime_y, fifo_depth, routing): """ Instantiates the different routers based on the specified configuration! noc_file: string : destination file network_dime_x: integer : No. of nodes alone X axis network_dime_y: integer : No. of nodes alone Y axis """ noc_file.write("-- instantiating the routers\n") for i in range(0, network_dime_x * network_dime_y): noc_file.write( "R_" + str(i) + ": router_credit_based generic map (DATA_WIDTH => DATA_WIDTH, FIFO_DEPTH => FIFO_DEPTH, CREDIT_COUNTER_LENGTH => CREDIT_COUNTER_LENGTH, " + "CREDIT_COUNTER_LENGTH_LOCAL=> CREDIT_COUNTER_LENGTH_LOCAL, ") # Uses deadlock-free routing algorithms/turn models (uniform turn model for all nodes). if routing == 'xy': noc_file.write( "current_address=>" + str(i) + ", " + "Cx_rst => " + str(cx_rst_calculator(i, network_dime_x, network_dime_y)) + ",Rxy_rst => 60, NoC_size_x => " + str(network_dime_x) + ")\n") elif routing == 'yx': noc_file.write( "current_address=>" + str(i) + ", " + "Cx_rst => " + str(cx_rst_calculator(i, network_dime_x, network_dime_y)) + ",Rxy_rst => 195, NoC_size_x => " + str(network_dime_x) + ")\n") elif routing == 'wf': noc_file.write( "current_address=>" + str(i) + ", " + "Cx_rst => " + str(cx_rst_calculator(i, network_dime_x, network_dime_y)) + ",Rxy_rst => 125, NoC_size_x => " + str(network_dime_x) + ")\n") elif routing == 'nl': noc_file.write( "current_address=>" + str(i) + ", " + "Cx_rst => " + str(cx_rst_calculator(i, network_dime_x, network_dime_y)) + ",Rxy_rst => 252, NoC_size_x => " + str(network_dime_x) + ")\n") elif routing == 'nf': noc_file.write( "current_address=>" + str(i) + ", " + "Cx_rst => " + str(cx_rst_calculator(i, network_dime_x, network_dime_y)) + ",Rxy_rst => 245, NoC_size_x => " + str(network_dime_x) + ")\n") elif routing == 'sr': # To be fixed! noc_file.write( "current_address=>" + str(i) + ", " + "Cx_rst => " + str(cx_rst_calculator(i, network_dime_x, network_dime_y)) + ",Rxy_rst => 215, NoC_size_x => " + str(network_dime_x) + ")\n") noc_file.write("PORT MAP (reset, clk, \n") noc_file.write("\tRX_N_" + str(i) + ", RX_E_" + str(i) + ", RX_W_" + str(i) + ", RX_S_" + str(i) + ", RX_L_" + str(i) + ",\n") noc_file.write("\tcredit_in_N_" + str(i) + ", credit_in_E_" + str(i) + ", credit_in_W_" + str(i) + ", credit_in_S_" + str(i) + ", credit_in_L_" + str(i) + ",\n") noc_file.write("\tvalid_in_N_" + str(i) + ", valid_in_E_" + str(i) + ", valid_in_W_" + str(i) + ", valid_in_S_" + str(i) + ", valid_in_L_" + str(i) + ",\n") noc_file.write("\tvalid_out_N_" + str(i) + ", valid_out_E_" + str(i) + ", valid_out_W_" + str(i) + ", valid_out_S_" + str(i) + ", valid_out_L_" + str(i) + ",\n") noc_file.write("\tcredit_out_N_" + str(i) + ", credit_out_E_" + str(i) + ", credit_out_W_" + str(i) + ", credit_out_S_" + str(i) + ", credit_out_L_" + str(i) + ",\n") noc_file.write("\tTX_N_" + str(i) + ", TX_E_" + str(i) + ", TX_W_" + str(i) + ", TX_S_" + str(i) + ", TX_L_" + str(i)) noc_file.write("); \n\n") noc_file.write("\n")