la creation automatique de la zone d'implantation est optionnelle.

This commit is contained in:
Franck Wajsburt 2002-06-13 13:45:34 +00:00
parent e2331ad291
commit dcfb078834
3 changed files with 16 additions and 7 deletions

View File

@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(src/postrat.c)
S2R_MAJOR_VERSION=4
S2R_MINOR_VERSION=3
S2R_MINOR_VERSION=4
S2R_VERSION=$S2R_MAJOR_VERSION.$S2R_MINOR_VERSION
AC_SUBST(S2R_MAJOR_VERSION)

View File

@ -59,17 +59,18 @@
void Usage (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, "\t\t to translate to real layout\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, "\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: 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-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-r\t: black boxes are not (r)eplaced\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 sub_conn = 1; /* keep sub-level figure connectors 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 one_level = 0; /* all hierarchy level translated by default */
int do_post_treat = 1; /* post-treatment is done by default */
@ -137,6 +139,9 @@ int main (argc, argv)
case 'n':
signal_name = 0;
break;
case 'i':
autoimp = 1;
break;
case 's':
scotch_on = 1;
break;
@ -268,7 +273,7 @@ int main (argc, argv)
printf ("\t\twith scotchs.\n");
else
printf ("\t\twithout scotch.\n");
post_treat (rds_model, scotch_on, verbose);
post_treat (rds_model, scotch_on, verbose, autoimp);
fflush (stdout);
}

View File

@ -1117,10 +1117,11 @@ static void inv_resize (model)
* has its model not yet post treated at this layer, it is
* post treated first.
****************************************************************************/
void post_treat (model, scotch_on_flag, verbose)
void post_treat (model, scotch_on_flag, verbose, autoimp)
rdsfig_list *model;
int scotch_on_flag;
int verbose;
int autoimp;
{
rdsins_list *instance;
rdsfig_list *modelp;
@ -1155,8 +1156,11 @@ void post_treat (model, scotch_on_flag, verbose)
merge (model, scotch_on_flag, verbose);
clean (model);
inv_resize (model);
addpwell (model, verbose);
addimp (model, verbose);
if (autoimp)
{
addpwell (model, verbose);
addimp (model, verbose);
}
mark_treat (model);
}
}