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

ipcore Struct Reference

Module to represent an ipcore. More...

#include <ipcore.h>

Inheritance diagram for ipcore:

sc_module App_concat App_recv App_send Sink TrafficGenerator BurstyTraffic CBRTraffic TraceTraffic List of all members.

Public Member Functions

 SC_CTOR (ipcore)
 Constructor.
void entry ()
 process to keep track of simulation count in the module, sensitive to clock
virtual void recv ()=0
 abstract process to recieve flits, sensitive to clock and input flit port
virtual void send ()=0
 abstract process to send flits, 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

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 represent an ipcore.

This module defines an ipcore


Member Function Documentation

flit * ipcore::create_data_flit int  pkt_id,
int  flit_id
 

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
 

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
 

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
 

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  ) 
 

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
 

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
 

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
 

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
 

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
 

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  ) 
 

return a randomly chosen destination

Method to return a random destination

virtual void ipcore::recv  )  [pure virtual]
 

abstract process to recieve flits, sensitive to clock and input flit port

Implemented in App_concat, App_recv, App_send, Sink, and TrafficGenerator.

ipcore::SC_CTOR ipcore   ) 
 

Constructor.

virtual void ipcore::send  )  [pure virtual]
 

abstract process to send flits, sensitive to clock

Implemented in App_concat, App_recv, App_send, Sink, and TrafficGenerator.

void ipcore::set_cmd flit inflit,
int  cmd_value
 

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
 

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
 

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
 

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
 

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  ) 
 

sets tileID


Member Data Documentation

sc_in_clk ipcore::clock
 

input clock port

sc_in<creditLine> ipcore::credit_in[NUM_VCS]
 

input ports to recieve credit info (buffer status)

sc_in<flit> ipcore::flit_inport
 

input data/flit port

sc_out<flit> ipcore::flit_outport
 

ouput data/flit port

RNG* ipcore::ran_var
 

random variable

ULL ipcore::sim_count
 

number of clock cycles

UI ipcore::tileID
 

unique tile id


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