Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

BurstyTraffic Struct Reference

Module to define Bursty traffic generator. More...

#include <Bursty.h>

Inheritance diagram for BurstyTraffic:

TrafficGenerator ipcore sc_module List of all members.

Public Member Functions

 SC_CTOR (BurstyTraffic)
 Constructor.
void init ()
 generate traffic log as per traffic configuration
double next_interval ()
 return next packet interval
 SC_CTOR (TrafficGenerator)
 Constructor.
 SC_CTOR (ipcore)
 Constructor.
void send ()
 generate traffic according to traffic config file
void recv ()
 recieve flits
sc_time_unit strToTime (string)
 convert time unit from string representation to systemC representation
void entry ()
 process to keep track of simulation count in the module, sensitive to clock
void setID (UI tileID)
flitcreate_hdt_flit (int pkt_id, int flit_id, UI route_info)
 create a hdt flit with given packet id, flit id and destination
flitcreate_head_flit (int pkt_id, int flit_id, UI route_info)
 create a head flit with given packet id, flit id and destination
flitcreate_data_flit (int pkt_id, int flit_id)
 create a data flit with given packet id and flit id
flitcreate_tail_flit (int pkt_id, int flit_id)
 create a tail flit with given packet id and flit id
void set_cmd (flit *, int cmd_value)
 sets command field of flit equal to given value
void set_data (flit *, int data_int_value)
 sets integer data field of flit equal to given value
void set_data (flit *, string data_string_value)
 sets string data field of flit equal to given value
void set_payload (flit *, int cmd_value, int data_int_value)
 sets command field and integer data field of flit equal to given values
void set_payload (flit *, int cmd_value, string data_string_value)
 sets command field and string data field of flit equal to given values
void get_cmd (flit, int &cmd_value)
 return command field of flit in second parameter
void get_data (flit, int &data_int_value)
 return integer data field of flit in second parameter
void get_data (flit, string &data_string_value)
 return string data field of flit in second parameter
void get_payload (flit, int &cmd_value, int &data_int_value)
 return command field and integer data field of flit in second and third parameter respectively
void get_payload (flit, int &cmd_value, string &data_string_value)
 return command field and string data field of flit in second and third parameter respectively
int get_random_dest ()
 return a randomly chosen destination

Public Attributes

int pkt_size
 size of packet (in bytes)
int load
 percentage load
int avg_burstlen
 average burst length
int avg_offtime
 average offtime (interval between two bursts)
int pkt_interval
 inter-packet interval
int rem
 number of packets remaining in a burst
ExponentialRandomVariable var_burstlen
 exponentially distributed random variable for burst length
ExponentialRandomVariable var_offtime
 exponentially distributed random variable for offtime
string dst_type
 string to determine wether destination is fixed or random
int num_flits
 Number of flits per packet.
int flit_interval
 Inter-flit interval (in clock cycles).
int route_info
 destination address or routing code (for source routing)
int next_pkt_time
 inter packet interval (in clock cycles)
int cycles_per_flit
 number of cycles required for processing one flit
sc_in_clk clock
 input clock port
sc_in< flitflit_inport
 input data/flit port
sc_out< flitflit_outport
 ouput data/flit port
sc_in< creditLinecredit_in [NUM_VCS]
 input ports to recieve credit info (buffer status)
UI tileID
 unique tile id
ULL sim_count
 number of clock cycles
RNG * ran_var
 random variable

Detailed Description

Module to define Bursty traffic generator.

derived from TrafficGenerator


Member Function Documentation

flit * ipcore::create_data_flit int  pkt_id,
int  flit_id
[inherited]
 

create a data flit with given packet id and flit id

Method to create a data flit Parameters:

  • packet id
  • flit id returns pointer to new flit

flit * ipcore::create_hdt_flit int  pkt_id,
int  flit_id,
UI  route_info
[inherited]
 

create a hdt flit with given packet id, flit id and destination

Method to create a hdt flit hdt flit represents a packet consisting of single flit. Parameters:

  • packet id
  • flit id
  • route info
    • destination tileID for XY and OE routing
    • route code fro source routing
returns pointer to new flit

flit * ipcore::create_head_flit int  pkt_id,
int  flit_id,
UI  route_info
[inherited]
 

create a head flit with given packet id, flit id and destination

Method to create a head flit Parameters:

  • packet id
  • flit id
  • route info
    • destination tileID for XY and OE routing
    • route code fro source routing
returns pointer to new flit

flit * ipcore::create_tail_flit int  pkt_id,
int  flit_id
[inherited]
 

create a tail flit with given packet id and flit id

Method to create a tail flit Parameters:

  • packet id
  • flit id returns pointer to new flit

void ipcore::entry  )  [inherited]
 

process to keep track of simulation count in the module, sensitive to clock

Process sensitive to clock Keeps track of clock cycles in the module

void ipcore::get_cmd flit  inflit,
int &  cmd_value
[inherited]
 

return command field of flit in second parameter

Method to return command field of a flit Parameters:

  • flit
  • integer variable in which command value is returned

void ipcore::get_data flit  inflit,
string &  data_string_value
[inherited]
 

return string data field of flit in second parameter

Method to return string data field of a flit Parameters:

  • flit
  • string variable in which string data value is returned

void ipcore::get_data flit  inflit,
int &  data_int_value
[inherited]
 

return integer data field of flit in second parameter

Method to return integer data field of a flit Parameters:

  • flit
  • integer variable in which integer data value is returned

void ipcore::get_payload flit  inflit,
int &  cmd_value,
string &  data_string_value
[inherited]
 

return command field and string data field of flit in second and third parameter respectively

Method to return both command field and string data field of a flit Parameters:

  • flit
  • integer variable in which command value is returned
  • string variable in which string data value is returned

void ipcore::get_payload flit  inflit,
int &  cmd_value,
int &  data_int_value
[inherited]
 

return command field and integer data field of flit in second and third parameter respectively

Method to return both command field and integer data field of a flit Parameters:

  • flit
  • integer variable in which command value is returned
  • integer variable in which integer data value is returned

int ipcore::get_random_dest  )  [inherited]
 

return a randomly chosen destination

Method to return a random destination

void BurstyTraffic::init  ) 
 

generate traffic log as per traffic configuration

Process to generate Bursty traffic

  • read traffic configuration file
  • generate traffic pattern in log file

double BurstyTraffic::next_interval  )  [virtual]
 

return next packet interval

Method to return inter-packet interval

Implements TrafficGenerator.

void TrafficGenerator::recv  )  [virtual, inherited]
 

recieve flits

Thread sensitive to clock and inport event

  • inherited from ipcore
  • recieve incoming flits
  • assign arrival timestamps

Implements ipcore.

ipcore::SC_CTOR ipcore   )  [inherited]
 

Constructor.

TrafficGenerator::SC_CTOR TrafficGenerator   )  [inherited]
 

Constructor.

BurstyTraffic::SC_CTOR BurstyTraffic   ) 
 

Constructor.

void TrafficGenerator::send  )  [virtual, inherited]
 

generate traffic according to traffic config file

Thread sensitive to clock

  • inherited from ipcore
  • send flits as per traffic configuration

Implements ipcore.

void ipcore::set_cmd flit inflit,
int  cmd_value
[inherited]
 

sets command field of flit equal to given value

Method to assign value to command field of a flit Parameters:

  • pointer to flit
  • integer representing command

void ipcore::set_data flit inflit,
string  data_string_value
[inherited]
 

sets string data field of flit equal to given value

Method to assign value to string data field of a flit Parameters:

  • pointer to flit
  • string data

void ipcore::set_data flit inflit,
int  data_int_value
[inherited]
 

sets integer data field of flit equal to given value

Method to assign value to integer data field of a flit Parameters:

  • pointer to flit
  • integer data

void ipcore::set_payload flit inflit,
int  cmd_value,
string  data_string_value
[inherited]
 

sets command field and string data field of flit equal to given values

Method to assign value to both command and string data field of a flit Parameters:

  • pointer to flit
  • integer representing command
  • string data

void ipcore::set_payload flit inflit,
int  cmd_value,
int  data_int_value
[inherited]
 

sets command field and integer data field of flit equal to given values

Method to assign value to both command and integer data field of a flit Parameters:

  • pointer to flit
  • integer representing command
  • integer data

void ipcore::setID UI  tileID  )  [inherited]
 

sets tileID

sc_time_unit TrafficGenerator::strToTime string  unit  )  [inherited]
 

convert time unit from string representation to systemC representation

Method to convert time unit from string representation to systemC representation


Member Data Documentation

int BurstyTraffic::avg_burstlen
 

average burst length

int BurstyTraffic::avg_offtime
 

average offtime (interval between two bursts)

sc_in_clk ipcore::clock [inherited]
 

input clock port

sc_in<creditLine> ipcore::credit_in[NUM_VCS] [inherited]
 

input ports to recieve credit info (buffer status)

int TrafficGenerator::cycles_per_flit [inherited]
 

number of cycles required for processing one flit

string BurstyTraffic::dst_type
 

string to determine wether destination is fixed or random

sc_in<flit> ipcore::flit_inport [inherited]
 

input data/flit port

int TrafficGenerator::flit_interval [inherited]
 

Inter-flit interval (in clock cycles).

sc_out<flit> ipcore::flit_outport [inherited]
 

ouput data/flit port

int BurstyTraffic::load
 

percentage load

int TrafficGenerator::next_pkt_time [inherited]
 

inter packet interval (in clock cycles)

int TrafficGenerator::num_flits [inherited]
 

Number of flits per packet.

int BurstyTraffic::pkt_interval
 

inter-packet interval

int BurstyTraffic::pkt_size
 

size of packet (in bytes)

RNG* ipcore::ran_var [inherited]
 

random variable

int BurstyTraffic::rem
 

number of packets remaining in a burst

int TrafficGenerator::route_info [inherited]
 

destination address or routing code (for source routing)

ULL ipcore::sim_count [inherited]
 

number of clock cycles

UI ipcore::tileID [inherited]
 

unique tile id

ExponentialRandomVariable BurstyTraffic::var_burstlen
 

exponentially distributed random variable for burst length

ExponentialRandomVariable BurstyTraffic::var_offtime
 

exponentially distributed random variable for offtime


Generated on Mon May 7 19:03:19 2007 for NIRGAM by  doxygen 1.3.9.1