Merge branch 'work' into tomerge
This commit is contained in:
commit
56e838ebb6
|
|
@ -211,7 +211,8 @@ Exttospice_Init(interp)
|
|||
#define EXTTOSPC_BLACKBOX 11
|
||||
#define EXTTOSPC_RENUMBER 12
|
||||
#define EXTTOSPC_MERGENAMES 13
|
||||
#define EXTTOSPC_HELP 14
|
||||
#define EXTTOSPC_LVS 14
|
||||
#define EXTTOSPC_HELP 15
|
||||
|
||||
void
|
||||
CmdExtToSpice(w, cmd)
|
||||
|
|
@ -262,6 +263,7 @@ CmdExtToSpice(w, cmd)
|
|||
"renumber [on|off] on = number instances X1, X2, etc.\n"
|
||||
" off = keep instance ID names",
|
||||
"global [on|off] on = merge unconnected global nets by name",
|
||||
"lvs apply typical default settings for LVS",
|
||||
"help print help information",
|
||||
NULL
|
||||
};
|
||||
|
|
@ -418,6 +420,27 @@ CmdExtToSpice(w, cmd)
|
|||
esMergeNames = FALSE;
|
||||
break;
|
||||
|
||||
case EXTTOSPC_LVS:
|
||||
/* Apply default command settings for LVS */
|
||||
/* hierarchy = on */
|
||||
/* format = ngspice */
|
||||
/* cthresh = infinite */
|
||||
/* rthresh = infinite */
|
||||
/* renumber = off */
|
||||
/* scale = off */
|
||||
/* blackbox = on */
|
||||
/* subcircuit top = auto */
|
||||
|
||||
esDoHierarchy = TRUE;
|
||||
esFormat = NGSPICE;
|
||||
LocCapThreshold = (EFCapValue)INFINITE_THRESHOLD_F;
|
||||
LocResistThreshold = INFINITE_THRESHOLD;
|
||||
esDoRenumber = FALSE;
|
||||
esScale = 0.0;
|
||||
esDoBlackBox = TRUE;
|
||||
esDoSubckt = 2;
|
||||
break;
|
||||
|
||||
case EXTTOSPC_SUBCIRCUITS:
|
||||
if (cmd->tx_argc == 2)
|
||||
{
|
||||
|
|
@ -489,7 +512,7 @@ CmdExtToSpice(w, cmd)
|
|||
if (idx < 0)
|
||||
{
|
||||
Tcl_SetResult(magicinterp, "Bad format type. Formats are:"
|
||||
"spice2, spice3, and hspice.", NULL);
|
||||
"spice2, spice3, hspice, and ngspice.", NULL);
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -262,11 +262,17 @@ extBasic(def, outFile)
|
|||
if (!SigInterruptPending)
|
||||
ExtLabelRegions(def, ExtCurStyle->exts_nodeConn, &nodeList, &TiPlaneRect);
|
||||
|
||||
/* Check for "LEFview", for which special output handling */
|
||||
/* can be specified in ext2spice. */
|
||||
|
||||
DBPropGet(def, "LEFview", &isabstract);
|
||||
|
||||
/*
|
||||
* Make sure all geometry with the same label is part of the
|
||||
* same electrical node.
|
||||
* same electrical node. However: Unconnected labels are allowed
|
||||
* on abstract views.
|
||||
*/
|
||||
if (!SigInterruptPending && (ExtDoWarn & EXTWARN_DUP))
|
||||
if (!SigInterruptPending && (ExtDoWarn & EXTWARN_DUP) && !isabstract)
|
||||
extFindDuplicateLabels(def, nodeList);
|
||||
|
||||
/*
|
||||
|
|
@ -306,10 +312,6 @@ extBasic(def, outFile)
|
|||
}
|
||||
}
|
||||
|
||||
/* Check for "LEFview", for which special output handling */
|
||||
/* can be specified in ext2spice. */
|
||||
|
||||
DBPropGet(def, "LEFview", &isabstract);
|
||||
if (isabstract) fprintf(outFile, "abstract\n");
|
||||
|
||||
/* Output each node, along with its resistance and capacitance to substrate */
|
||||
|
|
|
|||
|
|
@ -85,8 +85,14 @@ extUniqueCell(def, option)
|
|||
Label *lab;
|
||||
char *text;
|
||||
int nwarn;
|
||||
bool isabstract;
|
||||
|
||||
nwarn = 0;
|
||||
|
||||
/* Check for "LEFview", as we do not care about unique names in abstract views */
|
||||
DBPropGet(def, "LEFview", &isabstract);
|
||||
if (isabstract) return nwarn;
|
||||
|
||||
HashInit(&labelHash, 32, HT_STRINGKEYS);
|
||||
TxPrintf("Processing %s\n", def->cd_name);
|
||||
TxFlush();
|
||||
|
|
|
|||
Loading…
Reference in New Issue