diff --git a/VERSION b/VERSION index 3c3218d6..b4df5cd0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.429 +8.3.430 diff --git a/commands/CmdE.c b/commands/CmdE.c index b1166135..28f10edc 100644 --- a/commands/CmdE.c +++ b/commands/CmdE.c @@ -911,9 +911,10 @@ cmdExpandFunc(use, windowMask) #define EXTPARENTS 7 #define EXTPATH 8 #define EXTSHOWPARENTS 9 -#define EXTSTYLE 10 -#define EXTUNIQUE 11 -#define EXTWARN 12 +#define EXTSTEPSIZE 10 +#define EXTSTYLE 11 +#define EXTUNIQUE 12 +#define EXTWARN 13 #define WARNALL 0 #define WARNDUP 1 @@ -1007,6 +1008,7 @@ CmdExtract(w, cmd) "parents extract selected cell and all its parents", "path [path] if set, extract into the indicated path", "showparents show all parents of selected cell", + "stepsize [value] print or set the extraction step size", "style [stylename] set current extraction parameter style", "unique [option] generate unique names when different nodes\n\ have the same name", @@ -1139,6 +1141,36 @@ CmdExtract(w, cmd) ExtCurStyle->exts_sideCoupleHalo = dist; break; + case EXTSTEPSIZE: + if (ExtCurStyle == NULL) + { + TxError("No extraction style set.\n"); + return; + } + else if (argc == 2) + { +#ifdef MAGIC_WRAPPER + Tcl_Obj *tobj; + tobj = Tcl_NewIntObj(ExtCurStyle->exts_stepSize); + Tcl_SetObjResult(magicinterp, tobj); +#else + TxPrintf("Extraction step size is %d\n", ExtCurStyle->exts_stepSize); +#endif + return; + } + else if (argc != 3) goto wrongNumArgs; + + /* argv[2] is a step size */ + dist = cmdParseCoord(w, argv[2], TRUE, TRUE); + if (dist <= 0) + { + TxError("Bad step size. Step size must be strictly positive."); + return; + } + else + ExtCurStyle->exts_stepSize = dist; + break; + case EXTPARENTS: selectedUse = CmdGetSelectedCell((Transform *) NULL); if (selectedUse == NULL) diff --git a/doc/html/extract.html b/doc/html/extract.html index 2f1e5a6d..00a9144c 100644 --- a/doc/html/extract.html +++ b/doc/html/extract.html @@ -125,7 +125,16 @@ Circuit netlist extractor
- +
halo [distance] +
Return or set the maximum distance between shapes for which + sidewall coupling is considered. distance is in + the units of snap distance (lambda, by default), but like + all distances may be specified with a suffix like "um" for + physical distance. The default value is set by the technology + file. Smaller values will decrease the parasitic capacitance + extraction time at the expense of accuracy. When distance + is not specified, the value returned is always in internal + units.
help
Print help information
path [pathname|none] @@ -150,6 +159,17 @@ Circuit netlist extractor
List the cell and all parents of selected cell. Note that this is not really an extract option and is superceded by the cellname command. +
stepsize [distance] +
Return or set the step size used when breaking a layout into + smaller parts for more efficient extraction. distance + is in the units of snap distance (lambda, by default), but like + all distances may be specified with a suffix like "um" for + physical distance. The default value is set by the technology + file. Both large and small values make extraction inefficient, + and finding the optimal step size is largely trial-and-error. + The step size in a tech file has most likely already been + optimized for extraction speed. When distance is not + specified, the value returned is always in internal units.
[list|listall] style [stylename]
Set the current extraction style to stylename. Without arguments, print the current extraction style.