|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecthades.signals.Signal
hades.signals.SignalStdLogic1164
SignalStdLogic1164 - a class that models an IEEE StdLogic1164 Signal
This class also supports the StdLogic1164 standard resolution function for Signals with multiple drivers via the 'resolve()' method. By subclassing SignalStdLogic1164 and by overriding resolve() it is easy to provide other signal models, e.g. with wired-or or wired-and semantics. However, for performance reasons, the resolve() method is called only for Signals with more than one driver.
Field Summary | |
protected int |
_cur
|
protected int |
_last
|
protected StdLogic1164 |
current_1164
|
protected StdLogic1164 |
last_1164
|
protected StdLogic1164[] |
myDriverValues
|
Fields inherited from class hades.signals.Signal |
debug, design, DFS, driverValues, EA, glowMode, isRoot, label, lastChangeTime, lastValue, name, portPositionTable, probe, probeSymbol, receivers, segments, senders, simulator, solderDots, st, VA, value, vertexTable, VI, visible, visited |
Constructor Summary | |
SignalStdLogic1164()
|
|
SignalStdLogic1164(java.lang.String name)
|
|
SignalStdLogic1164(java.lang.String name,
Port[] senders,
Port[] receivers)
|
Method Summary | |
boolean |
addSender(Port p)
add a new driver for this Signal and initialize its default driving value to 'StdLogic1164._U'. |
void |
animate()
called after the value of this Signal changed. |
boolean |
deleteSender(Port p)
delete a sender from this Signal |
void |
elaborate(java.lang.Object arg)
initialize this Signal: first, call Signal.elaborate() for the general initialization. |
void |
evaluate(java.lang.Object arg)
evaluate |
void |
extractDriverValue(java.lang.Object arg)
extractDriverValue(): check that Object "arg" is a SimEvent, then extract the sender port and the new value of the sender. |
java.awt.Color |
getColor()
get the color to be used for drawing the WireSegments and SolderDots for this Signal during animation. |
static Signal |
getDefaultValue()
|
java.lang.Object |
getPreviousValue()
|
java.lang.String |
getToolTip(java.awt.Point position,
long millis)
construct a (short) tool tip message for a SignalStdLogic1164. |
java.lang.Object |
getValue()
|
void |
handleGlowMode()
do whatever is necessary to update our graphical representation when the glow mode state changed. |
boolean |
hasFallingEdge()
|
boolean |
hasRisingEdge()
|
void |
propagateConnectivityChanges()
this method is called from the connect() and disconnect() methods to inform all senders/receivers of this Signal of any interactive changes made to the Signal connectivity status. |
java.lang.Object |
resolve()
|
java.lang.String |
toString()
toString() - the usual info method |
void |
updateDriverArray()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected StdLogic1164 current_1164
protected StdLogic1164 last_1164
protected int _cur
protected int _last
protected StdLogic1164[] myDriverValues
Constructor Detail |
public SignalStdLogic1164()
public SignalStdLogic1164(java.lang.String name)
public SignalStdLogic1164(java.lang.String name, Port[] senders, Port[] receivers)
Method Detail |
public void updateDriverArray()
public java.lang.Object getValue()
getValue
in class Signal
public java.lang.Object getPreviousValue()
getPreviousValue
in class Signal
public static Signal getDefaultValue()
public boolean addSender(Port p)
addSender
in class Signal
Signal.addSender(hades.simulator.Port)
public boolean deleteSender(Port p)
Signal
deleteSender
in class Signal
public java.awt.Color getColor()
getColor
in interface ColorSource
getColor
in class Signal
public void elaborate(java.lang.Object arg)
elaborate
in interface Simulatable
elaborate
in class Signal
public void evaluate(java.lang.Object arg)
evaluate
in interface Simulatable
evaluate
in class Signal
arg
- An object with the new value for this signal.public void propagateConnectivityChanges()
For example, we want to propagate the current Signal value to a newly added receiver port, in order to avoid additional simulation restarts.
Note that this method should not generate additional SimEvents during simulation startup.
propagateConnectivityChanges
in class Signal
public void handleGlowMode()
handleGlowMode
in class Signal
public void animate()
public boolean hasRisingEdge()
public boolean hasFallingEdge()
public void extractDriverValue(java.lang.Object arg)
public java.lang.Object resolve()
public java.lang.String getToolTip(java.awt.Point position, long millis)
getToolTip
in interface ContextToolTip
getToolTip
in class Signal
public java.lang.String toString()
toString
in class Signal
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |