hades.models.rtlib.register
Class RegWithInitialValue

java.lang.Object
  extended byhades.simulator.SimObject
      extended byhades.models.rtlib.GenericRtlibObject
          extended byhades.models.rtlib.register.RegWithInitialValue
All Implemented Interfaces:
Assignable, java.lang.Cloneable, ContextToolTip, java.io.Serializable, Simulatable, Wakeable

public class RegWithInitialValue
extends GenericRtlibObject
implements Assignable

RegWithInitialValue - an edge-triggered 1..32-bit output register which starts in an user-defined initial value instead of XXX. This is useful for visualization, but should not be used in "real" designs. Signals are expected to be of type SignalStdLogicVector for D and Q, and SignalStdLogic1164 for CLK.

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  long initialValue
           
protected  PortStdLogic1164 port_CLK
           
protected  PortStdLogicVector port_D
           
protected  PortStdLogicVector port_Q
           
protected  double t_setup
           
 
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
RegWithInitialValue()
           
 
Method Summary
 void constructPorts()
           
 void elaborate(java.lang.Object arg)
          elaborate(): This method is called by the simulation engine to initialize this RTLIB object for simulation.
 void evaluate(java.lang.Object arg)
          evaluate(): called by the simulation engine on all events that concern this object.
 boolean initialize(java.lang.String s)
          initialize a RTLIB object from a String which contains the integer version id, the width of this vector, and optionally a String of the desired start value (e.g.
 void write(java.io.PrintWriter ps)
          write the following data to PrintWriter ps: our versionId, the width (n_bits), the default output value (vector), the default delay.
 
Methods inherited from class hades.models.rtlib.GenericRtlibObject
assign, configure, constructStandardValues, copy, getDelay, getEnableAnimationFlag, getFormattedValue, getNumberFormat, getToolTip, getValue, getWidth, initValueLabel, isConnected, scheduleAfter, scheduleAfter, scheduleVectorOutputPort, setDelay, setDelay, setEnableAnimationFlag, setEnableAnimationFlag, setFormattedValue, setNumberFormat, setNumberFormat, setSymbol, setValue, setValue, setWidth, setWidth, toString, updateSymbol, 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.Assignable
assign
 
Methods inherited from interface hades.simulator.Simulatable
message
 

Field Detail

port_Q

protected PortStdLogicVector port_Q

port_D

protected PortStdLogicVector port_D

port_CLK

protected PortStdLogic1164 port_CLK

t_setup

protected double t_setup

initialValue

protected long initialValue
Constructor Detail

RegWithInitialValue

public RegWithInitialValue()
Method Detail

constructPorts

public void constructPorts()
Overrides:
constructPorts in class GenericRtlibObject

elaborate

public void elaborate(java.lang.Object arg)
elaborate(): This method is called by the simulation engine to initialize this RTLIB object for simulation.

GenericRtlibObject just calls updateSymbol() to initialize its graphical representation. Probably, most RTLIB classes won't need to override this method.

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

evaluate

public void evaluate(java.lang.Object arg)
Description copied from interface: Simulatable
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

write

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

Overrides:
write in class GenericRtlibObject

initialize

public boolean initialize(java.lang.String s)
Description copied from class: GenericRtlibObject
initialize a RTLIB object from a String which contains the integer version id, the width of this vector, and optionally a String of the desired start value (e.g. "1001 8 01ZXW001" for an 8 bit vector), and optionally the default delay.

Overrides:
initialize in class GenericRtlibObject