ptolemy.actor.lib.vhdl
Class Memory

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.InstantiableNamedObj
          extended by ptolemy.kernel.Entity
              extended by ptolemy.kernel.ComponentEntity
                  extended by ptolemy.actor.AtomicActor
                      extended by ptolemy.actor.TypedAtomicActor
                          extended by ptolemy.actor.lib.vhdl.FixTransformer
                              extended by ptolemy.actor.lib.vhdl.SynchronousFixTransformer
                                  extended by ptolemy.actor.lib.vhdl.Memory
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

public class Memory
extends SynchronousFixTransformer

Produce an output token on each firing with a FixPoint value that is equal to the concatenation of the input bits from each input channel. The ordering of channels determines the order of the concatenation; inputs from later channels are appended to the end. The input can have any scalar type.

Since:
Ptolemy II 6.0
Version:
$Id: Memory.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Man-Kit Leung
See Also:
Serialized Form
Accepted Rating:
Red (mankit)
Proposed Rating:
Red (mankit)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
 
Field Summary
private  int _addressWidth
           
private  int _capacity
           
private  int _dataWidth
           
private  FixToken[] _storage
           
 TypedIOPort address
          The address port for fetching data.
 Parameter capacity
          The range of address from 0 to capacity.
 TypedIOPort dataIn
          The input port for writing data .
 TypedIOPort writeEnable
          The control port for signaling write.
 
Fields inherited from class ptolemy.actor.lib.vhdl.SynchronousFixTransformer
initialValue, latency
 
Fields inherited from class ptolemy.actor.lib.vhdl.FixTransformer
output
 
Fields inherited from class ptolemy.actor.AtomicActor
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
 
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
 
Fields inherited from interface ptolemy.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
 
Constructor Summary
Memory(CompositeEntity container, java.lang.String name)
          Construct an actor with the given container and name.
 
Method Summary
 void attributeChanged(Attribute attribute)
          Override the base class to determine which function is being specified.
 void fire()
          Output the fixpoint value of the concatenation of the input bits.
 void initialize()
          Initialize the state of the actor.
 void preinitialize()
          Override the base class to declare that the address, dataIn and writeEnable ports do not depend on the output in a firing.
 
Methods inherited from class ptolemy.actor.lib.vhdl.SynchronousFixTransformer
isStrict
 
Methods inherited from class ptolemy.actor.lib.vhdl.FixTransformer
_checkFixMaxValue, _checkFixTokenWidth, _setAndHideQuantizationParameters, _setQuantizationParameters, _showQuantizationParameters, getPortPrecision, newFixOutputPort, sendOutput
 
Methods inherited from class ptolemy.actor.TypedAtomicActor
_addPort, _fireAt, _fireAt, attributeTypeChanged, clone, newPort, typeConstraintList, typeConstraints
 
Methods inherited from class ptolemy.actor.AtomicActor
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, iterate, newReceiver, outputPortList, postfire, prefire, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup
 
Methods inherited from class ptolemy.kernel.ComponentEntity
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
 
Methods inherited from class ptolemy.kernel.Entity
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
 
Methods inherited from class ptolemy.kernel.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
 
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface ptolemy.actor.Executable
isFireFunctional, iterate, postfire, prefire, stop, stopFire, terminate
 
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, removeInitializable, wrapup
 
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
 
Methods inherited from interface ptolemy.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
 

Field Detail

capacity

public Parameter capacity
The range of address from 0 to capacity.


dataIn

public TypedIOPort dataIn
The input port for writing data .


writeEnable

public TypedIOPort writeEnable
The control port for signaling write.


address

public TypedIOPort address
The address port for fetching data.


_addressWidth

private int _addressWidth

_capacity

private int _capacity

_dataWidth

private int _dataWidth

_storage

private FixToken[] _storage
Constructor Detail

Memory

public Memory(CompositeEntity container,
              java.lang.String name)
       throws NameDuplicationException,
              IllegalActionException
Construct an actor with the given container and name.

Parameters:
container - The container.
name - The name of this actor.
Throws:
IllegalActionException - If the actor cannot be contained by the proposed container.
NameDuplicationException - If the container already has an actor with this name.
Method Detail

attributeChanged

public void attributeChanged(Attribute attribute)
                      throws IllegalActionException
Override the base class to determine which function is being specified.

Overrides:
attributeChanged in class SynchronousFixTransformer
Parameters:
attribute - The attribute that changed.
Throws:
IllegalActionException
IllegalActionException - If the function is not recognized.

fire

public void fire()
          throws IllegalActionException
Output the fixpoint value of the concatenation of the input bits. If there is no inputs, then produce no output.

Specified by:
fire in interface Executable
Overrides:
fire in class AtomicActor
Throws:
IllegalActionException - If there is no director.

initialize

public void initialize()
                throws IllegalActionException
Description copied from class: SynchronousFixTransformer
Initialize the state of the actor.

Specified by:
initialize in interface Initializable
Overrides:
initialize in class SynchronousFixTransformer
Throws:
IllegalActionException - If there is no director.

preinitialize

public void preinitialize()
                   throws IllegalActionException
Override the base class to declare that the address, dataIn and writeEnable ports do not depend on the output in a firing.

Specified by:
preinitialize in interface Initializable
Overrides:
preinitialize in class SynchronousFixTransformer
Throws:
IllegalActionException - Not thrown in this base class.