Modifier and Type | Class and Description |
---|---|
protected static class |
Topology.CellAggregateSignal
Class to describe an aggregate signal (a bus) in a Cell.
|
protected static class |
Topology.CellNetInfo
Class to describe the networks in a Cell.
|
protected static class |
Topology.CellSignal
Class to describe a single signal in a Cell.
|
class |
Topology.MyCellInfo |
class |
Topology.Visitor |
Output.OutputPreferences, Output.WriteJELIB
Modifier and Type | Field and Description |
---|---|
protected Cell |
topCell
top-level cell being processed
|
dataOutputStream, errorLogger, filePath, printWriter, quiet, stringWriter
Constructor and Description |
---|
Topology()
Creates a new instance of Topology
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
canParameterizeNames()
Method to tell whether the topological analysis should mangle cell names that are parameterized.
|
protected abstract void |
done()
Abstract method called after traversal
|
protected void |
enterCell(HierarchyEnumerator.CellInfo info)
Called at the end of the enter cell phase of hierarchy enumeration
|
protected boolean |
enumerateLayoutView(Cell cell)
Used to switch from schematic enumeration to layout enumeration
|
protected Topology.CellNetInfo |
getCellNetInfo(java.lang.String cellName)
Abstract method to convert a cell name to one that is safe for this format
|
protected abstract java.lang.String |
getGlobalName(Global glob)
Abstract method to return the proper name of a Global signal
|
protected abstract java.lang.String |
getGroundName(Network net)
Abstract method to return the proper name of Ground (or null to use existing name)
|
protected abstract java.lang.String |
getPowerName(Network net)
Abstract method to return the proper name of Power (or null to use existing name)
|
protected abstract java.lang.String |
getSafeCellName(java.lang.String name)
Abstract method to convert a cell name to one that is safe for this format
|
protected abstract java.lang.String |
getSafeNetName(java.lang.String name,
boolean bus)
Abstract method to convert a network name to one that is safe for this format
|
protected Netlist.ShortResistors |
getShortResistors()
Tell the Hierarchy enumerator how to short resistors
|
protected java.lang.String |
getUniqueCellName(Cell cell)
Method to return the name of cell "c", given that it may be ambiguously used in multiple
libraries.
|
protected abstract boolean |
isAggregateNameGapsSupported()
Abstract method to decide whether aggregate names (busses) can have gaps in their ranges.
|
protected abstract boolean |
isAggregateNamesSupported()
Abstract method to decide whether aggregate names (busses) are used.
|
protected abstract boolean |
isCaseSensitive()
Abstract method to decide whether netlister is case-sensitive (Verilog) or not (Spice).
|
protected boolean |
isChooseBestExportName()
Method to decide whether to choose best export name among exports connected to signal.
|
protected abstract boolean |
isLibraryNameAlwaysAddedToCellName()
Abstract method to decide whether library names are always prepended to cell names.
|
protected abstract boolean |
isNetworksUseExportedNames()
Abstract method to decide whether export names take precedence over
arc names when determining the name of the network.
|
protected abstract boolean |
isSeparateInputAndOutput()
Abstract method to decide whether aggregate names (busses) are used.
|
protected boolean |
isShortExplicitResistors()
Tell the Hierarchy enumerator whether or not to short explicit (poly) resistors
|
protected boolean |
isShortResistors()
Tell the Hierarchy enumerator whether or not to short parasitic resistors
|
protected int |
maxNameLength()
Method to tell set a limit on the number of characters in a name.
|
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 abstract void |
start()
Abstract method called before hierarchy traversal
|
protected static java.lang.String |
unIndexedName(java.lang.String name)
Method to return the character position in network name "name" that is the start of indexing.
|
protected void |
validateSkippedCell(HierarchyEnumerator.CellInfo info)
If a cell is skipped, this method can perform any checking to
validate that no error occurs
|
boolean |
writeCell(Cell cell,
VarContext context)
Write cell to file
|
boolean |
writeCell(Cell cell,
VarContext context,
Topology.Visitor visitor)
Write cell to file
|
protected abstract void |
writeCellTopology(Cell cell,
Topology.CellNetInfo cni,
VarContext context,
Topology.MyCellInfo info)
Abstract method to write CellGeom to disk
|
closeBinaryOutputStream, closeStringsOutputStream, closeTextOutputStream, emitCopyright, exportCellCommand, finishWrite, getAreaToPrint, getNumErrors, getNumWarnings, getOutputPreferences, openBinaryOutputStream, openStringsOutputStream, openTextOutputStream, reportError, reportWarning, saveJelib, setContinuationString, setOutputWidth, writeLibrary, writeLibrary, writePanicSnapshot, writeWidthLimited
protected Cell topCell
public boolean writeCell(Cell cell, VarContext context)
public boolean writeCell(Cell cell, VarContext context, Topology.Visitor visitor)
protected abstract void start()
protected abstract void done()
protected void enterCell(HierarchyEnumerator.CellInfo info)
protected abstract void writeCellTopology(Cell cell, Topology.CellNetInfo cni, VarContext context, Topology.MyCellInfo info)
protected abstract java.lang.String getSafeNetName(java.lang.String name, boolean bus)
protected abstract java.lang.String getSafeCellName(java.lang.String name)
protected abstract java.lang.String getPowerName(Network net)
protected abstract java.lang.String getGroundName(Network net)
protected abstract java.lang.String getGlobalName(Global glob)
protected abstract boolean isNetworksUseExportedNames()
protected abstract boolean isLibraryNameAlwaysAddedToCellName()
protected abstract boolean isAggregateNamesSupported()
protected abstract boolean isAggregateNameGapsSupported()
protected boolean isChooseBestExportName()
protected abstract boolean isSeparateInputAndOutput()
protected abstract boolean isCaseSensitive()
protected boolean skipCellAndSubcells(Cell cell)
protected void validateSkippedCell(HierarchyEnumerator.CellInfo info)
protected boolean canParameterizeNames()
protected Netlist.ShortResistors getShortResistors()
protected boolean isShortResistors()
protected boolean isShortExplicitResistors()
protected int maxNameLength()
protected Topology.CellNetInfo getCellNetInfo(java.lang.String cellName)
protected boolean enumerateLayoutView(Cell cell)
protected static java.lang.String unIndexedName(java.lang.String name)
protected java.lang.String parameterizedName(Nodable no, VarContext context)
protected java.lang.String getUniqueCellName(Cell cell)