retour en arriere

This commit is contained in:
Franck Wajsburt 2002-07-25 17:07:19 +00:00
parent 98d222540e
commit d4353705d3
1 changed files with 33 additions and 45 deletions

View File

@ -570,32 +570,28 @@ rdsfig_list *S2Rfigmbkrds (FigureMbk, All,SubConn)
chain_list *Pt; chain_list *Pt;
/* dupplique tous les CALUx en ALUx dans le père pour permettre /* dupplique tous les CALUx en ALUx dans le père pour permettre
l'unification des pastilles de metal de VIA et des ALU associés l'unification des pastilles de metal de VIA et des ALU associés */
On le dupplique deux fois une fois avec nom, une fois sans */
{ {
phseg_list * phseg; phseg_list * phseg;
for (phseg = FigureMbk->PHSEG; phseg; phseg=phseg->NEXT) for (phseg = FigureMbk->PHSEG; phseg; phseg=phseg->NEXT)
{ {
char layer; phseg_list * dupseg = addphseg(FigureMbk,
switch (phseg->LAYER) phseg->LAYER, phseg->WIDTH,
{
case CALU1 : layer = ALU1; break;
case CALU2 : layer = ALU2; break;
case CALU3 : layer = ALU3; break;
case CALU4 : layer = ALU4; break;
case CALU5 : layer = ALU5; break;
case CALU6 : layer = ALU6; break;
case CALU7 : layer = ALU7; break;
case CALU8 : layer = ALU8; break;
case CALU9 : layer = ALU9; break;
default : continue; /* passer au segment suivant */
}
addphseg(FigureMbk, layer, phseg->WIDTH,
phseg->X1, phseg->Y1, phseg->X1, phseg->Y1,
phseg->X2, phseg->Y2, phseg->NAME); phseg->X2, phseg->Y2, phseg->NAME);
addphseg(FigureMbk, layer, phseg->WIDTH, switch (phseg->LAYER)
phseg->X1, phseg->Y1, {
phseg->X2, phseg->Y2, NULL); case CALU1 : dupseg->LAYER = ALU1; break;
case CALU2 : dupseg->LAYER = ALU2; break;
case CALU3 : dupseg->LAYER = ALU3; break;
case CALU4 : dupseg->LAYER = ALU4; break;
case CALU5 : dupseg->LAYER = ALU5; break;
case CALU6 : dupseg->LAYER = ALU6; break;
case CALU7 : dupseg->LAYER = ALU7; break;
case CALU8 : dupseg->LAYER = ALU8; break;
case CALU9 : dupseg->LAYER = ALU9; break;
}
dupseg->NAME = NULL;
} }
} }
if (All) if (All)
@ -619,8 +615,7 @@ rdsfig_list *S2Rfigmbkrds (FigureMbk, All,SubConn)
for (Pt = Pt->NEXT; Pt != NULL; Pt = Pt->NEXT) for (Pt = Pt->NEXT; Pt != NULL; Pt = Pt->NEXT)
{ {
if (SubConn == 0) /* puisqu'on ne veut pas de connecteurs if (SubConn == 0) /* puisqu'on ne veut pas de connecteurs
intermediaires, on remplace les CALU par les ALU associés FW 200205 intermediaires, on remplace les CALU par les ALU associés FW 200205 */
avec et sans nom */
{ {
phseg_list * phseg; phseg_list * phseg;
for (phseg = ((phfig_list *) Pt->DATA)->PHSEG; phseg; phseg=phseg->NEXT) for (phseg = ((phfig_list *) Pt->DATA)->PHSEG; phseg; phseg=phseg->NEXT)
@ -636,40 +631,33 @@ rdsfig_list *S2Rfigmbkrds (FigureMbk, All,SubConn)
case CALU7 : phseg->LAYER = ALU7; break; case CALU7 : phseg->LAYER = ALU7; break;
case CALU8 : phseg->LAYER = ALU8; break; case CALU8 : phseg->LAYER = ALU8; break;
case CALU9 : phseg->LAYER = ALU9; break; case CALU9 : phseg->LAYER = ALU9; break;
default : continue; /* passer au segment suivant */
} }
addphseg(FigureMbk, phseg->LAYER, phseg->WIDTH,
phseg->X1, phseg->Y1,
phseg->X2, phseg->Y2, NULL);
} }
} }
else /* sinon on le duplique dans le metal associé pour qu'il absorbe else /* sinon on le duplique dans le metal associé pour qu'il absorbe
les vias inclus lors que la phase d'unification, avec et sans les vias inclus lors que la phase d'unification */
nom */
{ {
phseg_list * phseg; phseg_list * phseg;
for (phseg = FigureMbk->PHSEG; phseg; phseg=phseg->NEXT) for (phseg = ((phfig_list *) Pt->DATA)->PHSEG; phseg; phseg=phseg->NEXT)
{ {
char layer; phseg_list * dupseg = addphseg((phfig_list *) Pt->DATA,
phseg->LAYER, phseg->WIDTH,
phseg->X1, phseg->Y1,
phseg->X2, phseg->Y2,
phseg->NAME);
switch (phseg->LAYER) switch (phseg->LAYER)
{ {
case CALU1 : layer = ALU1; break; case CALU1 : dupseg->LAYER = ALU1; break;
case CALU2 : layer = ALU2; break; case CALU2 : dupseg->LAYER = ALU2; break;
case CALU3 : layer = ALU3; break; case CALU3 : dupseg->LAYER = ALU3; break;
case CALU4 : layer = ALU4; break; case CALU4 : dupseg->LAYER = ALU4; break;
case CALU5 : layer = ALU5; break; case CALU5 : dupseg->LAYER = ALU5; break;
case CALU6 : layer = ALU6; break; case CALU6 : dupseg->LAYER = ALU6; break;
case CALU7 : layer = ALU7; break; case CALU7 : dupseg->LAYER = ALU7; break;
case CALU8 : layer = ALU8; break; case CALU8 : dupseg->LAYER = ALU8; break;
case CALU9 : layer = ALU9; break; case CALU9 : dupseg->LAYER = ALU9; break;
default : continue; /* passer au segment suivant */
} }
addphseg(FigureMbk, layer, phseg->WIDTH, dupseg->NAME = NULL;
phseg->X1, phseg->Y1,
phseg->X2, phseg->Y2, phseg->NAME);
addphseg(FigureMbk, layer, phseg->WIDTH,
phseg->X1, phseg->Y1,
phseg->X2, phseg->Y2, NULL);
} }
} }
figmbkrds ((phfig_list *) Pt->DATA, 0, 0); figmbkrds ((phfig_list *) Pt->DATA, 0, 0);