Index: trunk/src/plugins/rt_topo/crbs_route.c =================================================================== --- trunk/src/plugins/rt_topo/crbs_route.c (revision 1322) +++ trunk/src/plugins/rt_topo/crbs_route.c (revision 1323) @@ -321,6 +321,7 @@ return addr; } +static int cnt_grbs = 0; static int rt_topo_crbs_route_net(crbs_t *crbs, crbs_2net_t *ctn) { usrch_res_t sres; @@ -339,6 +340,8 @@ ast.get_mark = crbs_ast_get_mark; ast.user_data = crbs; + cnt_grbs++; + crbs->first = first = addr_new_point(crbs, ctn->cstart, &addr_tmp[0]); crbs->target = ast.target = addr_new_point(crbs, ctn->cend, &addr_tmp[1]); @@ -350,9 +353,10 @@ else crbs->routing_tn = ctn->gtn; - printf(" route_net: from P%ld to P%ld\n", + printf(" route_net: from P%ld to P%ld (step 3_GRBS_routed_%d)\n", ((crbs_point_t *)(ctn->cstart->data))->gpt->uid, - ((crbs_point_t *)(ctn->cend->data))->gpt->uid); + ((crbs_point_t *)(ctn->cend->data))->gpt->uid, + cnt_grbs); sres = usrch_a_star_start(&ast, first); if (sres != USRCH_RES_SUCCESS) { @@ -414,10 +418,9 @@ grbs_path_realize(&crbs->grbs, crbs->routing_tn, na, 0); { - static int cnt = 0; char tmp[128]; - - sprintf(tmp, "3_GRBS_routed_%d.svg", cnt++); + + sprintf(tmp, "3_GRBS_routed_%d.svg", cnt_grbs); crbs_grbs_draw(crbs, tmp); } @@ -435,6 +438,7 @@ htpi_entry_t *e; int best_r = crbs->max_ripup; crbs_2net_t *best = NULL; + char tmp[128]; printf(" Failed to route; checking what to rip up:\n"); @@ -452,6 +456,10 @@ printf(" ripping up %s\n", best->tn->net->hdr.oid); + sprintf(tmp, "3_GRBS_routed_%d_rip1.svg", cnt_grbs); + crbs_grbs_draw(crbs, tmp); + + /* remove the offending 2net */ best->ripped_up++; grbs_path_remove_2net(&crbs->grbs, best->gtn); @@ -461,6 +469,9 @@ gdl_remove(&crbs->twonets, best, link); gdl_insert_after(&crbs->twonets, tn, best, link); + sprintf(tmp, "3_GRBS_routed_%d_rip2.svg", cnt_grbs); + crbs_grbs_draw(crbs, tmp); + return 1; }