|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.electric.tool.io.output.Output
com.sun.electric.tool.io.output.Topology
com.sun.electric.tool.io.output.Spice
public class Spice
This is the Simulation Interface tool.
Nested Class Summary | |
---|---|
static class |
Spice.FlatSpiceCodeVisitor
|
Nested classes/interfaces inherited from class com.sun.electric.tool.io.output.Topology |
---|
Topology.CellAggregateSignal, Topology.CellNetInfo, Topology.CellSignal, Topology.MyCellInfo, Topology.Visitor |
Nested classes/interfaces inherited from class com.sun.electric.tool.io.output.Output |
---|
Output.OutputCellInfo, Output.WriteJELIB |
Field Summary | |
---|---|
static Variable.Key |
CDL_TEMPLATE_KEY
key of Variable holding generic CDL templates. |
static Variable.Key |
SPICE_2_TEMPLATE_KEY
key of Variable holding Spice 2 templates. |
static Variable.Key |
SPICE_3_TEMPLATE_KEY
key of Variable holding Spice 3 templates. |
static Variable.Key |
SPICE_A_TEMPLATE_KEY
key of Variable holding Smart Spice templates. |
static Variable.Key |
SPICE_C_TEMPLATE_KEY
key of Variable holding Smart Spice templates. |
static Variable.Key |
SPICE_CARD_KEY
key of Variable holding SPICE code. |
static Variable.Key |
SPICE_CODE_FLAT_KEY
key of Variable holding SPICE flat code. |
static Variable.Key |
SPICE_DECLARATION_KEY
key of Variable holding SPICE declaration. |
static java.lang.String |
SPICE_EXTENSION_PREFIX
Prefix for spice extension. |
static Variable.Key |
SPICE_GC_TEMPLATE_KEY
key of Variable holding GnuCap templates. |
static Variable.Key |
SPICE_H_TEMPLATE_KEY
key of Variable holding HSpice templates. |
static Variable.Key |
SPICE_MODEL_KEY
key of Variable holding SPICE model. |
static Variable.Key |
SPICE_NETLIST_FILE_KEY
key of Variable holding Spice model file. |
static java.lang.String |
SPICE_NOEXTENSION_PREFIX
Prefix for spice null extension. |
static Variable.Key |
SPICE_P_TEMPLATE_KEY
key of Variable holding PSpice templates. |
static Variable.Key |
SPICE_SM_TEMPLATE_KEY
key of Variable holding Smart Spice templates. |
static Variable.Key |
SPICE_TEMPLATE_KEY
key of Variable holding generic Spice templates. |
Fields inherited from class com.sun.electric.tool.io.output.Topology |
---|
topCell |
Fields inherited from class com.sun.electric.tool.io.output.Output |
---|
dataOutputStream, filePath, printWriter, quiet, stringWriter |
Method Summary | |
---|---|
protected boolean |
canParameterizeNames()
Method to tell whether the topological analysis should mangle cell names that are parameterized. |
protected void |
done()
Method called once at the end of netlisting. |
protected void |
enterCell(HierarchyEnumerator.CellInfo info)
Method called during hierarchy traversal. |
protected boolean |
enumerateLayoutView(Cell cell)
Used to switch from schematic enumeration to layout enumeration |
protected java.lang.String |
getGlobalName(Global glob)
Method to return the proper name of a Global signal |
protected java.lang.String |
getGroundName(Network net)
Method to return the proper name of Ground |
protected java.util.Set<Variable.Key> |
getImportantVars(PrimitiveNode pn)
Method to tell which Variables are important for primitive node in this netlister |
protected java.lang.String |
getPowerName(Network net)
Method to return the proper name of Power |
protected java.lang.String |
getSafeCellName(java.lang.String name)
Method to adjust a cell name to be safe for Spice output. |
static java.lang.String |
getSafeNetName(java.lang.String name)
Method to adjust a network name to be safe for Spice output. |
protected java.lang.String |
getSafeNetName(java.lang.String name,
boolean bus)
Method to adjust a network name to be safe for Spice output. |
protected Netlist.ShortResistors |
getShortResistors()
Tell the Hierarchy enumerator how to short resistors |
protected boolean |
isAggregateNameGapsSupported()
Abstract method to decide whether aggregate names (busses) can have gaps in their ranges. |
protected boolean |
isAggregateNamesSupported()
Method to report that aggregate names (busses) are not used. |
protected boolean |
isCaseSensitive()
Abstract method to decide whether netlister is case-sensitive (Verilog) or not (Spice). |
protected boolean |
isChooseBestExportName()
Method to report that not to choose best export name among exports connected to signal. |
protected boolean |
isLibraryNameAlwaysAddedToCellName()
Method to report that library names are NOT always prepended to cell names. |
protected boolean |
isNetworksUseExportedNames()
Method to report that export names do NOT take precedence over arc names when determining the name of the network. |
protected boolean |
isSeparateInputAndOutput()
Method to report whether input and output names are separated. |
protected int |
maxNameLength()
Method to tell set a limit on the number of characters in a name. |
void |
multiLinePrint(boolean isComment,
java.lang.String str)
Formatted output to file "stream". |
protected java.lang.String |
parameterizedName(Nodable no,
VarContext context)
Method to create a parameterized name for node instance "ni". |
protected boolean |
skipCellAndSubcells(Cell cell)
If the netlister has requirments not to netlist certain cells and their subcells, override this method. |
protected void |
start()
Method called once by the traversal mechanism. |
protected void |
validateSkippedCell(HierarchyEnumerator.CellInfo info)
Method called when a cell is skipped. |
protected void |
writeCellTopology(Cell cell,
Topology.CellNetInfo cni,
VarContext context,
Topology.MyCellInfo info)
Method called by traversal mechanism to write one level of hierarchy in the Spice netlist. |
static void |
writeSpiceFile(Cell cell,
VarContext context,
java.lang.String filePath,
boolean cdl)
The main entry point for Spice deck writing. |
Methods inherited from class com.sun.electric.tool.io.output.Topology |
---|
getCellNetInfo, getUniqueCellName, isShortExplicitResistors, isShortResistors, unIndexedName, writeCell, writeCell |
Methods inherited from class com.sun.electric.tool.io.output.Output |
---|
closeBinaryOutputStream, closeStringsOutputStream, closeTextOutputStream, emitCopyright, exportCellCommand, getAreaToPrint, openBinaryOutputStream, openStringsOutputStream, openTextOutputStream, saveJelib, setContinuationString, setOutputWidth, writeCell, writeLibrary, writePanicSnapshot, writeWidthLimited |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final Variable.Key SPICE_TEMPLATE_KEY
public static final Variable.Key SPICE_2_TEMPLATE_KEY
public static final Variable.Key SPICE_3_TEMPLATE_KEY
public static final Variable.Key SPICE_H_TEMPLATE_KEY
public static final Variable.Key SPICE_P_TEMPLATE_KEY
public static final Variable.Key SPICE_GC_TEMPLATE_KEY
public static final Variable.Key SPICE_SM_TEMPLATE_KEY
public static final Variable.Key SPICE_A_TEMPLATE_KEY
public static final Variable.Key SPICE_C_TEMPLATE_KEY
public static final Variable.Key SPICE_NETLIST_FILE_KEY
public static final Variable.Key SPICE_CARD_KEY
public static final Variable.Key SPICE_DECLARATION_KEY
public static final Variable.Key SPICE_MODEL_KEY
public static final Variable.Key SPICE_CODE_FLAT_KEY
public static final Variable.Key CDL_TEMPLATE_KEY
public static final java.lang.String SPICE_EXTENSION_PREFIX
public static final java.lang.String SPICE_NOEXTENSION_PREFIX
Method Detail |
---|
public static void writeSpiceFile(Cell cell, VarContext context, java.lang.String filePath, boolean cdl)
cell
- the top-level cell to write.context
- the hierarchical context to the cell.filePath
- the disk file to create.cdl
- true if this is CDL output (false for Spice).protected void start()
start
in class Topology
protected void done()
done
in class Topology
protected void writeCellTopology(Cell cell, Topology.CellNetInfo cni, VarContext context, Topology.MyCellInfo info)
writeCellTopology
in class Topology
protected java.lang.String parameterizedName(Nodable no, VarContext context)
parameterizedName
in class Topology
protected java.util.Set<Variable.Key> getImportantVars(PrimitiveNode pn)
pn
- primitive node to tell
protected java.lang.String getSafeCellName(java.lang.String name)
getSafeCellName
in class Topology
name
- the cell name.
protected java.lang.String getPowerName(Network net)
getPowerName
in class Topology
protected java.lang.String getGroundName(Network net)
getGroundName
in class Topology
protected java.lang.String getGlobalName(Global glob)
getGlobalName
in class Topology
protected boolean isNetworksUseExportedNames()
isNetworksUseExportedNames
in class Topology
protected boolean isLibraryNameAlwaysAddedToCellName()
isLibraryNameAlwaysAddedToCellName
in class Topology
protected boolean isAggregateNamesSupported()
isAggregateNamesSupported
in class Topology
protected boolean isAggregateNameGapsSupported()
isAggregateNameGapsSupported
in class Topology
protected boolean isSeparateInputAndOutput()
isSeparateInputAndOutput
in class Topology
protected boolean isCaseSensitive()
isCaseSensitive
in class Topology
protected java.lang.String getSafeNetName(java.lang.String name, boolean bus)
getSafeNetName
in class Topology
protected void enterCell(HierarchyEnumerator.CellInfo info)
enterCell
in class Topology
protected boolean isChooseBestExportName()
isChooseBestExportName
in class Topology
protected boolean skipCellAndSubcells(Cell cell)
skipCellAndSubcells
in class Topology
protected void validateSkippedCell(HierarchyEnumerator.CellInfo info)
validateSkippedCell
in class Topology
protected Netlist.ShortResistors getShortResistors()
getShortResistors
in class Topology
protected boolean canParameterizeNames()
canParameterizeNames
in class Topology
protected int maxNameLength()
maxNameLength
in class Topology
protected boolean enumerateLayoutView(Cell cell)
Topology
enumerateLayoutView
in class Topology
public static java.lang.String getSafeNetName(java.lang.String name)
public void multiLinePrint(boolean isComment, java.lang.String str)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |