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;
/* 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
On le dupplique deux fois une fois avec nom, une fois sans */
l'unification des pastilles de metal de VIA et des ALU associés */
{
phseg_list * phseg;
for (phseg = FigureMbk->PHSEG; phseg; phseg=phseg->NEXT)
{
char layer;
phseg_list * dupseg = addphseg(FigureMbk,
phseg->LAYER, phseg->WIDTH,
phseg->X1, phseg->Y1,
phseg->X2, phseg->Y2, phseg->NAME);
switch (phseg->LAYER)
{
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 */
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;
}
addphseg(FigureMbk, layer, phseg->WIDTH,
phseg->X1, phseg->Y1,
phseg->X2, phseg->Y2, phseg->NAME);
addphseg(FigureMbk, layer, phseg->WIDTH,
phseg->X1, phseg->Y1,
phseg->X2, phseg->Y2, NULL);
dupseg->NAME = NULL;
}
}
if (All)
@ -619,8 +615,7 @@ rdsfig_list *S2Rfigmbkrds (FigureMbk, All,SubConn)
for (Pt = Pt->NEXT; Pt != NULL; Pt = Pt->NEXT)
{
if (SubConn == 0) /* puisqu'on ne veut pas de connecteurs
intermediaires, on remplace les CALU par les ALU associés FW 200205
avec et sans nom */
intermediaires, on remplace les CALU par les ALU associés FW 200205 */
{
phseg_list * phseg;
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 CALU8 : phseg->LAYER = ALU8; 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
les vias inclus lors que la phase d'unification, avec et sans
nom */
les vias inclus lors que la phase d'unification */
{
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)
{
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 */
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;
}
addphseg(FigureMbk, layer, phseg->WIDTH,
phseg->X1, phseg->Y1,
phseg->X2, phseg->Y2, phseg->NAME);
addphseg(FigureMbk, layer, phseg->WIDTH,
phseg->X1, phseg->Y1,
phseg->X2, phseg->Y2, NULL);
dupseg->NAME = NULL;
}
}
figmbkrds ((phfig_list *) Pt->DATA, 0, 0);