hades.models.rtlib.arith
Class GenericShifter

java.lang.Object
  extended byhades.simulator.SimObject
      extended byhades.models.rtlib.GenericRtlibObject
          extended byhades.models.rtlib.arith.GenericShifter
All Implemented Interfaces:
java.lang.Cloneable, ContextToolTip, java.io.Serializable, Simulatable, Wakeable
Direct Known Subclasses:
RotateLeft, RotateRight, ShiftLeft, ShiftRightArith, ShiftRightLogic

public class GenericShifter
extends GenericRtlibObject

GenericShifter - utility base class for RTLIB shifters and rotaters Signals are expected to be SignalStdLogicVector objects.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class hades.models.rtlib.GenericRtlibObject
GenericRtlibObject.BinaryValueLabelFormatter, GenericRtlibObject.DecimalValueLabelFormatter, GenericRtlibObject.DINColorSource, GenericRtlibObject.FlexibleLabelFormatter, GenericRtlibObject.HexValueLabelFormatter
 
Field Summary
protected  PortStdLogicVector port_A
           
protected  PortStdLogicVector port_Y
           
protected  int shiftcount
           
protected  Label shiftLabel
           
protected  StdLogicVector value_A
           
 
Fields inherited from class hades.models.rtlib.GenericRtlibObject
BINARY, DECIMAL, defaultdelay, delay, enableAnimationFlag, HEX, labelFormatter, n_bits, valueLabel, vector, vector_000, vector_111, vector_UUU, vector_XXX, vector_ZZZ, vectorOutputPort
 
Fields inherited from class hades.simulator.SimObject
classloader, console, debug, editor, name, parent, ports, propertySheet, simulator, symbol, versionId, visible
 
Constructor Summary
GenericShifter()
           
 
Method Summary
 void configure()
          create and display a 'ConfigDialog' to set the parameters for a SimObject.
 void constructPorts()
           
 void evaluate(java.lang.Object arg)
          evaluate(): called by the simulation engine on all events that concern this object.
 int getShiftcount()
           
 boolean initialize(java.lang.String s)
          initialize an GenericShifter from a String which contains the integer version id, the width of the input vector, the shift count, a String of the desired start value (e.g.
 void setShiftcount(java.lang.String s)
           
 void setSymbol(Symbol s)
           
 void updateSymbol()
           
 void write(java.io.PrintWriter ps)
          write the following data to PrintWriter ps: our versionId, the width (n_bits), the shift count, the default output value (vector), and the default delay.
 
Methods inherited from class hades.models.rtlib.GenericRtlibObject
assign, constructStandardValues, copy, elaborate, getDelay, getEnableAnimationFlag, getFormattedValue, getNumberFormat, getToolTip, getValue, getWidth, initValueLabel, isConnected, scheduleAfter, scheduleAfter, scheduleVectorOutputPort, setDelay, setDelay, setEnableAnimationFlag, setEnableAnimationFlag, setFormattedValue, setNumberFormat, setNumberFormat, setValue, setValue, setWidth, setWidth, toString, wakeup, wakeupAfter
 
Methods inherited from class hades.simulator.SimObject
constructDynamicSymbol, getBindkey, getClassLoader, getDebug, getEditor, getExternalResources, getFullName, getName, getParent, getPort, getPorts, getPropertySheet, getResourceAsStream, getSimulator, getSymbol, getSymbolResourceName, getVersionId, isVisible, keyPressed, message, mousePressed, needsDynamicSymbol, needsExternalResources, setClassLoader, setConsole, setDebug, setEditor, setName, setParent, setPorts, setSimulator, setVersionId, setVisible, tearDown
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface hades.simulator.Simulatable
message
 

Field Detail

port_A

protected PortStdLogicVector port_A

port_Y

protected PortStdLogicVector port_Y

value_A

protected StdLogicVector value_A

shiftcount

protected int shiftcount

shiftLabel

protected Label shiftLabel
Constructor Detail

GenericShifter

public GenericShifter()
Method Detail

constructPorts

public void constructPorts()
Overrides:
constructPorts in class GenericRtlibObject

setSymbol

public void setSymbol(Symbol s)
Overrides:
setSymbol in class GenericRtlibObject

evaluate

public void evaluate(java.lang.Object arg)
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

getShiftcount

public int getShiftcount()

setShiftcount

public void setShiftcount(java.lang.String s)

updateSymbol

public void updateSymbol()
Overrides:
updateSymbol in class GenericRtlibObject

write

public void write(java.io.PrintWriter ps)
write the following data to PrintWriter ps: our versionId, the width (n_bits), the shift count, the default output value (vector), and the default delay.

Overrides:
write in class GenericRtlibObject

initialize

public boolean initialize(java.lang.String s)
initialize an GenericShifter from a String which contains the integer version id, the width of the input vector, the shift count, a String of the desired start value (e.g. "1001 8 01ZXW001" for an 8 bit vector), and the default delay.

Overrides:
initialize in class GenericRtlibObject

configure

public void configure()
Description copied from class: SimObject
create and display a 'ConfigDialog' to set the parameters for a SimObject. The default ConfigDialog for the base class (SimObject) itself is empty except for the 'instance name' of the SimObject.

Overrides:
configure in class GenericRtlibObject