diff --git a/alliance/src/ocr/src/rout/findNPointsPath.c b/alliance/src/ocr/src/rout/findNPointsPath.c index fe948fae..a6cbd916 100644 --- a/alliance/src/ocr/src/rout/findNPointsPath.c +++ b/alliance/src/ocr/src/rout/findNPointsPath.c @@ -1,8 +1,11 @@ /* ### -------------------------------------------------- ### $Author: hcl $ - $Date: 2002/06/26 13:28:52 $ + $Date: 2002/06/27 09:09:01 $ $Log: findNPointsPath.c,v $ + Revision 1.5 2002/06/27 09:09:01 hcl + Code d'erreur si tous les signaux ne sont pas routés. + Revision 1.4 2002/06/26 13:28:52 hcl bug hunter @@ -92,7 +95,7 @@ #include "ocrAstar.h" static char *res_id = - "$Id: findNPointsPath.c,v 1.4 2002/06/26 13:28:52 hcl Exp $"; + "$Id: findNPointsPath.c,v 1.5 2002/06/27 09:09:01 hcl Exp $"; #define MAX_HT 500 @@ -841,6 +844,7 @@ findPathNPoints(ocrRoutingParameters * i_pParam, #endif /* routage bipoint */ + l_uLength = biroute (i_pParam, i_pGrid, con1, con2, i_pSignal, AS_K_SEG); #if 0 @@ -988,7 +992,25 @@ findPathNPoints(ocrRoutingParameters * i_pParam, return OCRNATURALINT_MAX; } - l_uLength = biroute (i_pParam, i_pGrid, l_pCon->NEXT, &l_NewCon, i_pSignal, AS_K_EQUI); + switch (g_pOption->ALGO) { + case 1: l_uLength = biroute ( + i_pParam, + i_pGrid, + l_pCon->NEXT, + NULL, + i_pSignal, + AS_K_EQUI); + break; + case 0: l_uLength = biroute ( + i_pParam, + i_pGrid, + l_pCon->NEXT, + &l_NewCon, + i_pSignal, + AS_K_EQUI); + break; + } + /*l_uLength = biroute (i_pParam, i_pGrid, l_pCon->NEXT, &l_NewCon, i_pSignal, AS_K_EQUI);*/ #if 0 display(LEVEL, DEBUG, "(%ld,%ld,%d) -> (%ld,%ld,%d)\n", diff --git a/alliance/src/ocr/src/rout/ocrRouter.c b/alliance/src/ocr/src/rout/ocrRouter.c index 3fbde82f..c524920e 100644 --- a/alliance/src/ocr/src/rout/ocrRouter.c +++ b/alliance/src/ocr/src/rout/ocrRouter.c @@ -1,8 +1,11 @@ /* ### -------------------------------------------------- ### $Author: hcl $ - $Date: 2002/04/25 13:41:32 $ + $Date: 2002/06/27 09:09:01 $ $Log: ocrRouter.c,v $ + Revision 1.7 2002/06/27 09:09:01 hcl + Code d'erreur si tous les signaux ne sont pas routés. + Revision 1.6 2002/04/25 13:41:32 hcl New ripup/reroute loop, bug-kill (CALU&TALU). @@ -1043,7 +1046,8 @@ routingWindow(ocrRoutingDataBase * i_pDataBase, phfig_list * i_pPhFig) if (!chk) display (LEVEL, INFO, " none\n"); } - return wire_len; + //return wire_len; + return i_pDataBase->NB_UNROUTED; } void @@ -1117,6 +1121,7 @@ int main(int argc, char **argv) char *out_name; ocrNaturalInt start_with_vss = 0; ocrNaturalInt sym_y = 0; + ocrNaturalInt failures = 0; // initialisation de MBK @@ -1288,7 +1293,7 @@ int main(int argc, char **argv) l_pDataBase->NB_SIGNAL, ORDER_PRIORITY_CON); // dumpDataBase (l_pDataBase,stdout); - routingWindow(l_pDataBase, l_pPhFig); + failures = routingWindow(l_pDataBase, l_pPhFig); //linkWindow(l_pDataBase, i); deleteWindowArray(l_pDataBase, i); @@ -1310,5 +1315,6 @@ int main(int argc, char **argv) } deleteDataBase(l_pDataBase); - return 0; + //return 0; + return failures; } diff --git a/alliance/src/ocr/src/seg/ocrWRoutingUtil.c b/alliance/src/ocr/src/seg/ocrWRoutingUtil.c index fb3d9ffa..bd667852 100644 --- a/alliance/src/ocr/src/seg/ocrWRoutingUtil.c +++ b/alliance/src/ocr/src/seg/ocrWRoutingUtil.c @@ -1,8 +1,11 @@ /* ### -------------------------------------------------- ### $Author: hcl $ - $Date: 2002/04/25 13:41:33 $ + $Date: 2002/06/27 09:09:05 $ $Log: ocrWRoutingUtil.c,v $ + Revision 1.4 2002/06/27 09:09:05 hcl + Code d'erreur si tous les signaux ne sont pas routés. + Revision 1.3 2002/04/25 13:41:33 hcl New ripup/reroute loop, bug-kill (CALU&TALU). @@ -125,6 +128,7 @@ void initWGrid(ocrWRoutingGrid * i_pGrid, ocrRoutingParameters * i_pParam) ocrNaturalInt l_uLayer, i, j; ocrWSegment *l_pSegment; + // création de segments libres de longueur MAX pour chaque noeud for (l_uLayer = 0; l_uLayer < i_pGrid->NB_OF_LAYERS; l_uLayer++) if (getDirection(i_pParam, l_uLayer) == ocrHorizontal) diff --git a/alliance/src/ocr/src/util/ocrWindow.c b/alliance/src/ocr/src/util/ocrWindow.c index ce33f17b..e47cea57 100644 --- a/alliance/src/ocr/src/util/ocrWindow.c +++ b/alliance/src/ocr/src/util/ocrWindow.c @@ -1,8 +1,11 @@ /* ### -------------------------------------------------- ### $Author: hcl $ - $Date: 2002/03/20 13:25:57 $ + $Date: 2002/06/27 09:09:09 $ $Log: ocrWindow.c,v $ + Revision 1.3 2002/06/27 09:09:09 hcl + Code d'erreur si tous les signaux ne sont pas routés. + Revision 1.2 2002/03/20 13:25:57 hcl SymX bug. @@ -48,7 +51,7 @@ #include "ocrConnectorUtil.h" static char *res_id = - "$Id: ocrWindow.c,v 1.2 2002/03/20 13:25:57 hcl Exp $"; + "$Id: ocrWindow.c,v 1.3 2002/06/27 09:09:09 hcl Exp $"; extern ocrOption *g_pOption; @@ -601,7 +604,6 @@ void initWindow(ocrRoutingDataBase * i_pDataBase) } } -#if 0 i_pDataBase->WINDOWS[0] = newWindow(0); i_pDataBase->WINDOWS[1] = newWindow(1); i_pDataBase->WINDOWS[0]->XMIN = 0; @@ -612,7 +614,6 @@ void initWindow(ocrRoutingDataBase * i_pDataBase) i_pDataBase->WINDOWS[1]->YMIN = 0; i_pDataBase->WINDOWS[1]->XMAX = (i_pDataBase->XAB2 - i_pDataBase->XAB1) / (PITCH * SCALE_X); i_pDataBase->WINDOWS[1]->YMAX = (i_pDataBase->YAB2 - i_pDataBase->YAB1) / (PITCH * SCALE_X); -#endif } /**