=================================================================== Modification le : Fri Oct 19 21:04:22 CEST 2001 Par : jpc =================================================================== Update of /users/outil/alliance/cvsroot/alliance/sources/sea In directory melon.lip6.fr:/users/cao/jpc/alliance/sources/sea Modified Files: DEF2a.c DEF_actions.c DEF_drive.c DEF_grammar.h LEF_drive_sxlib.c MAC_drive.c a2DEF.c seroute.sh util_Defs.h util_Floorplan.c util_Inter.c util_LEFDEF.c util_MBK.c util_Power.c util_RTU.c Log Message: * Algorithmique de gestion des connecteurs d'aboutement (PHCON) : - Contrainte : pour pouvoir effectuer un placement, SE a besoin d'avoir les connecteurs places (meme si c'est de facon temporaire). Cela nous oblige a demander le placement des connecteurs puis a les supprimmer si necessaire. Pour gruger SE, on etend de 50 lambdas l'abutment-box avec a2def, puis on la reduit avec def2a. On definit deux types d'expention : une pour le placement et une pour le routage. ATTENTION : les transformations decrites dans la suite ne s'appliquent que dans le cas on on active les options d'expention/reduction dans a2def/def2a. - Transformation des connecteurs par a2def : 1. - Connecteurs fixes : 1.a. - Connecteur appartenant a un signal route : on les transforme en une PIN de 55 lambda. 50 lambda d'extention plus 1 pitch pour atteindre la grille de routage. Invariante suivant le type d'expention. 1.b. - Connecteur fixe mais attache a un signal non route : Dans le cas du placement on l'etend de 25 lambdas, dans celui du routage, on l'etend de 55 lambdas. 2. - Connecteurs factices (generes a la volee par a2def) : ont une longueur de 25 lambdas (n'atteignent pas la grille de routage). Remarque : les connecteurs factices ne sont pas utilise par SE durant le routage. - Transformation des connecteurs par def2a : Si la PIN n'atteind pas la grille de routage, elle n'est pas transformee en connecteur physique : c'est un connecteur factice genere par a2def. REMARQUE : les connecteurs factices cree par a2def ont une geometrie mais pas de positionnement. D'autre part, SE peu changer la geometrie de ces connecteurs au moment ou il les positionne. * *.c : - Passage de tous les messages de debug dans des macros __DBG(). (l'outil installé le sera sans les messages de debug). * DEF_actions.c : - Construction de la loseg "a la volee" au moment du chargement du ".def". Attention : il faudrait aussi ajouter ce support a la phase d'ajout des connecteurs d'alimentation. * DEF_drive.c : - Verification supplementaire : lors de l'appariement des instances physique & logique : verification que le modele est identique. =================================================================== Index: DEF2a.c =================================================================== RCS file: /users/outil/alliance/cvsroot/alliance/sources/sea/DEF2a.c,v retrieving revision 1.4 retrieving revision 1.5 diff -r1.4 -r1.5 146c146 < util_init (C_VerboseLevel0, F_DUMPCORE, "a2DEF"); --- > util_init (C_VerboseLevel0, F_DUMPCORE, "DEF2a"); 157c157,158 < if (!strcmp (argv[i], "-S")) { defFlags |= F_SHRINK; continue; } --- > if (!strcmp (argv[i], "-S")) { defFlags |= F_SHRINK; > LV_flags |= F_DEF_SHRINK;continue; } Index: DEF_actions.c =================================================================== RCS file: /users/outil/alliance/cvsroot/alliance/sources/sea/DEF_actions.c,v retrieving revision 1.8 retrieving revision 1.9 diff -r1.8 -r1.9 20a21 > # include "debugoff.h" 126a128 > static struct tLoseg_s *LV_ptLoseg; 426c428 < long xCon, yCon, widthCon; --- > long xCon, yCon, widthCon, lengthCon, fakeCon; 429a432,434 > phseg_list *pPhSeg; > phcon_list *pPhCon; > authelem *pElem; 477a483 > pElem = gettlosegitem (LV_ptLoseg, netName); 487,558c493,576 < if (!(LV_defFlags & F_DEF_NO_IOS)) { < /* Add the physical segment. */ < switch (LV_orient) { < case NOSYM: < case SYM_X: < case SYM_Y: < case SYMXY: < /* Vertical segment. */ < widthCon = xFR2 - xFR1; < < addphseg (LV_pPhFig, < getCALU (LV_layer), < widthCon, < xFR1 + widthCon / 2, =================================================================== Ce message est envoyé au personnes abonnées à alliance-programmers Pour plus d'information sur cette mailling-list, visitez : http://www-asim.lip6.fr/alliance/mailing-lists/