Simulator Class Reference

#include <simulator.h>

List of all members.

Static Public Member Functions

static void Run ()
static void Stop ()
static void StopAt (double)
static double Now ()
static bool Cancel (EventId &)
static EventId Peek ()
static EventBaseGetEarliestEvent ()
static int MyRank ()
template<typename T , typename OBJ >
static EventId Schedule (double t, void(T::*handler)(void), OBJ *obj)
template<typename T , typename OBJ , typename U1 , typename T1 >
static EventId Schedule (double t, void(T::*handler)(U1), OBJ *obj, T1 t1)
template<typename T , typename OBJ , typename U1 , typename T1 , typename U2 , typename T2 >
static EventId Schedule (double t, void(T::*handler)(U1, U2), OBJ *obj, T1 t1, T2 t2)
template<typename T , typename OBJ , typename U1 , typename T1 , typename U2 , typename T2 , typename U3 , typename T3 >
static EventId Schedule (double t, void(T::*handler)(U1, U2, U3), OBJ *obj, T1 t1, T2 t2, T3 t3)
template<typename T , typename OBJ , typename U1 , typename T1 , typename U2 , typename T2 , typename U3 , typename T3 , typename U4 , typename T4 >
static EventId Schedule (double t, void(T::*handler)(U1, U2, U3, U4), OBJ *obj, T1 t1, T2 t2, T3 t3, T4 t4)
static EventId Schedule (double t, void(*handler)(void))
template<typename U1 , typename T1 >
static EventId Schedule (double t, void(*handler)(U1), T1 t1)
template<typename U1 , typename T1 , typename U2 , typename T2 >
static EventId Schedule (double t, void(*handler)(U1, U2), T1 t1, T2 t2)
template<typename U1 , typename T1 , typename U2 , typename T2 , typename U3 , typename T3 >
static EventId Schedule (double t, void(*handler)(U1, U2, U3), T1 t1, T2 t2, T3 t3)
template<typename U1 , typename T1 , typename U2 , typename T2 , typename U3 , typename T3 , typename U4 , typename T4 >
static EventId Schedule (double t, void(*handler)(U1, U2, U3, U4), T1 t1, T2 t2, T3 t3, T4 t4)
static void registerComponent (Component *obj, int lp)
static ComponentDescriptiongetComponentDesc (int)

Static Private Attributes

static EventSet_t events
static double simTime
static ComponentMap_t components
static int nextComponentID
static int rank
static bool halted = false


Detailed Description

Definition at line 296 of file simulator.h.


Member Function Documentation

bool Simulator::Cancel ( EventId evid  )  [static]

Definition at line 56 of file simulator.cc.

References events.

ComponentDescription * Simulator::getComponentDesc ( int  compId  )  [static]

Definition at line 101 of file simulator.cc.

References components.

Referenced by Link::Link(), and Link::Send().

Here is the caller graph for this function:

EventBase * Simulator::GetEarliestEvent (  )  [static]

Definition at line 71 of file simulator.cc.

References events.

int Simulator::MyRank (  )  [static]

Definition at line 78 of file simulator.cc.

References rank.

Referenced by Link::Link(), and Link::Send().

Here is the caller graph for this function:

double Simulator::Now (  )  [static]

Definition at line 51 of file simulator.cc.

References simTime.

Referenced by Clock::Clock(), PToPSwitchArbiter::do_fcfs_arbitration(), RouterVcMP::do_input_buffering(), RouterReqReply::do_input_buffering(), GenericRouterPhy::do_input_buffering(), PToPSwitchArbiterVcs::do_round_robin_arbitration(), RouterVcMP::do_switch_traversal(), RouterReqReply::do_switch_traversal(), GenericRouterPhy::do_switch_traversal(), GenericRouter4Stg::do_switch_traversal(), Clock::fallingEdge(), GenericTracePktGen::GetNewRequest(), RouterVcMP::handle_detect_deadlock_event(), RouterReqReply::handle_detect_deadlock_event(), GenericRouter4Stg::handle_detect_deadlock_event(), GenericInterfacePhy::handle_link_arrival(), GenericInterfaceNB::handle_link_arrival(), RouterVcMP::handle_link_arrival_event(), RouterReqReply::handle_link_arrival_event(), GenericRouterPhy::handle_link_arrival_event(), GenericRouter4Stg::handle_link_arrival_event(), GenericLink::handle_link_arrival_event(), McFrontEnd::handle_new_packet_event(), GenericTracePktGen::handle_new_packet_event(), GenericSink::handle_new_packet_event(), GenericRPG::handle_new_packet_event(), GenericPktGen::handle_new_packet_event(), GenericInterfacePhy::handle_new_packet_event(), GenericInterfaceNB::handle_new_packet_event(), GenericFlatMc::handle_new_packet_event(), McFrontEnd::handle_out_pull_event(), GenericTracePktGen::handle_out_pull_event(), GenericRPG::handle_out_pull_event(), GenericPktGen::handle_out_pull_event(), GenericFlatMc::handle_out_pull_event(), McFrontEnd::handle_ready_event(), GenericTracePktGen::handle_ready_event(), GenericRPG::handle_ready_event(), GenericPktGen::handle_ready_event(), GenericInterfacePhy::handle_ready_event(), GenericInterfaceNB::handle_ready_event(), GenericFlatMc::handle_ready_event(), RouterVcMP::handle_tick_event(), RouterReqReply::handle_tick_event(), GenericRouterPhy::handle_tick_event(), GenericRouter4Stg::handle_tick_event(), GenericInterfacePhy::handle_tick_event(), GenericInterfaceNB::handle_tick_event(), HighLevelPacket::HighLevelPacket(), RouterReqReply::init(), GenericRouter4Stg::init(), main(), PToPSwitchArbiterVcs::request(), PToPSwitchArbiter::request(), Clock::risingEdge(), Link::Send(), RouterVcMP::send_credit_back(), RouterReqReply::send_credit_back(), GenericRouterPhy::send_credit_back(), GenericRouter4Stg::send_credit_back(), GenericTracePktGen::setup(), GenericSink::setup(), GenericRPG::setup(), GenericPktGen::setup(), TailFlit::TailFlit(), and IrisEvent::toString().

EventId Simulator::Peek (  )  [static]

Definition at line 64 of file simulator.cc.

References events.

void Simulator::registerComponent ( Component obj,
int  lp 
) [static]

Definition at line 85 of file simulator.cc.

References components, nextComponentID, rank, and Component::setComponentId().

Referenced by Component::Component().

Here is the call graph for this function:

Here is the caller graph for this function:

void Simulator::Run (  )  [static]

Definition at line 21 of file simulator.cc.

References EventBase::CallHandler(), events, halted, rank, simTime, and EventBase::time.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename U1 , typename T1 , typename U2 , typename T2 , typename U3 , typename T3 , typename U4 , typename T4 >
static EventId Simulator::Schedule ( double  t,
void(*)(U1, U2, U3, U4)  handler,
T1  t1,
T2  t2,
T3  t3,
T4  t4 
) [inline, static]

Definition at line 397 of file simulator.h.

References events, and EventBase::uid.

template<typename U1 , typename T1 , typename U2 , typename T2 , typename U3 , typename T3 >
static EventId Simulator::Schedule ( double  t,
void(*)(U1, U2, U3)  handler,
T1  t1,
T2  t2,
T3  t3 
) [inline, static]

Definition at line 386 of file simulator.h.

References events, and EventBase::uid.

template<typename U1 , typename T1 , typename U2 , typename T2 >
static EventId Simulator::Schedule ( double  t,
void(*)(U1, U2)  handler,
T1  t1,
T2  t2 
) [inline, static]

Definition at line 376 of file simulator.h.

References events, and EventBase::uid.

template<typename U1 , typename T1 >
static EventId Simulator::Schedule ( double  t,
void(*)(U1)  handler,
T1  t1 
) [inline, static]

Definition at line 367 of file simulator.h.

References events, and EventBase::uid.

static EventId Simulator::Schedule ( double  t,
void(*)(void)  handler 
) [inline, static]

Definition at line 359 of file simulator.h.

References events, and EventBase::uid.

template<typename T , typename OBJ , typename U1 , typename T1 , typename U2 , typename T2 , typename U3 , typename T3 , typename U4 , typename T4 >
static EventId Simulator::Schedule ( double  t,
void(T::*)(U1, U2, U3, U4)  handler,
OBJ *  obj,
T1  t1,
T2  t2,
T3  t3,
T4  t4 
) [inline, static]

Definition at line 351 of file simulator.h.

References events, and EventBase::uid.

template<typename T , typename OBJ , typename U1 , typename T1 , typename U2 , typename T2 , typename U3 , typename T3 >
static EventId Simulator::Schedule ( double  t,
void(T::*)(U1, U2, U3)  handler,
OBJ *  obj,
T1  t1,
T2  t2,
T3  t3 
) [inline, static]

Definition at line 339 of file simulator.h.

References events, and EventBase::uid.

template<typename T , typename OBJ , typename U1 , typename T1 , typename U2 , typename T2 >
static EventId Simulator::Schedule ( double  t,
void(T::*)(U1, U2)  handler,
OBJ *  obj,
T1  t1,
T2  t2 
) [inline, static]

Definition at line 328 of file simulator.h.

References events, and EventBase::uid.

template<typename T , typename OBJ , typename U1 , typename T1 >
static EventId Simulator::Schedule ( double  t,
void(T::*)(U1)  handler,
OBJ *  obj,
T1  t1 
) [inline, static]

Definition at line 318 of file simulator.h.

References events, and EventBase::uid.

template<typename T , typename OBJ >
static EventId Simulator::Schedule ( double  t,
void(T::*)(void)  handler,
OBJ *  obj 
) [inline, static]

Definition at line 309 of file simulator.h.

References events, and EventBase::uid.

Referenced by Clock::Clock(), RouterVcMP::do_switch_traversal(), RouterReqReply::do_switch_traversal(), GenericRouterPhy::do_switch_traversal(), GenericRouter4Stg::do_switch_traversal(), Clock::fallingEdge(), RouterVcMP::handle_detect_deadlock_event(), RouterReqReply::handle_detect_deadlock_event(), GenericRouter4Stg::handle_detect_deadlock_event(), GenericInterfacePhy::handle_link_arrival(), GenericInterfaceNB::handle_link_arrival(), RouterVcMP::handle_link_arrival_event(), RouterReqReply::handle_link_arrival_event(), GenericRouterPhy::handle_link_arrival_event(), GenericRouter4Stg::handle_link_arrival_event(), GenericLink::handle_link_arrival_event(), McFrontEnd::handle_new_packet_event(), GenericTracePktGen::handle_new_packet_event(), GenericSink::handle_new_packet_event(), GenericRPG::handle_new_packet_event(), GenericPktGen::handle_new_packet_event(), GenericInterfacePhy::handle_new_packet_event(), GenericInterfaceNB::handle_new_packet_event(), GenericFlatMc::handle_new_packet_event(), McFrontEnd::handle_out_pull_event(), GenericTracePktGen::handle_out_pull_event(), GenericRPG::handle_out_pull_event(), GenericPktGen::handle_out_pull_event(), GenericFlatMc::handle_out_pull_event(), McFrontEnd::handle_ready_event(), GenericTracePktGen::handle_ready_event(), GenericRPG::handle_ready_event(), GenericPktGen::handle_ready_event(), GenericInterfacePhy::handle_ready_event(), GenericInterfaceNB::handle_ready_event(), GenericFlatMc::handle_ready_event(), RouterVcMP::handle_tick_event(), RouterReqReply::handle_tick_event(), GenericRouterPhy::handle_tick_event(), GenericRouter4Stg::handle_tick_event(), GenericInterfacePhy::handle_tick_event(), GenericInterfaceNB::handle_tick_event(), RouterReqReply::init(), GenericRouter4Stg::init(), main(), Clock::risingEdge(), Link::Send(), RouterVcMP::send_credit_back(), RouterReqReply::send_credit_back(), GenericRouterPhy::send_credit_back(), GenericRouter4Stg::send_credit_back(), GenericTracePktGen::setup(), GenericSink::setup(), GenericRPG::setup(), GenericPktGen::setup(), and StopAt().

void Simulator::Stop (  )  [static]

Definition at line 41 of file simulator.cc.

References halted.

Referenced by StopAt().

Here is the caller graph for this function:

void Simulator::StopAt ( double  stopTime  )  [static]

Definition at line 46 of file simulator.cc.

References Schedule(), and Stop().

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 410 of file simulator.h.

Referenced by getComponentDesc(), and registerComponent().

EventSet_t Simulator::events [static, private]

Definition at line 408 of file simulator.h.

Referenced by Cancel(), GetEarliestEvent(), Peek(), Run(), and Schedule().

bool Simulator::halted = false [static, private]

Definition at line 413 of file simulator.h.

Referenced by Run(), and Stop().

int Simulator::nextComponentID [static, private]

Definition at line 411 of file simulator.h.

Referenced by registerComponent().

int Simulator::rank [static, private]

Definition at line 412 of file simulator.h.

Referenced by MyRank(), registerComponent(), and Run().

double Simulator::simTime [static, private]

Definition at line 409 of file simulator.h.

Referenced by Now(), and Run().


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

Generated on Tue Oct 19 17:22:24 2010 for IRIS by  doxygen 1.5.8