macsim/src/node.c
// simulate one cycle of the whole NoC
simulate one cycle of the whole NoC
simulate one cycle of the whole NoC
void noc_route_all(node_t *nodes[], rank_t max_rank)
{
    rank_t r;
    switch(nodes[0]->noc_type) {
        case NT_pnjm0:          pnjm0_route_all(nodes, max_rank); break;
        case NT_pnconfig:       pnconfig_route_all(nodes, max_rank); break;
        case NT_minbd:          minbd_route_all(nodes, max_rank); break;
        case NT_perfect:        break;
        case NT_debug:          break;
        default:
            for (r=0; r<conf_max_rank; r++)
                nodes[r]->noc_route_one_cycle(nodes[r]);
    }
}
void noc_route_all ( node_t * nodes [ ] , rank_t max_rank ) { rank_t r ; switch ( nodes [ 0 ] -> noc_type ) { case NT_pnjm0 : pnjm0_route_all ( nodes , max_rank ) ; break ; case NT_pnconfig : pnconfig_route_all ( nodes , max_rank ) ; break ; case NT_minbd : minbd_route_all ( nodes , max_rank ) ; break ; case NT_perfect : break ; case NT_debug : break ; default : for ( r = 0 ; r < conf_max_rank ; r ++ ) nodes [ r ] -> noc_route_one_cycle ( nodes [ r ] ) ; } }
simulate one cycle of the whole NoC
simulate one cycle of the whole NoC
// router type must be identical for all nodes