#include <random.h>

Inheritance diagram for RandomNoCScheduler:
Collaboration diagram for RandomNoCScheduler:

List of all members.

Public Member Functions

 RandomNoCScheduler (const CSize maxDetour, const uint maxNrRipups, const uint maxNrTries)
 ~RandomNoCScheduler ()
bool solve ()

Private Member Functions

bool random (const CSize maxDetour, const uint maxNrRipups, const uint maxNrTries)
void putMessagesInRandomOrder ()
void putRoutesInRandomOrder (Routes &routes)
bool findScheduleEntityForMessageUsingRandom (Message *m, const CSize maxDetour)

Private Attributes

CSize maxDetour
uint maxNrRipups
uint maxNrTries

Detailed Description

RandomNoCScheduler () Random NoC scheduling algorithm


Constructor & Destructor Documentation

RandomNoCScheduler::RandomNoCScheduler ( const CSize  maxDetour,
const uint  maxNrRipups,
const uint  maxNrTries 
) [inline]
RandomNoCScheduler::~RandomNoCScheduler (  )  [inline]

Member Function Documentation

bool RandomNoCScheduler::findScheduleEntityForMessageUsingRandom ( Message m,
const CSize  maxDetour 
) [private]
void RandomNoCScheduler::putMessagesInRandomOrder (  )  [private]

putMessagesInRandomOrder () The function puts all messages in a random order by first assigning a random cost to each messages and then sorting them using this cost.

References NoCScheduleProblem::getMessages(), NoCScheduler::getSchedulingProblem(), NoCScheduler::messagesBegin(), NoCScheduler::messagesEnd(), MTRand::rand(), and Message::setCost().

Referenced by random().

Here is the call graph for this function:

void RandomNoCScheduler::putRoutesInRandomOrder ( Routes routes  )  [private]

putRoutesInRandomOrder () The function puts all routes in a random order by first assigning a random cost to each route and then sorting them using this cost.

References MTRand::rand(), and Route::setCost().

Referenced by findScheduleEntityForMessageUsingRandom().

Here is the call graph for this function:

bool RandomNoCScheduler::random ( const CSize  maxDetour,
const uint  maxNrRipups,
const uint  maxNrTries 
) [private]
bool RandomNoCScheduler::solve (  )  [inline, virtual]

Implements NoCScheduler.

References NoCScheduler::getSchedulingProblem(), maxDetour, maxNrRipups, maxNrTries, random(), and NoCScheduleProblem::setSolvedFlag().

Here is the call graph for this function:


Member Data Documentation

Referenced by solve().

Referenced by solve().

Referenced by solve().


The documentation for this class was generated from the following files: