Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

simthlib::AdaptiveMultiplexerT< seqT > Class Template Reference

AdaptiveMultiplexerT. More...

#include <multiplexer.h>

Inheritance diagram for simthlib::AdaptiveMultiplexerT< seqT >:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 AdaptiveMultiplexerT (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl)
void setInputCycle (simth::checkedVector< unsigned int > inputCycle)
void setOutputCycle (simth::checkedVector< unsigned int > outputCycle)
void setTotalInputLength (unsigned int length)
void setTotalOutputLength (unsigned int length)
void process ()
void updateInputLengths ()
void updateOutputLengths ()
void updateInOutLengths ()
void startOfSimulation ()

Detailed Description

template<class seqT>
class simthlib::AdaptiveMultiplexerT< seqT >

AdaptiveMultiplexerT.

Implementation class for an adaptive multiplexer, where the type of the data sequence is specified through the type template. "Adaptive" means that the input interfaces and output interfaces are not processed in an element-by-element fashion, but that the number of elements read from/written to each interface per cycle can be chosen arbitrarily. Example: Consider a 3-to-1-multiplexer. For a conventional multiplexer the sequence of elements at the single output interface is 0,1,2,0,1,2,0,1,2,... where the numbers refer to the pertaining input interface. With the adaptive multiplexer, short sequences of elements can be directed to the output, e.g. a possible output sequence could be 0,0,0,0,1,2,2,2,0,0,0,0,1,2,2,2,0,0,0,0,1,2,2,2,... This type of multiplexing is especially useful for applications where the devices at the multiplexer inputs generate considerably different amounts of input data. The multiplexing sequences are determined by checked vectors indicating for each input and output interface how many consecutive elements per cycle shall be processed.


Constructor & Destructor Documentation

template<class seqT>
simthlib::AdaptiveMultiplexerT< seqT >::AdaptiveMultiplexerT int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl
 


Member Function Documentation

template<class seqT>
void simthlib::AdaptiveMultiplexerT< seqT >::process  )  [virtual]
 

Reimplemented from simthlib::Multiplexer.

template<class seqT>
void simthlib::AdaptiveMultiplexerT< seqT >::setInputCycle simth::checkedVector< unsigned int >  inputCycle  ) 
 

template<class seqT>
void simthlib::AdaptiveMultiplexerT< seqT >::setOutputCycle simth::checkedVector< unsigned int >  outputCycle  ) 
 

template<class seqT>
void simthlib::AdaptiveMultiplexerT< seqT >::setTotalInputLength unsigned int  length  )  [inline]
 

template<class seqT>
void simthlib::AdaptiveMultiplexerT< seqT >::setTotalOutputLength unsigned int  length  )  [inline]
 

template<class seqT>
void simthlib::AdaptiveMultiplexerT< seqT >::startOfSimulation  )  [virtual]
 

Reimplemented from simth::Device.

template<class seqT>
void simthlib::AdaptiveMultiplexerT< seqT >::updateInOutLengths  ) 
 

template<class seqT>
void simthlib::AdaptiveMultiplexerT< seqT >::updateInputLengths  )  [virtual]
 

Reimplemented from simthlib::Multiplexer.

template<class seqT>
void simthlib::AdaptiveMultiplexerT< seqT >::updateOutputLengths  )  [virtual]
 

Reimplemented from simthlib::Multiplexer.


Generated on Tue Aug 9 14:39:03 2005 for simtheticlib by  doxygen 1.4.1