public class HsimModel extends NanosimModel
Modifier and Type | Field and Description |
---|---|
static double |
badtime |
protected static java.util.regex.Pattern[] |
patNodeInfo |
protected static java.util.regex.Pattern |
patSimTime |
protected java.lang.String |
simFile |
assuraRCXNetlist, DEBUG, getSimTime_tres, jtagTesters, logicSettables, nodesToSet, patNodeInfo2, simTime, starRCXTNetlist, timeStep, vdd
errorFlag, quitCommand, simulatorName
Constructor and Description |
---|
HsimModel() |
Modifier and Type | Method and Description |
---|---|
void |
applyVoltages()
This is used to apply all voltages at the same time for the current time step.
|
protected boolean |
checkRcx()
Checks if simFile is from Assura RCX
|
void |
disableNode(java.lang.String node)
Sets voltage on node to 0
|
void |
enableNode(java.lang.String node)
Same a releaseNodeVoltage
|
protected java.util.List |
getNodeInfo(java.util.List nodes,
boolean returnState)
Gets the voltages on the nodes
|
double |
getSimTime()
Gets simulation time
|
double |
getSimTres()
Get the simulation's time step
|
static void |
main(java.lang.String[] args)
Unit Test
This test requires the file sim.spi in your working dir
|
void |
releaseNodes(java.util.List nodes)
release the list of nodes (Strings)
|
void |
releaseNodeVoltage(java.lang.String node)
Releases (forcing) on voltage on node
|
void |
restartDatabase(java.lang.String filename,
double timens)
Restore all nodes.
|
void |
saveDatabase(java.lang.String filename)
Saves all nodes.
|
void |
setNodeVoltage(java.lang.String node,
double value)
Set the voltage on node
|
void |
waitNS(double nanoseconds,
boolean applyVoltages)
Applies voltages and continues simualtion for a time
|
createJtagSubchainTester, createJtagSubchainTester, createJtagTester, createLogicSettable, createLogicSettable, getNodeState, getNodeVoltage, getSimulationTime, getTimeNS, getVdd, reportNodeIC, reportNodeIC, setNodeState, wait, waitNS, waitPS
assertNodeState, assertNodeState, createJtagTester, finish, finishAll, getElapsedTime, getNodeState, getOptimizedDirectReadsWrites, isBypassScanning, isProcessRunning, issueCommand, issueCommand, setAdditionalCommandLineArgs, setBypassScanning, setNodeState, setOptimizedDirectReadsWrites, setPrompt, start, start, startProcess, waitSeconds
protected java.lang.String simFile
protected static final java.util.regex.Pattern patSimTime
public static final double badtime
protected static final java.util.regex.Pattern[] patNodeInfo
public void setNodeVoltage(java.lang.String node, double value)
setNodeVoltage
in class NanosimModel
node
- name of nodevalue
- voltage to set in voltspublic void releaseNodeVoltage(java.lang.String node)
node
- name of nodepublic void disableNode(java.lang.String node)
disableNode
in class NanosimModel
node
- name of nodepublic void enableNode(java.lang.String node)
enableNode
in class NanosimModel
node
- name of nodeprotected boolean checkRcx()
public double getSimTime()
public void waitNS(double nanoseconds, boolean applyVoltages)
waitNS
in class NanosimModel
nanoseconds
- time to continue simuationapplyVoltages
- true if voltages are to be appliedpublic double getSimTres()
getSimTres
in class NanosimModel
public void applyVoltages()
applyVoltages
in class NanosimModel
public void releaseNodes(java.util.List nodes)
releaseNodes
in class NanosimModel
nodes
- a list of node names (strings)protected java.util.List getNodeInfo(java.util.List nodes, boolean returnState)
getNodeInfo
in class NanosimModel
nodes
- the nodes to queryreturnState
- defunct, not usedpublic void saveDatabase(java.lang.String filename)
filename
- public void restartDatabase(java.lang.String filename, double timens)
filename
- timens
- some earlier time in nanoseconds, basically
one can restart many times, each output file will have .rs# suffixpublic static void main(java.lang.String[] args)