* 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 "[]" ) )
This commit is contained in:
parent
ecd29302d9
commit
862ad072d7
|
@ -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_IOS 0x00000010
|
||||||
# define F_NO_INTERF 0x00000020
|
# define F_NO_INTERF 0x00000020
|
||||||
# define F_MERGE_TERM 0x00000040
|
# define F_MERGE_TERM 0x00000040
|
||||||
|
# define F_KEEP_IOS 0x00000080
|
||||||
# define M_OUTPUT (F_PHFIG | F_LOFIG)
|
# define M_OUTPUT (F_PHFIG | F_LOFIG)
|
||||||
|
|
||||||
|
|
||||||
|
@ -70,7 +71,7 @@
|
||||||
static void printHelp()
|
static void printHelp()
|
||||||
{
|
{
|
||||||
printf (" o Usage := \"DEF2a <-l|-p|-l -p>");
|
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 (" <def> [<net_lay>]\"\n\n");
|
printf (" <def> [<net_lay>]\"\n\n");
|
||||||
printf (" o Options :\n");
|
printf (" o Options :\n");
|
||||||
printf (" [-v] := Be verbose.\n");
|
printf (" [-v] := Be verbose.\n");
|
||||||
|
@ -83,6 +84,7 @@ static void printHelp()
|
||||||
printf (" [-S] := Shrink the abutment box.\n");
|
printf (" [-S] := Shrink the abutment box.\n");
|
||||||
printf (" [-i] := Do not build physical interface.\n");
|
printf (" [-i] := Do not build physical interface.\n");
|
||||||
printf (" [-r] := Merge power terminals for ring.\n");
|
printf (" [-r] := Merge power terminals for ring.\n");
|
||||||
|
printf (" [-k] := Keep terminals.\n");
|
||||||
printf (" <def> := Name of the input DEF file (mandatory).\n");
|
printf (" <def> := Name of the input DEF file (mandatory).\n");
|
||||||
printf (" <net_lay> := Name of the output netlist and/or layout.\n");
|
printf (" <net_lay> := Name of the output netlist and/or layout.\n");
|
||||||
printf ("\n" );
|
printf ("\n" );
|
||||||
|
@ -162,6 +164,8 @@ extern int main (argc, argv)
|
||||||
LV_flags |= F_DEF_NO_INTERF; continue; }
|
LV_flags |= F_DEF_NO_INTERF; continue; }
|
||||||
if (!strcmp (argv[i], "-r")) { defFlags |= F_MERGE_TERM;
|
if (!strcmp (argv[i], "-r")) { defFlags |= F_MERGE_TERM;
|
||||||
LV_flags |= F_DEF_MERGE_TERM; continue; }
|
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) {
|
if ((argC - i) > 2) {
|
||||||
eprinth (NULL);
|
eprinth (NULL);
|
||||||
|
|
|
@ -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,7 +560,8 @@ extern void def_pin_options()
|
||||||
break;
|
break;
|
||||||
} /* End of "switch (LV_orient)". */
|
} /* End of "switch (LV_orient)". */
|
||||||
|
|
||||||
if (!fakeCon) {
|
if (!fakeCon || (LV_defFlags & F_DEF_KEEP_IOS)) {
|
||||||
|
if (!fakeCon)
|
||||||
LV_ptLoseg->tLoseg[pElem->VALUE] = addloseg (
|
LV_ptLoseg->tLoseg[pElem->VALUE] = addloseg (
|
||||||
LV_ptLoseg->tLoseg[pElem->VALUE], LOSEG_SEGCON, (void*)pPhSeg);
|
LV_ptLoseg->tLoseg[pElem->VALUE], LOSEG_SEGCON, (void*)pPhSeg);
|
||||||
|
|
||||||
|
|
|
@ -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",
|
fprintf(DEF_FILE, " + DIRECTION %s",
|
||||||
DIRtoa(MBK2DEF_locondir(apLocon)));
|
DIRtoa(MBK2DEF_locondir(apLocon)));
|
||||||
|
|
||||||
if ( (LV_Flags & F_FIXED_PINS)
|
if ( /* (LV_Flags & F_FIXED_PINS) */
|
||||||
&& (strncmp(apLocon->NAME, "vddv", 4))
|
/*&&*/ (strncmp(apLocon->NAME, "vddv", 4))
|
||||||
&& (strncmp(apLocon->NAME, "vssv", 4))
|
&& (strncmp(apLocon->NAME, "vssv", 4))
|
||||||
&& !isvdd (apLocon->NAME)
|
&& !isvdd (apLocon->NAME)
|
||||||
&& !isvss (apLocon->NAME)) {
|
&& !isvss (apLocon->NAME)) {
|
||||||
|
|
|
@ -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_NO_INTERF 0x00000004
|
||||||
# define F_DEF_MERGE_TERM 0x00000008
|
# define F_DEF_MERGE_TERM 0x00000008
|
||||||
# define F_DEF_SHRINK 0x00000010
|
# define F_DEF_SHRINK 0x00000010
|
||||||
|
# define F_DEF_KEEP_IOS 0x00000020
|
||||||
|
|
||||||
|
|
||||||
extern void defloadlophfig (lofig_list *apLoFig,
|
extern void defloadlophfig (lofig_list *apLoFig,
|
||||||
|
|
|
@ -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");
|
fprintf (MAC_FILE, " WINDOW FIT ;\n\n");
|
||||||
|
|
||||||
|
|
||||||
if (aFlags & F_MAC_FIXED_PINS) {
|
|
||||||
fprintf (MAC_FILE, " IOPLACE\n");
|
fprintf (MAC_FILE, " IOPLACE\n");
|
||||||
if (aFlags & F_MAC_IOC) {
|
if (aFlags & F_MAC_IOC) {
|
||||||
fprintf (MAC_FILE, " FILENAME %s.ioc\n", apLofig->NAME);
|
fprintf (MAC_FILE, " FILENAME \"%s.ioc\"\n", apLofig->NAME);
|
||||||
}
|
}
|
||||||
fprintf (MAC_FILE, " TOPBOTTOMLAYER L_ALU2\n");
|
fprintf (MAC_FILE, " TOPBOTTOMLAYER L_ALU3\n");
|
||||||
fprintf (MAC_FILE, " RIGHTLEFTLAYER L_ALU2\n");
|
fprintf (MAC_FILE, " RIGHTLEFTLAYER L_ALU2\n");
|
||||||
fprintf (MAC_FILE, " ;\n\n");
|
fprintf (MAC_FILE, " ;\n\n");
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Power stripes made of "powmid_x0". */
|
/* Power stripes made of "powmid_x0". */
|
||||||
|
@ -130,7 +128,7 @@ extern void macPlace(apPhfig, apLofig, macName, aPower, aFlags)
|
||||||
|
|
||||||
|
|
||||||
/* Placement itself. */
|
/* 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");
|
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_FILL_TIE) fillTie (apPhfig);
|
||||||
|
|
||||||
|
|
||||||
if (aFlags & F_MAC_FIXED_PINS) {
|
/* if (aFlags & F_MAC_FIXED_PINS) { */
|
||||||
fprintf (MAC_FILE, " IOPLACE\n");
|
/* fprintf (MAC_FILE, " IOPLACE\n"); */
|
||||||
if (aFlags & F_MAC_IOC) {
|
/* if (aFlags & F_MAC_IOC) { */
|
||||||
fprintf (MAC_FILE, " FILENAME %s.ioc\n", apLofig->NAME);
|
/* fprintf (MAC_FILE, " FILENAME %s.ioc\n", apLofig->NAME); */
|
||||||
}
|
/* } */
|
||||||
fprintf (MAC_FILE, " TOPBOTTOMLAYER L_ALU2\n");
|
/* fprintf (MAC_FILE, " TOPBOTTOMLAYER L_ALU2\n"); */
|
||||||
fprintf (MAC_FILE, " RIGHTLEFTLAYER L_ALU2\n");
|
/* fprintf (MAC_FILE, " RIGHTLEFTLAYER L_ALU2\n"); */
|
||||||
fprintf (MAC_FILE, " ;\n\n");
|
/* fprintf (MAC_FILE, " ;\n\n"); */
|
||||||
}
|
/* } */
|
||||||
|
|
||||||
|
|
||||||
if (! (aFlags & F_MAC_NO_POWER)) {
|
if (! (aFlags & F_MAC_NO_POWER)) {
|
||||||
|
|
|
@ -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. */
|
/* Short options. */
|
||||||
if (!strcmp (argv[i], "-c")) {
|
if (!strcmp (argv[i], "-c")) {
|
||||||
argFlags |= A_FIXED_PINS;
|
/* Deprecated.
|
||||||
defFlags |= F_FIXED_PINS;
|
* argFlags |= A_FIXED_PINS;
|
||||||
|
* defFlags |= F_FIXED_PINS;
|
||||||
|
*/
|
||||||
/*macFlags |= F_MAC_FIXED_PINS;*/
|
/*macFlags |= F_MAC_FIXED_PINS;*/
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp (argv[i], "-b")) {
|
if (!strcmp (argv[i], "-b")) {
|
||||||
argFlags &= ~A_FIXED_PINS;
|
/* Deprecated.
|
||||||
defFlags &= ~F_FIXED_PINS;
|
* argFlags &= ~A_FIXED_PINS;
|
||||||
|
* defFlags &= ~F_FIXED_PINS;
|
||||||
|
*/
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/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"
|
ioc="n"
|
||||||
argVL=""
|
argVL=""
|
||||||
argLayers="-3"
|
argLayers="-3"
|
||||||
argsA2DEF="-V -t -c -e"
|
argsA2DEF="-V -t -e"
|
||||||
argsDEF2A="-V -p -S -i -b"
|
argsDEF2A="-V -p -S -i"
|
||||||
argsSEA="--batch --ansi"
|
argsSEA="--batch --ansi"
|
||||||
# argsSEA="-V"
|
# argsSEA="-V"
|
||||||
|
|
||||||
|
@ -427,6 +427,7 @@
|
||||||
if [ "$ioc" = "y" ]; then
|
if [ "$ioc" = "y" ]; then
|
||||||
vecho 1 " o IO placement file is := \"$netlistName.ioc\"."
|
vecho 1 " o IO placement file is := \"$netlistName.ioc\"."
|
||||||
argsA2DEF="$argsA2DEF --ioc"
|
argsA2DEF="$argsA2DEF --ioc"
|
||||||
|
argsDEF2A="$argsDEF2A -k"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/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
|
if [ "$core" = "y" ]; then
|
||||||
vecho 1 " o The design will have pins."
|
vecho 1 " o The design will have pins."
|
||||||
argsA2DEF="$argsA2DEF -c"
|
vecho 0 " \"--core\" is now obsolete."
|
||||||
|
#argsA2DEF="$argsA2DEF -c"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue