hades.models.mcs4
Class AbstractIntel4000

java.lang.Object
  extended byhades.simulator.SimObject
      extended byhades.models.mcs4.AbstractIntel4000
All Implemented Interfaces:
java.lang.Cloneable, ContextToolTip, java.io.Serializable, Simulatable
Direct Known Subclasses:
i4001, i4002, i4004

public abstract class AbstractIntel4000
extends SimObject

Die abstrakte Unterklasse der MCS 4 Komponenten.

See Also:
Serialized Form

Field Summary
protected static double T_OH
          Die 'on-hold'-Zeit.
 
Fields inherited from class hades.simulator.SimObject
classloader, console, debug, editor, name, parent, ports, propertySheet, simulator, symbol, versionId, visible
 
Constructor Summary
AbstractIntel4000()
          Standardkonstruktor.
 
Method Summary
protected  void changeState()
          Normaler Subzykluswechsel.
protected  void createEvent(PortStdLogic1164 port, StdLogic1164 value)
          Erzeugt einen neuen Signalwert auf einem Port zum jetzigen Zeitpunkt.
protected  void createEvent(PortStdLogic1164 port, StdLogic1164 value, double delay)
          Erzeugt einen neuen Signalwert auf einem Port mit einer definierten Verz?gerung.
 void elaborate(java.lang.Object arg)
          elaborate(): This method is called by the simulation engine to initialize the simulation object.
 void evaluate(java.lang.Object arg)
          evaluate(): called by the simulation engine on all events that concern this object.
protected abstract  StdLogicVector getOutputData()
          Liefert die Daten, die auf den externen Bus sollen.
protected  StdLogic1164 getReset()
          Gibt das RESET-Signal zur?ck.
protected  boolean hasOutputData()
          Gibt an, ob Daten zum Versand anstehen.
protected  StdLogicVector receiveData()
          Greift Daten vom externen Bus ab.
protected  void receiveData(InternalState state)
          In dieser Methode k?nnen eintreffende Signale verarbeitet werden.
protected  void releaseBus()
          Gibt den externen Bus frei (Signale sind floating).
protected  void sendData(StdLogicVector data)
          Legt die Daten auf den Datenbus
protected  void setHasOutputData(boolean hasOutputData)
          Setzt den Status, ob Daten versendet werden sollen.
protected  void setState(InternalState state)
          Setzt den Subzyklus.
protected  boolean stateChanged()
          Gibt an, ob der Zyklus gewechselt wurde.
protected  void stateChanged(InternalState state)
          Mitteilung, dass ein neuer Subzyklus betreten wurde.
 
Methods inherited from class hades.simulator.SimObject
configure, constructDynamicSymbol, copy, getBindkey, getClassLoader, getDebug, getEditor, getExternalResources, getFullName, getName, getParent, getPort, getPorts, getPropertySheet, getResourceAsStream, getSimulator, getSymbol, getSymbolResourceName, getToolTip, getVersionId, initialize, isVisible, keyPressed, message, mousePressed, needsDynamicSymbol, needsExternalResources, setClassLoader, setConsole, setDebug, setEditor, setName, setParent, setPorts, setSimulator, setSymbol, setVersionId, setVisible, tearDown, toString, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

T_OH

protected static final double T_OH
Die 'on-hold'-Zeit.

See Also:
Constant Field Values
Constructor Detail

AbstractIntel4000

public AbstractIntel4000()
Standardkonstruktor.

Method Detail

getOutputData

protected abstract StdLogicVector getOutputData()
Liefert die Daten, die auf den externen Bus sollen.

Returns:
StdLogicVector mit den Daten

elaborate

public void elaborate(java.lang.Object arg)
Description copied from class: SimObject
elaborate(): This method is called by the simulation engine to initialize the simulation object.

Specified by:
elaborate in interface Simulatable
Overrides:
elaborate in class SimObject

evaluate

public void evaluate(java.lang.Object arg)
Description copied from class: SimObject
evaluate(): called by the simulation engine on all events that concern this object. The object is responsible for updating its internal state and for scheduling all pending output events.

Specified by:
evaluate in interface Simulatable
Overrides:
evaluate in class SimObject
Parameters:
arg - an arbitrary object argument

stateChanged

protected void stateChanged(InternalState state)
Mitteilung, dass ein neuer Subzyklus betreten wurde.

Parameters:
state - Der neue Zyklus

receiveData

protected void receiveData(InternalState state)
In dieser Methode k?nnen eintreffende Signale verarbeitet werden.

Parameters:
state - Der Status, in dem die Daten eintreffen

setState

protected void setState(InternalState state)
Setzt den Subzyklus.

Parameters:
state - Der neue Subzyklus

releaseBus

protected void releaseBus()
Gibt den externen Bus frei (Signale sind floating).


hasOutputData

protected boolean hasOutputData()
Gibt an, ob Daten zum Versand anstehen.

Returns:
true, wenn ja

setHasOutputData

protected void setHasOutputData(boolean hasOutputData)
Setzt den Status, ob Daten versendet werden sollen.

Parameters:
hasOutputData - true, wenn ja

sendData

protected void sendData(StdLogicVector data)
Legt die Daten auf den Datenbus

Parameters:
data - Die Daten

receiveData

protected StdLogicVector receiveData()
Greift Daten vom externen Bus ab.

Returns:
Die empfangenen Daten

getReset

protected StdLogic1164 getReset()
Gibt das RESET-Signal zur?ck.

Returns:
0 oder 1

createEvent

protected void createEvent(PortStdLogic1164 port,
                           StdLogic1164 value)
Erzeugt einen neuen Signalwert auf einem Port zum jetzigen Zeitpunkt.

Parameters:
port - Der betroffene Port
value - Der neue Wert

createEvent

protected void createEvent(PortStdLogic1164 port,
                           StdLogic1164 value,
                           double delay)
Erzeugt einen neuen Signalwert auf einem Port mit einer definierten Verz?gerung.

Parameters:
port - Der betroffenen Port
value - Der neue Wert
delay - Die Verz?gerung von jetzt an

changeState

protected void changeState()
Normaler Subzykluswechsel.


stateChanged

protected boolean stateChanged()
Gibt an, ob der Zyklus gewechselt wurde.

Returns:
true, wenn ja