Package ptolemy.actor.lib.vhdl
Class FixTransformer
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.InstantiableNamedObj
-
- ptolemy.kernel.Entity<T>
-
- ptolemy.kernel.ComponentEntity<T>
-
- ptolemy.actor.AtomicActor<TypedIOPort>
-
- ptolemy.actor.TypedAtomicActor
-
- ptolemy.actor.lib.vhdl.FixTransformer
-
- All Implemented Interfaces:
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$
- Author:
- Man-Kit Leung
- Pt.AcceptedRating:
- Red (mankit)
- Pt.ProposedRating:
- Red (mankit)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
-
-
Field Summary
Fields Modifier and Type Field Description QueuedTypedIOPort
output
Queued output to simulate pipelined add.-
Fields inherited from class ptolemy.actor.TypedAtomicActor
_typesValid
-
Fields inherited from class ptolemy.actor.AtomicActor
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
-
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _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
Constructors Constructor Description FixTransformer(CompositeEntity container, java.lang.String name)
Construct an actor with the given container and name.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
-
Methods inherited from class ptolemy.actor.AtomicActor
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, 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
_addPort, _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, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeChanged, attributeDeleted, attributeList, attributeList, decorators, 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, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, 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.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
-
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
-
-
-
-
Field Detail
-
output
public QueuedTypedIOPort output
Queued output 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.
-
-