Main Page | Class Hierarchy | Compound List | File List | Compound Members | File Members

cosyNetwork Class Reference

#include <cosynetwork.h>

Inheritance diagram for cosyNetwork:

rteNetwork List of all members.

Public Member Functions

 cosyNetwork (NetworkImpl &n, Os &o, cosyRte &r)
 ~cosyNetwork ()
void start ()
void printCommunicationWorkload ()
void printComputationWorkload ()

Private Types

typedef std::list< rteOutPort * > cosyOutPorts
typedef std::list< rteInPort * > cosyInPorts
typedef std::list< cosyFifo * > cosyFifos
typedef std::list< cosyProcess * > cosyProcesses
typedef std::list< cosyNetwork * > cosyNetworks

Private Member Functions

void run ()
void join ()
void kill ()
bool growFifo ()
bool deadlock ()
void printFifoMetrics (Table &t, const FifoMetric *m, unsigned int n, bool title=true)
void printFifoStatus ()
void printProcessStatus (Table &t)
void printProcessStatus ()
void printCommunicationWorkload (Table &t)
void printComputationWorkload (Table &t)

Private Attributes

Osos
cosyRterte
cosyInPorts ci
cosyOutPorts co
cosyFifos cf
cosyProcesses cp
cosyNetworks cn
Tasktask
Taskzero1
Taskzero2

Static Private Attributes

bool growingFifos = true
bool dd = true

Friends

void handler1 (void *arg)
void handler2 (void *arg)
void fatal_func (void *arg)
void clean_func (void *arg)
void zero0_func (void *arg)
void zero1_func (void *arg)
void zero2_func (void *arg)

Member Typedef Documentation

typedef std::list<cosyFifo*> cosyNetwork::cosyFifos [private]
 

Definition at line 70 of file cosynetwork.h.

typedef std::list<rteInPort*> cosyNetwork::cosyInPorts [private]
 

Definition at line 69 of file cosynetwork.h.

typedef std::list<cosyNetwork*> cosyNetwork::cosyNetworks [private]
 

Definition at line 72 of file cosynetwork.h.

typedef std::list<rteOutPort*> cosyNetwork::cosyOutPorts [private]
 

Definition at line 68 of file cosynetwork.h.

typedef std::list<cosyProcess*> cosyNetwork::cosyProcesses [private]
 

Definition at line 71 of file cosynetwork.h.


Constructor & Destructor Documentation

cosyNetwork::cosyNetwork NetworkImpl n,
Os o,
cosyRte r
 

Definition at line 33 of file cosynetwork.cc.

References rteNetwork::api(), cf, ci, cn, co, cp, getFarInPorts(), getFarOutPorts(), NetworkBase::getFifo(), InPortBases, NetworkBase::nrFifos(), NetworkBase::nrNetworks(), NetworkBase::nrProcesses(), os, OutPortBases, and rte.

cosyNetwork::~cosyNetwork  ) 
 

Definition at line 78 of file cosynetwork.cc.

References cf, ci, cn, co, cp, and task.


Member Function Documentation

bool cosyNetwork::deadlock  )  [private]
 

Definition at line 285 of file cosynetwork.cc.

References rteNetwork::api(), cosyProcess::finished(), NetworkBase::getNetwork(), NetworkBase::getProcess(), NetworkBase::nrNetworks(), and NetworkBase::nrProcesses().

Referenced by handler1(), and handler2().

bool cosyNetwork::growFifo  )  [private]
 

Definition at line 263 of file cosynetwork.cc.

References rteNetwork::api(), NetworkBase::getFifo(), NetworkBase::getNetwork(), cosyFifo::grow(), growingFifos, NetworkBase::nrFifos(), and NetworkBase::nrNetworks().

Referenced by handler1(), and handler2().

void cosyNetwork::join  )  [private]
 

Definition at line 138 of file cosynetwork.cc.

References cn, and cp.

Referenced by start().

void cosyNetwork::kill  )  [private]
 

Definition at line 155 of file cosynetwork.cc.

References cn, and cp.

Referenced by clean_func().

void cosyNetwork::printCommunicationWorkload Table t  )  [private]
 

void cosyNetwork::printCommunicationWorkload  )  [virtual]
 

Implements rteNetwork.

Definition at line 371 of file cosynetwork.cc.

References Table::align(), rteNetwork::api(), NetworkImpl::commWorkload, FifoMetric, Table::left, printFifoMetrics(), ReadCalls, Table::right, Size, TokenSize, TokensPerRead, TokensPerWrite, TokensRead, TokensWritten, and WriteCalls.

void cosyNetwork::printComputationWorkload Table t  )  [private]
 

Definition at line 448 of file cosynetwork.cc.

References rteProcess::api(), rteNetwork::api(), cosyProcess::cntr, IdBase::fullName(), NetworkBase::getNetwork(), NetworkBase::getProcess(), NetworkBase::nrNetworks(), NetworkBase::nrProcesses(), and printComputationWorkload().

void cosyNetwork::printComputationWorkload  )  [virtual]
 

Implements rteNetwork.

Definition at line 472 of file cosynetwork.cc.

References Table::align(), rteNetwork::api(), NetworkImpl::compWorkload, Table::left, and Table::right.

Referenced by printComputationWorkload().

void cosyNetwork::printFifoMetrics Table t,
const FifoMetric m,
unsigned int  n,
bool  title = true
[private]
 

Definition at line 304 of file cosynetwork.cc.

References rteFifo::api(), rteNetwork::api(), IdBase::fullName(), NetworkBase::getFifo(), cosyFifo::getMetricName(), cosyFifo::getMetricValue(), NetworkBase::getNetwork(), NetworkBase::nrFifos(), NetworkBase::nrNetworks(), FifoImpl::nrRteFifos(), and FifoImpl::rte().

Referenced by printCommunicationWorkload(), and printFifoStatus().

void cosyNetwork::printFifoStatus  )  [private]
 

Definition at line 346 of file cosynetwork.cc.

References Table::align(), cosyRte::cerr(), Data, FifoMetric, Table::left, MaxSize, MinSize, NeededReadTokens, NeededWriteTokens, PendingReadTokens, PendingWriteTokens, Table::print(), printFifoMetrics(), Table::right, Room, rte, Size, TokensRead, and TokensWritten.

Referenced by handler1().

void cosyNetwork::printProcessStatus  )  [private]
 

Definition at line 437 of file cosynetwork.cc.

References Table::align(), cosyRte::cerr(), Table::left, Table::print(), and rte.

void cosyNetwork::printProcessStatus Table t  )  [private]
 

Definition at line 392 of file cosynetwork.cc.

References rteInPort::api(), rteFifo::api(), rteNetwork::api(), cosyFifo::block, IdBase::fullName(), rteFifo::getDst(), NetworkBase::getFifo(), NetworkBase::getNetwork(), NetworkBase::nrFifos(), NetworkBase::nrNetworks(), FifoImpl::nrRteFifos(), PortBase::parentComponent(), cosyFifo::rn, cosyFifo::rs, FifoImpl::rte(), cosyFifo::sel, FifoBase::srcPort(), cosyFifo::wn, and cosyFifo::ws.

Referenced by handler1().

void cosyNetwork::run  )  [private]
 

Definition at line 121 of file cosynetwork.cc.

References cn, and cp.

Referenced by start().

void cosyNetwork::start  )  [virtual]
 

Implements rteNetwork.

Definition at line 249 of file cosynetwork.cc.

References handler1(), join(), os, run(), and Os::setDeadlockHandler().


Friends And Related Function Documentation

void clean_func void *  arg  )  [friend]
 

Definition at line 218 of file cosynetwork.cc.

void fatal_func void *  arg  )  [friend]
 

Definition at line 211 of file cosynetwork.cc.

void handler1 void *  arg  )  [friend]
 

Definition at line 172 of file cosynetwork.cc.

void handler2 void *  arg  )  [friend]
 

Definition at line 194 of file cosynetwork.cc.

void zero0_func void *  arg  )  [friend]
 

Definition at line 225 of file cosynetwork.cc.

void zero1_func void *  arg  )  [friend]
 

Definition at line 237 of file cosynetwork.cc.

void zero2_func void *  arg  )  [friend]
 

Definition at line 243 of file cosynetwork.cc.


Member Data Documentation

cosyFifos cosyNetwork::cf [private]
 

Definition at line 75 of file cosynetwork.h.

Referenced by cosyNetwork(), and ~cosyNetwork().

cosyInPorts cosyNetwork::ci [private]
 

Definition at line 73 of file cosynetwork.h.

Referenced by cosyNetwork(), and ~cosyNetwork().

cosyNetworks cosyNetwork::cn [private]
 

Definition at line 77 of file cosynetwork.h.

Referenced by cosyNetwork(), join(), kill(), run(), and ~cosyNetwork().

cosyOutPorts cosyNetwork::co [private]
 

Definition at line 74 of file cosynetwork.h.

Referenced by cosyNetwork(), and ~cosyNetwork().

cosyProcesses cosyNetwork::cp [private]
 

Definition at line 76 of file cosynetwork.h.

Referenced by cosyNetwork(), join(), kill(), run(), and ~cosyNetwork().

bool cosyNetwork::dd = true [static, private]
 

Definition at line 31 of file cosynetwork.cc.

Referenced by handler1().

bool cosyNetwork::growingFifos = true [static, private]
 

Definition at line 30 of file cosynetwork.cc.

Referenced by growFifo().

Os& cosyNetwork::os [private]
 

Definition at line 40 of file cosynetwork.h.

Referenced by cosyNetwork(), handler1(), handler2(), and start().

cosyRte* cosyNetwork::rte [private]
 

Definition at line 41 of file cosynetwork.h.

Referenced by cosyNetwork(), fatal_func(), handler1(), printFifoStatus(), and printProcessStatus().

Task* cosyNetwork::task [private]
 

Definition at line 79 of file cosynetwork.h.

Referenced by clean_func(), handler1(), handler2(), zero0_func(), and ~cosyNetwork().

Task* cosyNetwork::zero1 [private]
 

Definition at line 80 of file cosynetwork.h.

Referenced by zero0_func(), and zero2_func().

Task* cosyNetwork::zero2 [private]
 

Definition at line 81 of file cosynetwork.h.

Referenced by zero0_func(), and zero1_func().


The documentation for this class was generated from the following files:
Generated on Wed Feb 15 14:52:40 2006 for yapi by doxygen 1.3.2