public interface SimAPI
Modifier and Type | Interface and Description |
---|---|
static interface |
SimAPI.Analyzer |
static interface |
SimAPI.HistEnt |
static interface |
SimAPI.Node |
static interface |
SimAPI.Trans |
Modifier and Type | Field and Description |
---|---|
static int |
ALIAS |
static int |
ALWAYSON
transistors not affected by gate logic
|
static int |
BROKEN
Mark a broken transistor to avoid loop
|
static int |
CROSSED
Mark for crossing a transistor
|
static int |
DEBUG_DC
final value computation
|
static int |
DEBUG_EV
event scheduling
|
static int |
DEBUG_SPK
spike analysis
|
static int |
DEBUG_TAU
tau/delay computation
|
static int |
DEBUG_TAUP
taup computation
|
static int |
DEBUG_TW
tree walk
|
static int |
DECAY
waiting to decay to X (only in events)
|
static int |
DECAY_EV
node is decaying to X
|
static int |
DEP
depletion
|
static int |
DYNHIGH
dynamic-high resistance
|
static int |
DYNLOW
dynamic-low resistance
|
static int |
GATELIST
set if gate of xistor is a node list
|
static int |
H_INPUT
node is in high input list
|
static int |
HIGH
logic high
|
static int |
INPUT |
static int |
INPUT_MASK |
static int |
L_INPUT
node is in low input list
|
static int |
LOW
low low
|
static int |
MERGED
node is within a txtor stack
|
static double |
MIN_CAP
minimum node capacitance (in pf)
|
static int |
N_POTS
number of potentials [LOW-HIGH]
|
static int |
NCHAN
n-channel enhancement
|
static int |
OFF
non-conducting
|
static int |
ON
conducting
|
static int |
ORED
result of or'ing parallel transistors
|
static int |
ORLIST
part of an or'ed transistor
|
static int |
PARALLEL
Mark as being a parallel transistor
|
static int |
PBROKEN
Mark as broken a parallel transistor
|
static int |
PCHAN
p-channel enhancement
|
static int |
PENDING
pending from last run
|
static int |
POWER
resist.
|
static int |
POWER_RAIL |
static int |
R_HIGH
dynamic high resistance index
|
static int |
R_LOW
dynamic low resistance index
|
static int |
R_TYPES
number of resistance contexts
|
static int |
REPORT_CAP |
static int |
REPORT_DECAY |
static int |
REPORT_DELAY |
static int |
REPORT_TAU |
static int |
REPORT_TCOORD |
static int |
RESIST
simple two-terminal resistor
|
static long |
resolutionScale
scale factor for resolution
|
static int |
REVAL
result of re-evaluation
|
static int |
STATIC
static resistance
|
static int |
STOPONCHANGE |
static int |
STOPVECCHANGE |
static int |
TCAP
transistor capacitor (source == drain)
|
static int |
U_INPUT
node is in U input list
|
static int |
UNKNOWN
unknown
|
static int |
USERDELAY |
static int |
VISITED |
static int |
WATCHED |
static int |
WATCHVECTOR |
static int |
WEAK
weak
|
static int |
X
unknown, intermediate, ...
|
static int |
X_INPUT
node is in X input list
|
static int |
X_X |
Modifier and Type | Method and Description |
---|---|
void |
backSimTime(long bTime,
int isInc)
Back the event queues up to time 'bTime'.
|
void |
backToTime(SimAPI.Node nd) |
void |
clearCurNode() |
void |
clearReport() |
void |
finishNetwork() |
long |
getCurDelta() |
long |
getDecay() |
SimAPI.Node |
getGroundNode() |
double |
getLambda()
Get lambda value in nanometers
|
long |
getLambdaCM() |
long |
getMaxTime() |
java.util.List<SimAPI.Node> |
getNodes() |
int |
getNumAliases() |
int |
getNumConsPunted() |
int |
getNumEdges() |
long |
getNumEvents() |
int |
getNumNodes() |
int |
getNumPunted() |
SimAPI.Node |
getPowerNode() |
int |
getReport() |
java.util.List<SimAPI.Trans> |
getShortedTransistors() |
int |
getUnitDelay() |
void |
initNetwork()
1 -> 1ns, 100 -> 0.01ns resolution, etc
|
int |
inputSim(java.io.Reader simReader,
java.lang.String fileName)
Load a .sim file into memory.
|
void |
loadConfig(java.net.URL parameterURL,
SimAPI.Analyzer analyzer) |
java.lang.String[] |
parseLine(java.lang.String line) |
void |
printPendingEvents() |
void |
putCapacitor(java.lang.String net1,
java.lang.String net2,
double capacitance)
Put capacitor into the circuit
|
void |
putResistor(java.lang.String net1,
java.lang.String net2,
double resistance)
Put resistor into the circuit
|
void |
putTransistor(java.lang.String gateName,
java.lang.String sourceName,
java.lang.String drainName,
double gateLength,
double gateWidth,
double activeArea,
double activePerim,
double centerX,
double centerY,
boolean isNTypeTransistor)
Put triansitor into the circuit
|
void |
reInit()
Set the firstCall flags.
|
void |
setAnalyzer(SimAPI.Analyzer analyzer) |
void |
setCurDelta(long curDelta)
current simulated time
|
void |
setDebug(int irDebug) |
void |
setDecay(long decay) |
void |
setModel(boolean rc) |
void |
setReport(int mask) |
void |
setUnitDelay(int unitDelay) |
boolean |
step(long stopTime,
java.util.Collection<SimAPI.Node> xInputs,
java.util.Collection<SimAPI.Node> hInputs,
java.util.Collection<SimAPI.Node> lInputs,
java.util.Collection<SimAPI.Node> uInputs) |
static final int NCHAN
static final int PCHAN
static final int DEP
static final int RESIST
static final int ALWAYSON
static final int GATELIST
static final int ORED
static final int ORLIST
static final int TCAP
static final int OFF
static final int ON
static final int UNKNOWN
static final int WEAK
static final int CROSSED
static final int BROKEN
static final int PBROKEN
static final int PARALLEL
static final int LOW
static final int X
static final int X_X
static final int HIGH
static final int N_POTS
static final int DECAY
static final int POWER_RAIL
static final int ALIAS
static final int USERDELAY
static final int INPUT
static final int WATCHED
static final int WATCHVECTOR
static final int STOPONCHANGE
static final int STOPVECCHANGE
static final int VISITED
static final int MERGED
static final int H_INPUT
static final int L_INPUT
static final int U_INPUT
static final int X_INPUT
static final int INPUT_MASK
static final int DEBUG_EV
static final int DEBUG_DC
static final int DEBUG_TAU
static final int DEBUG_TAUP
static final int DEBUG_SPK
static final int DEBUG_TW
static final int REPORT_DECAY
static final int REPORT_DELAY
static final int REPORT_TAU
static final int REPORT_TCOORD
static final int REPORT_CAP
static final int STATIC
static final int DYNHIGH
static final int DYNLOW
static final int POWER
static final int R_TYPES
static final int REVAL
static final int DECAY_EV
static final int PENDING
static final double MIN_CAP
static final int R_LOW
static final int R_HIGH
static final long resolutionScale
void initNetwork()
void loadConfig(java.net.URL parameterURL, SimAPI.Analyzer analyzer)
void setModel(boolean rc)
void setAnalyzer(SimAPI.Analyzer analyzer)
void setUnitDelay(int unitDelay)
void setDecay(long decay)
void setDebug(int irDebug)
void clearReport()
void setReport(int mask)
int getUnitDelay()
long getDecay()
long getLambdaCM()
int getReport()
void putTransistor(java.lang.String gateName, java.lang.String sourceName, java.lang.String drainName, double gateLength, double gateWidth, double activeArea, double activePerim, double centerX, double centerY, boolean isNTypeTransistor)
gateName
- name of transistor gate networksourceName
- name of transistor gate networkdrainName
- drain name of transistor gate networkgateLength
- gate length (lambda)gateWidth
- gate width (lambda)activeArea
- active area (lambda^2)activePerim
- active perim (lambda^2)centerX
- x-coordinate of center (lambda)centerY
- y coordinate of cneter (lambda)isNTypeTransistor
- true if this is N-type transistorvoid putResistor(java.lang.String net1, java.lang.String net2, double resistance)
net1
- name of first terminal networknet2
- name of second terminal networkresistance
- resistance (ohm)void putCapacitor(java.lang.String net1, java.lang.String net2, double capacitance)
net1
- name of first terminal networknet2
- name of second terminal networkcapacitance
- capacitance (pf)int inputSim(java.io.Reader simReader, java.lang.String fileName) throws java.io.IOException
simReader
- Reader of .sim filefileName
- file name for error messagesjava.io.IOException
void finishNetwork()
double getLambda()
int getNumNodes()
int getNumAliases()
int getNumEdges()
java.util.List<SimAPI.Node> getNodes()
SimAPI.Node getGroundNode()
SimAPI.Node getPowerNode()
java.util.List<SimAPI.Trans> getShortedTransistors()
void reInit()
void backSimTime(long bTime, int isInc)
void backToTime(SimAPI.Node nd)
void printPendingEvents()
boolean step(long stopTime, java.util.Collection<SimAPI.Node> xInputs, java.util.Collection<SimAPI.Node> hInputs, java.util.Collection<SimAPI.Node> lInputs, java.util.Collection<SimAPI.Node> uInputs)
void setCurDelta(long curDelta)
void clearCurNode()
int getNumPunted()
int getNumConsPunted()
long getNumEvents()
long getMaxTime()
long getCurDelta()
java.lang.String[] parseLine(java.lang.String line)