From 862ad072d71fd1e2469c50a352079c7342b3db8f Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Thu, 26 Jun 2003 17:00:39 +0000 Subject: [PATCH] * sea/src/DEF2a.c, sea/src/DEF_action.c, sea/src/DEF_drive.c, sea/src/DEF_grammar.h, sea/src/MAC_drive.c, sea/src/a2DEF.c, sea/src/seplace.sh, sea/src/seroute.sh : - Modification generale de la facon dont sont traites les connecteurs. Desormais s'ils doivent etre places, il le sont par "seplace" et plus par seroute. En consequence DEF2a (DEF_action.c) genere systematiquement un connecteur quant il rencontre un objet PIN place. Il ne tient pas compte du segment qui peut etre de longueur farfelue (a cause de l'expension). Les scripts de commandes pour sea changent eux aussi : plus de IOPLACE dans le fichier de routage mais placement systematique dans celui de routage. Enfin le format du IOC a un peu change : pour avoir les bonnes traduction des signaux vectorises ajouter en tete : IOPLACEHEADER ( (VERSION 5.3 ) (DIVIDERCHAR "/" ) (BUSBITCHARS "[]" ) ) --- alliance/src/sea/src/DEF2a.c | 8 +++++-- alliance/src/sea/src/DEF_actions.c | 9 ++++---- alliance/src/sea/src/DEF_drive.c | 6 ++--- alliance/src/sea/src/DEF_grammar.h | 3 ++- alliance/src/sea/src/MAC_drive.c | 36 ++++++++++++++---------------- alliance/src/sea/src/a2DEF.c | 14 +++++++----- alliance/src/sea/src/seplace.sh | 7 +++--- alliance/src/sea/src/seroute.sh | 5 +++-- 8 files changed, 49 insertions(+), 39 deletions(-) diff --git a/alliance/src/sea/src/DEF2a.c b/alliance/src/sea/src/DEF2a.c index 4adcb1d1..41e27367 100644 --- a/alliance/src/sea/src/DEF2a.c +++ b/alliance/src/sea/src/DEF2a.c @@ -1,5 +1,5 @@ /* - * $Id: DEF2a.c,v 1.2 2002/09/30 16:21:16 czo Exp $ + * $Id: DEF2a.c,v 1.3 2003/06/26 17:00:39 jpc Exp $ * * /----------------------------------------------------------------\ * | | @@ -32,6 +32,7 @@ # define F_NO_IOS 0x00000010 # define F_NO_INTERF 0x00000020 # define F_MERGE_TERM 0x00000040 +# define F_KEEP_IOS 0x00000080 # define M_OUTPUT (F_PHFIG | F_LOFIG) @@ -70,7 +71,7 @@ static void printHelp() { printf (" o Usage := \"DEF2a <-l|-p|-l -p>"); - printf ( " [-v] [-V] [-h] [-s] [-b] [-i] [-r]\n"); + printf ( " [-v] [-V] [-h] [-s] [-b] [-i] [-r] [-k]\n"); printf (" []\"\n\n"); printf (" o Options :\n"); printf (" [-v] := Be verbose.\n"); @@ -83,6 +84,7 @@ static void printHelp() printf (" [-S] := Shrink the abutment box.\n"); printf (" [-i] := Do not build physical interface.\n"); printf (" [-r] := Merge power terminals for ring.\n"); + printf (" [-k] := Keep terminals.\n"); printf (" := Name of the input DEF file (mandatory).\n"); printf (" := Name of the output netlist and/or layout.\n"); printf ("\n" ); @@ -162,6 +164,8 @@ extern int main (argc, argv) LV_flags |= F_DEF_NO_INTERF; continue; } if (!strcmp (argv[i], "-r")) { defFlags |= F_MERGE_TERM; LV_flags |= F_DEF_MERGE_TERM; continue; } + if (!strcmp (argv[i], "-k")) { defFlags |= F_KEEP_IOS; + LV_flags |= F_DEF_KEEP_IOS; continue; } if ((argC - i) > 2) { eprinth (NULL); diff --git a/alliance/src/sea/src/DEF_actions.c b/alliance/src/sea/src/DEF_actions.c index 20a4731c..2cb742cf 100644 --- a/alliance/src/sea/src/DEF_actions.c +++ b/alliance/src/sea/src/DEF_actions.c @@ -1,6 +1,6 @@ /* - * $Id: DEF_actions.c,v 1.2 2002/09/30 16:21:16 czo Exp $ + * $Id: DEF_actions.c,v 1.3 2003/06/26 17:00:39 jpc Exp $ * * /----------------------------------------------------------------\ * | | @@ -560,9 +560,10 @@ extern void def_pin_options() break; } /* End of "switch (LV_orient)". */ - if (!fakeCon) { - LV_ptLoseg->tLoseg[pElem->VALUE] = addloseg ( - LV_ptLoseg->tLoseg[pElem->VALUE], LOSEG_SEGCON, (void*)pPhSeg); + if (!fakeCon || (LV_defFlags & F_DEF_KEEP_IOS)) { + if (!fakeCon) + LV_ptLoseg->tLoseg[pElem->VALUE] = addloseg ( + LV_ptLoseg->tLoseg[pElem->VALUE], LOSEG_SEGCON, (void*)pPhSeg); /* Add the old-style terminal. */ diff --git a/alliance/src/sea/src/DEF_drive.c b/alliance/src/sea/src/DEF_drive.c index dc6df799..385d98ab 100644 --- a/alliance/src/sea/src/DEF_drive.c +++ b/alliance/src/sea/src/DEF_drive.c @@ -1,5 +1,5 @@ /* - * $Id: DEF_drive.c,v 1.9 2003/04/07 14:38:42 jpc Exp $ + * $Id: DEF_drive.c,v 1.10 2003/06/26 17:00:39 jpc Exp $ * * /----------------------------------------------------------------\ * | | @@ -1150,8 +1150,8 @@ static void fprintPIN(apLocon, apPhcon, asState) fprintf(DEF_FILE, " + DIRECTION %s", DIRtoa(MBK2DEF_locondir(apLocon))); - if ( (LV_Flags & F_FIXED_PINS) - && (strncmp(apLocon->NAME, "vddv", 4)) + if ( /* (LV_Flags & F_FIXED_PINS) */ + /*&&*/ (strncmp(apLocon->NAME, "vddv", 4)) && (strncmp(apLocon->NAME, "vssv", 4)) && !isvdd (apLocon->NAME) && !isvss (apLocon->NAME)) { diff --git a/alliance/src/sea/src/DEF_grammar.h b/alliance/src/sea/src/DEF_grammar.h index 99da562e..ad7c65a6 100644 --- a/alliance/src/sea/src/DEF_grammar.h +++ b/alliance/src/sea/src/DEF_grammar.h @@ -1,5 +1,5 @@ /* - * $Id: DEF_grammar.h,v 1.2 2002/09/30 16:21:16 czo Exp $ + * $Id: DEF_grammar.h,v 1.3 2003/06/26 17:00:39 jpc Exp $ * * /----------------------------------------------------------------\ * | | @@ -24,6 +24,7 @@ # define F_DEF_NO_INTERF 0x00000004 # define F_DEF_MERGE_TERM 0x00000008 # define F_DEF_SHRINK 0x00000010 +# define F_DEF_KEEP_IOS 0x00000020 extern void defloadlophfig (lofig_list *apLoFig, diff --git a/alliance/src/sea/src/MAC_drive.c b/alliance/src/sea/src/MAC_drive.c index f8755220..42ccd95f 100644 --- a/alliance/src/sea/src/MAC_drive.c +++ b/alliance/src/sea/src/MAC_drive.c @@ -1,5 +1,5 @@ /* - * $Id: MAC_drive.c,v 1.4 2003/06/23 13:01:23 jpc Exp $ + * $Id: MAC_drive.c,v 1.5 2003/06/26 17:00:39 jpc Exp $ * * /----------------------------------------------------------------\ * | | @@ -102,15 +102,13 @@ extern void macPlace(apPhfig, apLofig, macName, aPower, aFlags) fprintf (MAC_FILE, " WINDOW FIT ;\n\n"); - if (aFlags & F_MAC_FIXED_PINS) { - fprintf (MAC_FILE, " IOPLACE\n"); - if (aFlags & F_MAC_IOC) { - fprintf (MAC_FILE, " FILENAME %s.ioc\n", apLofig->NAME); - } - fprintf (MAC_FILE, " TOPBOTTOMLAYER L_ALU2\n"); - fprintf (MAC_FILE, " RIGHTLEFTLAYER L_ALU2\n"); - fprintf (MAC_FILE, " ;\n\n"); + fprintf (MAC_FILE, " IOPLACE\n"); + if (aFlags & F_MAC_IOC) { + fprintf (MAC_FILE, " FILENAME \"%s.ioc\"\n", apLofig->NAME); } + fprintf (MAC_FILE, " TOPBOTTOMLAYER L_ALU3\n"); + fprintf (MAC_FILE, " RIGHTLEFTLAYER L_ALU2\n"); + fprintf (MAC_FILE, " ;\n\n"); /* Power stripes made of "powmid_x0". */ @@ -130,7 +128,7 @@ extern void macPlace(apPhfig, apLofig, macName, aPower, aFlags) /* Placement itself. */ - fprintf (MAC_FILE, " SET VARIABLE Qplace.Place.Pin \"concurrent\" ;\n" ); + fprintf (MAC_FILE, "#SET VARIABLE Qplace.Place.Pin \"concurrent\" ;\n" ); fprintf (MAC_FILE, " QPLACE NOCONFIG ;\n\n"); @@ -189,15 +187,15 @@ extern void macRoute(apPhfig, apLofig, macName, aPower, aFlags) if (aFlags & F_MAC_FILL_TIE) fillTie (apPhfig); - if (aFlags & F_MAC_FIXED_PINS) { - fprintf (MAC_FILE, " IOPLACE\n"); - if (aFlags & F_MAC_IOC) { - fprintf (MAC_FILE, " FILENAME %s.ioc\n", apLofig->NAME); - } - fprintf (MAC_FILE, " TOPBOTTOMLAYER L_ALU2\n"); - fprintf (MAC_FILE, " RIGHTLEFTLAYER L_ALU2\n"); - fprintf (MAC_FILE, " ;\n\n"); - } +/* if (aFlags & F_MAC_FIXED_PINS) { */ +/* fprintf (MAC_FILE, " IOPLACE\n"); */ +/* if (aFlags & F_MAC_IOC) { */ +/* fprintf (MAC_FILE, " FILENAME %s.ioc\n", apLofig->NAME); */ +/* } */ +/* fprintf (MAC_FILE, " TOPBOTTOMLAYER L_ALU2\n"); */ +/* fprintf (MAC_FILE, " RIGHTLEFTLAYER L_ALU2\n"); */ +/* fprintf (MAC_FILE, " ;\n\n"); */ +/* } */ if (! (aFlags & F_MAC_NO_POWER)) { diff --git a/alliance/src/sea/src/a2DEF.c b/alliance/src/sea/src/a2DEF.c index 87271862..a44d2f41 100644 --- a/alliance/src/sea/src/a2DEF.c +++ b/alliance/src/sea/src/a2DEF.c @@ -1,5 +1,5 @@ /* - * $Id: a2DEF.c,v 1.2 2002/09/30 16:21:17 czo Exp $ + * $Id: a2DEF.c,v 1.3 2003/06/26 17:00:39 jpc Exp $ * * /----------------------------------------------------------------\ * | | @@ -199,15 +199,19 @@ extern int main(argc, argv) /* Short options. */ if (!strcmp (argv[i], "-c")) { - argFlags |= A_FIXED_PINS; - defFlags |= F_FIXED_PINS; + /* Deprecated. + * argFlags |= A_FIXED_PINS; + * defFlags |= F_FIXED_PINS; + */ /*macFlags |= F_MAC_FIXED_PINS;*/ continue; } if (!strcmp (argv[i], "-b")) { - argFlags &= ~A_FIXED_PINS; - defFlags &= ~F_FIXED_PINS; + /* Deprecated. + * argFlags &= ~A_FIXED_PINS; + * defFlags &= ~F_FIXED_PINS; + */ continue; } diff --git a/alliance/src/sea/src/seplace.sh b/alliance/src/sea/src/seplace.sh index 24e0dcf9..4d6b2234 100755 --- a/alliance/src/sea/src/seplace.sh +++ b/alliance/src/sea/src/seplace.sh @@ -1,6 +1,6 @@ #!/bin/sh # -# $Id: seplace.sh,v 1.3 2002/09/30 16:21:18 czo Exp $ +# $Id: seplace.sh,v 1.4 2003/06/26 17:00:39 jpc Exp $ # # /------------------------------------------------------------------\ # | | @@ -247,8 +247,8 @@ ioc="n" argVL="" argLayers="-3" - argsA2DEF="-V -t -c -e" - argsDEF2A="-V -p -S -i -b" + argsA2DEF="-V -t -e" + argsDEF2A="-V -p -S -i" argsSEA="--batch --ansi" # argsSEA="-V" @@ -427,6 +427,7 @@ if [ "$ioc" = "y" ]; then vecho 1 " o IO placement file is := \"$netlistName.ioc\"." argsA2DEF="$argsA2DEF --ioc" + argsDEF2A="$argsDEF2A -k" fi diff --git a/alliance/src/sea/src/seroute.sh b/alliance/src/sea/src/seroute.sh index 37f1e31b..2f799d2c 100755 --- a/alliance/src/sea/src/seroute.sh +++ b/alliance/src/sea/src/seroute.sh @@ -1,6 +1,6 @@ #!/bin/sh # -# $Id: seroute.sh,v 1.3 2002/09/30 16:21:18 czo Exp $ +# $Id: seroute.sh,v 1.4 2003/06/26 17:00:39 jpc Exp $ # # /------------------------------------------------------------------\ # | | @@ -387,7 +387,8 @@ if [ "$core" = "y" ]; then vecho 1 " o The design will have pins." - argsA2DEF="$argsA2DEF -c" + vecho 0 " \"--core\" is now obsolete." + #argsA2DEF="$argsA2DEF -c" fi