la creation automatique de la zone d'implantation est optionnelle.
This commit is contained in:
parent
e2331ad291
commit
dcfb078834
|
@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
|
||||||
AC_INIT(src/postrat.c)
|
AC_INIT(src/postrat.c)
|
||||||
|
|
||||||
S2R_MAJOR_VERSION=4
|
S2R_MAJOR_VERSION=4
|
||||||
S2R_MINOR_VERSION=3
|
S2R_MINOR_VERSION=4
|
||||||
S2R_VERSION=$S2R_MAJOR_VERSION.$S2R_MINOR_VERSION
|
S2R_VERSION=$S2R_MAJOR_VERSION.$S2R_MINOR_VERSION
|
||||||
|
|
||||||
AC_SUBST(S2R_MAJOR_VERSION)
|
AC_SUBST(S2R_MAJOR_VERSION)
|
||||||
|
|
|
@ -59,17 +59,18 @@
|
||||||
void Usage (Name)
|
void Usage (Name)
|
||||||
char *Name;
|
char *Name;
|
||||||
{
|
{
|
||||||
fprintf (stderr, "\tUsage : %s [-cs1trv] source [result]\n\n", Name);
|
fprintf (stderr, "\tUsage : %s [-1cCinstrv] source [result]\n\n", Name);
|
||||||
fprintf (stderr, "\tsource\t: filename of symbolic layout circuit\n");
|
fprintf (stderr, "\tsource\t: filename of symbolic layout circuit\n");
|
||||||
fprintf (stderr, "\t\t to translate to real layout\n");
|
fprintf (stderr, "\t\t to translate to real layout\n");
|
||||||
fprintf (stderr, "\tresult\t: result filename of real layout circuit\n");
|
fprintf (stderr, "\tresult\t: result filename of real layout circuit\n");
|
||||||
fprintf (stderr, "\t\t source name is used, if result is absent\n\n");
|
fprintf (stderr, "\t\t source name is used, if result is absent\n\n");
|
||||||
fprintf (stderr, "\toptionnal options (any order, any occurence) :\n");
|
fprintf (stderr, "\toptionnal options (any order, any occurence) :\n");
|
||||||
|
fprintf (stderr, "\t-1\t: only (1) level is translated, all otherwise.\n");
|
||||||
fprintf (stderr, "\t-c\t: deletes top-level (c)onnectors, keeps all others\n");
|
fprintf (stderr, "\t-c\t: deletes top-level (c)onnectors, keeps all others\n");
|
||||||
fprintf (stderr, "\t-C\t: keeps top-level (c)onnectors, deletes all others\n");
|
fprintf (stderr, "\t-C\t: keeps top-level (c)onnectors, deletes all others\n");
|
||||||
|
fprintf (stderr, "\t-i\t: generate implants from NWELL\n");
|
||||||
fprintf (stderr, "\t-n\t: deletes all signal names, but connectors\n");
|
fprintf (stderr, "\t-n\t: deletes all signal names, but connectors\n");
|
||||||
fprintf (stderr, "\t-s\t: (s)cotchs are created\n");
|
fprintf (stderr, "\t-s\t: (s)cotchs are created\n");
|
||||||
fprintf (stderr, "\t-1\t: only (1) level is translated, all otherwise.\n");
|
|
||||||
fprintf (stderr, "\t-t\t: layout is just (t)ranslated, not post-treated\n");
|
fprintf (stderr, "\t-t\t: layout is just (t)ranslated, not post-treated\n");
|
||||||
fprintf (stderr, "\t-r\t: black boxes are not (r)eplaced\n");
|
fprintf (stderr, "\t-r\t: black boxes are not (r)eplaced\n");
|
||||||
fprintf (stderr, "\t-v\t: (v)erbose mode armed\n");
|
fprintf (stderr, "\t-v\t: (v)erbose mode armed\n");
|
||||||
|
@ -92,6 +93,7 @@ int main (argc, argv)
|
||||||
int root_conn = 1; /* keep top-level figure connectors by default */
|
int root_conn = 1; /* keep top-level figure connectors by default */
|
||||||
int sub_conn = 1; /* keep sub-level figure connectors by default */
|
int sub_conn = 1; /* keep sub-level figure connectors by default */
|
||||||
int signal_name = 1; /* keep signal names by default */
|
int signal_name = 1; /* keep signal names by default */
|
||||||
|
int autoimp = 0; /* do not generate implant from NWELL by default */
|
||||||
int scotch_on = 0; /* scotchs are not created by default */
|
int scotch_on = 0; /* scotchs are not created by default */
|
||||||
int one_level = 0; /* all hierarchy level translated by default */
|
int one_level = 0; /* all hierarchy level translated by default */
|
||||||
int do_post_treat = 1; /* post-treatment is done by default */
|
int do_post_treat = 1; /* post-treatment is done by default */
|
||||||
|
@ -137,6 +139,9 @@ int main (argc, argv)
|
||||||
case 'n':
|
case 'n':
|
||||||
signal_name = 0;
|
signal_name = 0;
|
||||||
break;
|
break;
|
||||||
|
case 'i':
|
||||||
|
autoimp = 1;
|
||||||
|
break;
|
||||||
case 's':
|
case 's':
|
||||||
scotch_on = 1;
|
scotch_on = 1;
|
||||||
break;
|
break;
|
||||||
|
@ -268,7 +273,7 @@ int main (argc, argv)
|
||||||
printf ("\t\twith scotchs.\n");
|
printf ("\t\twith scotchs.\n");
|
||||||
else
|
else
|
||||||
printf ("\t\twithout scotch.\n");
|
printf ("\t\twithout scotch.\n");
|
||||||
post_treat (rds_model, scotch_on, verbose);
|
post_treat (rds_model, scotch_on, verbose, autoimp);
|
||||||
fflush (stdout);
|
fflush (stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1117,10 +1117,11 @@ static void inv_resize (model)
|
||||||
* has its model not yet post treated at this layer, it is
|
* has its model not yet post treated at this layer, it is
|
||||||
* post treated first.
|
* post treated first.
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
void post_treat (model, scotch_on_flag, verbose)
|
void post_treat (model, scotch_on_flag, verbose, autoimp)
|
||||||
rdsfig_list *model;
|
rdsfig_list *model;
|
||||||
int scotch_on_flag;
|
int scotch_on_flag;
|
||||||
int verbose;
|
int verbose;
|
||||||
|
int autoimp;
|
||||||
{
|
{
|
||||||
rdsins_list *instance;
|
rdsins_list *instance;
|
||||||
rdsfig_list *modelp;
|
rdsfig_list *modelp;
|
||||||
|
@ -1155,8 +1156,11 @@ void post_treat (model, scotch_on_flag, verbose)
|
||||||
merge (model, scotch_on_flag, verbose);
|
merge (model, scotch_on_flag, verbose);
|
||||||
clean (model);
|
clean (model);
|
||||||
inv_resize (model);
|
inv_resize (model);
|
||||||
|
if (autoimp)
|
||||||
|
{
|
||||||
addpwell (model, verbose);
|
addpwell (model, verbose);
|
||||||
addimp (model, verbose);
|
addimp (model, verbose);
|
||||||
|
}
|
||||||
mark_treat (model);
|
mark_treat (model);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue