ptolemy.actor.lib.vhdl
Class FixTransformer

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
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
Direct Known Subclasses:
Concat, FixConst, FixSequence, Slice, SynchronousFixTransformer

public class FixTransformer
extends TypedAtomicActor

This is an abstract base class for actors that transform an input stream into output stream. It provides an fix point input and an fix point output port, and manages the cloning of these ports.

Since:
Ptolemy II 6.0
Version:
$Id: FixTransformer.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
 QueuedTypedIOPort output
          Queued ouput to simulate pipelined add.
 
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
FixTransformer(CompositeEntity container, java.lang.String name)
          Construct an actor with the given container and name.
 
Method Summary
protected  void _checkFixMaxValue(FixToken token, int max)
          Verify that the bit width of the given fix-point token is equal to the minimum bit width that is required to represent the given value.
protected  void _checkFixTokenWidth(FixToken token, int width)
          Verify that the bit width of the given FixToken is equal to the given width.
protected  void _setAndHideQuantizationParameters(java.lang.String precisionString, java.lang.String overflowString, java.lang.String roundingString)
          Set quantization parameters of the output port with the given parameter expression strings.
protected  void _setQuantizationParameters(java.lang.String precisionString, java.lang.String overflowString, java.lang.String roundingString)
          Set quantization parameters for the output port.
protected  void _showQuantizationParameters(boolean showPrecision, boolean showOverflow, boolean showRounding)
          Set the visibility of the precision, overflow and rounding parameters.
 java.lang.String getPortPrecision(IOPort port)
          Return the precision string of the given port.
 QueuedTypedIOPort newFixOutputPort(java.lang.String name)
          Create a new fix point type output port with given the name.
 void sendOutput(TypedIOPort port, int channel, Token token)
          Send the quantized output token according the output precision, overflow and rounding parameters of the output port.
 
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, fire, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, 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, attributeChanged, 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
fire, isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
 
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, initialize, preinitialize, 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

output

public QueuedTypedIOPort output
Queued ouput to simulate pipelined add. The output is fix point type.

Constructor Detail

FixTransformer

public FixTransformer(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

getPortPrecision

public java.lang.String getPortPrecision(IOPort port)
                                  throws IllegalActionException
Return the precision string of the given port.

Parameters:
port - The given port.
Returns:
The precision string.
Throws:
IllegalActionException - Thrown if there is no precision parameter for the given port.

sendOutput

public void sendOutput(TypedIOPort port,
                       int channel,
                       Token token)
                throws NoRoomException,
                       IllegalActionException
Send the quantized output token according the output precision, overflow and rounding parameters of the output port.

Parameters:
channel - The given channel to send the output token.
port - The given output port.
token - The given output token.
Throws:
IllegalActionException - If the token to be sent cannot be converted to the type of this port, or if the token is null.
NoRoomException - If there is no room in the receiver.

newFixOutputPort

public QueuedTypedIOPort newFixOutputPort(java.lang.String name)
                                   throws IllegalActionException,
                                          NameDuplicationException
Create a new fix point type output port with given the name. The container of the created port is this actor. This also create a new precision parameter associated with this port.

Parameters:
name - The given name of the port.
Returns:
The new output port.
Throws:
IllegalActionException - If parameters cannot be created.
NameDuplicationException - If a parameter with the same name already exists.

_checkFixTokenWidth

protected void _checkFixTokenWidth(FixToken token,
                                   int width)
                            throws IllegalActionException
Verify that the bit width of the given FixToken is equal to the given width. If not, an IllegalActionException is thrown.

Parameters:
token - The given fix-point token.
width - The given width.
Throws:
IllegalActionException - Thrown If the bit width of the given fix token is not equal to given width.

_checkFixMaxValue

protected void _checkFixMaxValue(FixToken token,
                                 int max)
                          throws IllegalActionException
Verify that the bit width of the given fix-point token is equal to the minimum bit width that is required to represent the given value.

Parameters:
token - The given token.
max - The given value.
Throws:
IllegalActionException - Thrown if _checkFixToken(FixToken, in) throws it.

_setAndHideQuantizationParameters

protected void _setAndHideQuantizationParameters(java.lang.String precisionString,
                                                 java.lang.String overflowString,
                                                 java.lang.String roundingString)
Set quantization parameters of the output port with the given parameter expression strings. Hide the parameters in the configure dialog.

Parameters:
precisionString - The given expression for the precision parameter.
overflowString - The given expression for the overflow parameter.
roundingString - The given expression for the rounding parameter.

_showQuantizationParameters

protected void _showQuantizationParameters(boolean showPrecision,
                                           boolean showOverflow,
                                           boolean showRounding)
Set the visibility of the precision, overflow and rounding parameters.

Parameters:
showPrecision - The visibility of the precision parameter.
showOverflow - The visibility of the overflow parameter.
showRounding - The visibility of the precision parameter.

_setQuantizationParameters

protected void _setQuantizationParameters(java.lang.String precisionString,
                                          java.lang.String overflowString,
                                          java.lang.String roundingString)
Set quantization parameters for the output port.

Parameters:
precisionString - The given precision expression.
overflowString - The given overflow expression.
roundingString - The given rounding expression.