hades.simulator
Class Port

java.lang.Object
  extended byhades.simulator.Port
All Implemented Interfaces:
ContextToolTip, java.io.Serializable
Direct Known Subclasses:
PortInteger, PortStdLogic1164, PortStdLogicVector, PortString

public class Port
extends java.lang.Object
implements ContextToolTip, java.io.Serializable

Port - a class that describes a formal interface pin of a simulation object, with fields for 'name', position (x,y), type (IN,OUT,INOUT,...) and the specific Signal class type, e.g. 'hades.signal.Std_logic_1164'. This class is _not_ used to draw the Port.

A Port has two references to SimObjects: the 'handler' object is the object whose 'evaluate()' method is called in reaction to events on this Port. The 'parent' SimObject is the object this Port belongs to.

For most Ports, the two objects are the same. However, for top_level Ports on Ipin/Opin objects, the 'handler' object is the Ipin/Opin, while the 'parent' object is the enclosing Design object.

The field 'optArg' in class Port may be used for any purpose by advanced user-defined Signal types. For example, it is used by StdLogicVector and SignalStdLogicVector to provide access to the current width (n_bits) of the bus. Most simple Signal classes like StdLogic1164 and IntegerSignal will keep 'optArg' null.

See Also:
Serialized Form

Field Summary
static int BIDIR
           
 java.lang.Class class1164
           
static int GND
           
protected  SimObject handler
           
static int IN
           
static int INOUT
           
protected  java.lang.String name
           
protected  java.lang.Object optArg
           
static int OUT
           
protected  SimObject parent
           
static int PASSIVE_IN
           
protected  Signal signal
           
protected  java.lang.Class signalClass
           
static int TOPLEVEL_IN
           
protected  int type
           
static int UNUSED
           
protected  java.lang.Object value
           
static int VCC
           
 
Constructor Summary
Port(SimObject parent, java.lang.String name, int type, Signal signal)
           
Port(SimObject parent, java.lang.String name, int type, Signal signal, java.lang.Class signalClass)
           
Port(SimObject parent, java.lang.String name, int type, Signal signal, java.lang.Class signalClass, java.lang.Object optArg)
           
 
Method Summary
 SimObject getHandler()
           
 java.lang.String getName()
           
 java.lang.Object getOptArg()
           
 SimObject getParent()
           
 Signal getSignal()
           
 java.lang.Class getSignalClass()
           
 java.lang.String getToolTip(java.awt.Point position, long millis)
          construct a (short) tool tip message for a Port, which includes the Port name, its type (direction), and information about the expected and/or connected Signal type.
 int getType()
           
 java.lang.String getTypeString()
           
 java.lang.Object getValue()
           
 boolean isInputPort()
           
 boolean isPowerPort()
           
 void setHandler(SimObject s)
           
 void setName(java.lang.String name)
           
 void setOptArg(java.lang.Object o)
           
 void setParent(SimObject s)
           
 void setSignal(Signal s)
           
 void setValue(java.lang.Object o)
           
 void tearDown()
          release all references held by this Port.
 java.lang.String toString()
           
 java.lang.String toStringVerbose()
          toString() - the usual info method
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

parent

protected SimObject parent

handler

protected SimObject handler

name

protected java.lang.String name

type

protected int type

signal

protected Signal signal

signalClass

protected java.lang.Class signalClass

optArg

protected java.lang.Object optArg

value

protected java.lang.Object value

class1164

public final java.lang.Class class1164

IN

public static final int IN
See Also:
Constant Field Values

OUT

public static final int OUT
See Also:
Constant Field Values

INOUT

public static final int INOUT
See Also:
Constant Field Values

BIDIR

public static final int BIDIR
See Also:
Constant Field Values

PASSIVE_IN

public static final int PASSIVE_IN
See Also:
Constant Field Values

VCC

public static final int VCC
See Also:
Constant Field Values

GND

public static final int GND
See Also:
Constant Field Values

TOPLEVEL_IN

public static final int TOPLEVEL_IN
See Also:
Constant Field Values

UNUSED

public static final int UNUSED
See Also:
Constant Field Values
Constructor Detail

Port

public Port(SimObject parent,
            java.lang.String name,
            int type,
            Signal signal)

Port

public Port(SimObject parent,
            java.lang.String name,
            int type,
            Signal signal,
            java.lang.Class signalClass)

Port

public Port(SimObject parent,
            java.lang.String name,
            int type,
            Signal signal,
            java.lang.Class signalClass,
            java.lang.Object optArg)
Method Detail

getParent

public SimObject getParent()

getHandler

public SimObject getHandler()

getName

public java.lang.String getName()

getType

public int getType()

getSignal

public Signal getSignal()

getSignalClass

public java.lang.Class getSignalClass()

getOptArg

public java.lang.Object getOptArg()

getValue

public java.lang.Object getValue()

setValue

public void setValue(java.lang.Object o)

setSignal

public void setSignal(Signal s)

setName

public void setName(java.lang.String name)

setHandler

public void setHandler(SimObject s)

setParent

public void setParent(SimObject s)

setOptArg

public void setOptArg(java.lang.Object o)

isInputPort

public boolean isInputPort()

isPowerPort

public boolean isPowerPort()

tearDown

public void tearDown()
release all references held by this Port. Note that the port should not be accessed after this method has been called. Should be overridden by subclasses as needed.


getToolTip

public java.lang.String getToolTip(java.awt.Point position,
                                   long millis)
construct a (short) tool tip message for a Port, which includes the Port name, its type (direction), and information about the expected and/or connected Signal type. This method should be overridden as needed.

Specified by:
getToolTip in interface ContextToolTip

getTypeString

public java.lang.String getTypeString()

toStringVerbose

public java.lang.String toStringVerbose()
toString() - the usual info method


toString

public java.lang.String toString()