#include <simulator.h>
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 EventBase * | GetEarliestEvent () |
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 ComponentDescription * | getComponentDesc (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 |
Definition at line 296 of file simulator.h.
bool Simulator::Cancel | ( | EventId & | evid | ) | [static] |
ComponentDescription * Simulator::getComponentDesc | ( | int | compId | ) | [static] |
Definition at line 101 of file simulator.cc.
References components.
Referenced by Link::Link(), and Link::Send().
EventBase * Simulator::GetEarliestEvent | ( | ) | [static] |
int Simulator::MyRank | ( | ) | [static] |
Definition at line 78 of file simulator.cc.
References rank.
Referenced by Link::Link(), and Link::Send().
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] |
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().
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().
static EventId Simulator::Schedule | ( | double | t, | |
void(*)(U1, U2, U3, U4) | handler, | |||
T1 | t1, | |||
T2 | t2, | |||
T3 | t3, | |||
T4 | t4 | |||
) | [inline, static] |
static EventId Simulator::Schedule | ( | double | t, | |
void(*)(U1, U2, U3) | handler, | |||
T1 | t1, | |||
T2 | t2, | |||
T3 | t3 | |||
) | [inline, static] |
static EventId Simulator::Schedule | ( | double | t, | |
void(*)(U1, U2) | handler, | |||
T1 | t1, | |||
T2 | t2 | |||
) | [inline, static] |
static EventId Simulator::Schedule | ( | double | t, | |
void(*)(U1) | handler, | |||
T1 | t1 | |||
) | [inline, static] |
static EventId Simulator::Schedule | ( | double | t, | |
void(*)(void) | handler | |||
) | [inline, static] |
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] |
static EventId Simulator::Schedule | ( | double | t, | |
void(T::*)(U1, U2, U3) | handler, | |||
OBJ * | obj, | |||
T1 | t1, | |||
T2 | t2, | |||
T3 | t3 | |||
) | [inline, static] |
static EventId Simulator::Schedule | ( | double | t, | |
void(T::*)(U1, U2) | handler, | |||
OBJ * | obj, | |||
T1 | t1, | |||
T2 | t2 | |||
) | [inline, static] |
static EventId Simulator::Schedule | ( | double | t, | |
void(T::*)(U1) | handler, | |||
OBJ * | obj, | |||
T1 | t1 | |||
) | [inline, static] |
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().
void Simulator::StopAt | ( | double | stopTime | ) | [static] |
Definition at line 46 of file simulator.cc.
References Schedule(), and Stop().
Referenced by main().
ComponentMap_t Simulator::components [static, private] |
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] |
int Simulator::nextComponentID [static, private] |
int Simulator::rank [static, private] |
double Simulator::simTime [static, private] |