Router< Nin, Nout, FlitWidth > Class Template Reference

#include <Router.h>

List of all members.

Public Types

enum  { RIDLE, RX }
enum  { WIDLE, TX }
enum  { IDLE, FLIT }

Public Member Functions

 SC_HAS_PROCESS (Router)
void Fsm ()
void InputFsm ()
void SwitchFsm ()
void OutputFsm ()
void PrintState ()
 Router (sc_module_name n, int T, int Size, map< pair< int, int >, int > RoutingTable, vector< double > ChannelWeights, TechnologyNode Tech)
double GetDynamicPower ()

Public Attributes

sc_in< bool > Clock
sc_in< sc_bv< FlitWidth > > DataIn [Nin]
sc_in< bool > ValidIn [Nin]
sc_out< bool > AckOut [Nin]
sc_out< bool > FullOut [Nin]
sc_out< sc_bv< FlitWidth > > DataOut [Nout]
sc_out< bool > ValidOut [Nout]
sc_in< bool > AckIn [Nout]
sc_in< bool > FullIn [Nout]
TechnologyNode mTech
map< pair< int, int >, int > mRoutingTable
vector< double > mChannelWeights
int mSize
int mT
vector< queue< sc_bv
< FlitWidth > > > 
mFIFO
vector< queue< sc_bv
< FlitWidth > > > 
mOutputBuffer
enum Router:: { ... }  mRstate [Nin]
enum Router:: { ... }  mWstate [Nout]
vector< bool > mInputGranted
vector< int > mOutput
vector< int > mInput
vector< bool > mOutputBusy
vector< int > mFlitCount
vector< int > mSentFlits
vector< pair< int, int > > mCurrentFlow
int mTotalFlitSent
enum Router:: { ... }  mState [Nin]
int mLastGranted
double mDynamicEnergy

template<int Nin, int Nout, int FlitWidth>
class Router< Nin, Nout, FlitWidth >


Member Enumeration Documentation

template<int Nin, int Nout, int FlitWidth>
anonymous enum

Enumerator:
RIDLE 
RX 

template<int Nin, int Nout, int FlitWidth>
anonymous enum

Enumerator:
WIDLE 
TX 

template<int Nin, int Nout, int FlitWidth>
anonymous enum

Enumerator:
IDLE 
FLIT 


Constructor & Destructor Documentation

template<int Nin, int Nout, int FlitWidth>
Router< Nin, Nout, FlitWidth >::Router ( sc_module_name  n,
int  T,
int  Size,
map< pair< int, int >, int >  RoutingTable,
vector< double >  ChannelWeights,
TechnologyNode  Tech 
) [inline]


Member Function Documentation

template<int Nin, int Nout, int FlitWidth>
Router< Nin, Nout, FlitWidth >::SC_HAS_PROCESS ( Router< Nin, Nout, FlitWidth >   ) 

template<int Nin, int Nout, int FlitWidth>
void Router< Nin, Nout, FlitWidth >::Fsm (  )  [inline]

template<int Nin, int Nout, int FlitWidth>
void Router< Nin, Nout, FlitWidth >::InputFsm (  )  [inline]

template<int Nin, int Nout, int FlitWidth>
void Router< Nin, Nout, FlitWidth >::SwitchFsm (  )  [inline]

template<int Nin, int Nout, int FlitWidth>
void Router< Nin, Nout, FlitWidth >::OutputFsm (  )  [inline]

template<int Nin, int Nout, int FlitWidth>
void Router< Nin, Nout, FlitWidth >::PrintState (  )  [inline]

template<int Nin, int Nout, int FlitWidth>
double Router< Nin, Nout, FlitWidth >::GetDynamicPower (  )  [inline]


Member Data Documentation

template<int Nin, int Nout, int FlitWidth>
sc_in< bool > Router< Nin, Nout, FlitWidth >::Clock

template<int Nin, int Nout, int FlitWidth>
sc_in< sc_bv< FlitWidth > > Router< Nin, Nout, FlitWidth >::DataIn[Nin]

template<int Nin, int Nout, int FlitWidth>
sc_in< bool > Router< Nin, Nout, FlitWidth >::ValidIn[Nin]

template<int Nin, int Nout, int FlitWidth>
sc_out< bool > Router< Nin, Nout, FlitWidth >::AckOut[Nin]

template<int Nin, int Nout, int FlitWidth>
sc_out< bool > Router< Nin, Nout, FlitWidth >::FullOut[Nin]

template<int Nin, int Nout, int FlitWidth>
sc_out< sc_bv< FlitWidth > > Router< Nin, Nout, FlitWidth >::DataOut[Nout]

template<int Nin, int Nout, int FlitWidth>
sc_out< bool > Router< Nin, Nout, FlitWidth >::ValidOut[Nout]

template<int Nin, int Nout, int FlitWidth>
sc_in< bool > Router< Nin, Nout, FlitWidth >::AckIn[Nout]

template<int Nin, int Nout, int FlitWidth>
sc_in< bool > Router< Nin, Nout, FlitWidth >::FullIn[Nout]

template<int Nin, int Nout, int FlitWidth>
TechnologyNode Router< Nin, Nout, FlitWidth >::mTech

template<int Nin, int Nout, int FlitWidth>
map< pair<int,int> , int > Router< Nin, Nout, FlitWidth >::mRoutingTable

template<int Nin, int Nout, int FlitWidth>
vector< double > Router< Nin, Nout, FlitWidth >::mChannelWeights

template<int Nin, int Nout, int FlitWidth>
int Router< Nin, Nout, FlitWidth >::mSize

template<int Nin, int Nout, int FlitWidth>
int Router< Nin, Nout, FlitWidth >::mT

template<int Nin, int Nout, int FlitWidth>
vector< queue< sc_bv< FlitWidth > > > Router< Nin, Nout, FlitWidth >::mFIFO

template<int Nin, int Nout, int FlitWidth>
vector< queue< sc_bv< FlitWidth > > > Router< Nin, Nout, FlitWidth >::mOutputBuffer

enum { ... } Router< Nin, Nout, FlitWidth >::mRstate[Nin]

enum { ... } Router< Nin, Nout, FlitWidth >::mWstate[Nout]

template<int Nin, int Nout, int FlitWidth>
vector< bool > Router< Nin, Nout, FlitWidth >::mInputGranted

template<int Nin, int Nout, int FlitWidth>
vector< int > Router< Nin, Nout, FlitWidth >::mOutput

template<int Nin, int Nout, int FlitWidth>
vector< int > Router< Nin, Nout, FlitWidth >::mInput

template<int Nin, int Nout, int FlitWidth>
vector< bool > Router< Nin, Nout, FlitWidth >::mOutputBusy

template<int Nin, int Nout, int FlitWidth>
vector< int > Router< Nin, Nout, FlitWidth >::mFlitCount

template<int Nin, int Nout, int FlitWidth>
vector<int> Router< Nin, Nout, FlitWidth >::mSentFlits

template<int Nin, int Nout, int FlitWidth>
vector< pair<int,int> > Router< Nin, Nout, FlitWidth >::mCurrentFlow

template<int Nin, int Nout, int FlitWidth>
int Router< Nin, Nout, FlitWidth >::mTotalFlitSent

enum { ... } Router< Nin, Nout, FlitWidth >::mState[Nin]

template<int Nin, int Nout, int FlitWidth>
int Router< Nin, Nout, FlitWidth >::mLastGranted

template<int Nin, int Nout, int FlitWidth>
double Router< Nin, Nout, FlitWidth >::mDynamicEnergy


The documentation for this class was generated from the following file:
  • libraries/onchipcommunication/systemc/Router.h

Generated on Sun Sep 7 18:37:45 2008 for COSI by  doxygen 1.5.4
Contact 
©2002-2018 U.C. Regents