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

constants.h File Reference

Defines constant parameters for NIRGAM. More...

Go to the source code of this file.


Defines

#define CURRENT_TIME   sc_simulation_time()
 current time
#define NUM_VCS   1
 number of virtual channels
#define MAX_NUM_ROWS   9
 maximum number of rows
#define MAX_NUM_COLS   9
 maximum number of columns
#define MAX_NUM_TILES   MAX_NUM_ROWS * MAX_NUM_COLS
 maximum number of tiles
#define NUM_NB   4
 number of neighbors of a general tile in mesh/torus
#define NUM_IC   5
 number of input channels in a general tile in mesh/torus
#define NUM_OC   5
 number of output channels in a general tile in mesh/torus
#define NUM_NB_C   2
 number of neighbors of a corner tile in mesh
#define NUM_IC_C   3
 number of input channels in a corner tile in mesh
#define NUM_OC_C   3
 number of output channels in a corner tile in mesh
#define NUM_NB_B   3
 number of neighbors of a border tile in mesh
#define NUM_IC_B   4
 number of input channels in a border tile in mesh
#define NUM_OC_B   4
 number of output channels in a border tile in mesh
#define N   0
 North direction.
#define S   1
 South direction.
#define E   2
 East direction.
#define W   3
 West direction.
#define C   4
 Core direction.
#define ND   5
 not defined
#define BUF_BITSIZE   4
#define MAX_NUM_BUFS   16
 maximum buffer depth
#define ADDR_SIZE   32
#define VCS_BITSIZE   2
#define UI   unsigned int
#define UL   unsigned long
#define ULL   unsigned long long
#define borderN(ID)   ((ID) < num_cols)
#define borderS(ID)   ((ID) >= num_tiles - num_cols)
#define borderE(ID)   (((ID) + 1) % num_cols == 0)
#define borderW(ID)   (((ID) % num_cols) == 0)
#define border(ID)   (borderN(ID) || borderS(ID) || borderE(ID) || borderW(ID))
#define cornerNW(ID)   ((ID) == 0)
#define cornerNE(ID)   ((ID) == num_cols - 1)
#define cornerSW(ID)   ((ID) == num_tiles - num_cols)
#define cornerSE(ID)   ((ID) == num_tiles - 1)
#define corner(ID)   (cornerNW(ID) || cornerNE(ID) || cornerSW(ID) || cornerSE(ID))

Enumerations

enum  flit_type { HEAD, DATA, TAIL, HDT }
enum  pkt_type { ANT, NOC }
enum  ant_type { FORWARD, BACKWARD }
enum  routing_type { SOURCE, XY, OE }
enum  request_type { NONE, ROUTE, UPDATE }
enum  topology { MESH, TORUS }

Detailed Description

Defines constant parameters for NIRGAM.


Define Documentation

#define ADDR_SIZE   32
 

#define border ID   )     (borderN(ID) || borderS(ID) || borderE(ID) || borderW(ID))
 

#define borderE ID   )     (((ID) + 1) % num_cols == 0)
 

#define borderN ID   )     ((ID) < num_cols)
 

#define borderS ID   )     ((ID) >= num_tiles - num_cols)
 

#define borderW ID   )     (((ID) % num_cols) == 0)
 

#define BUF_BITSIZE   4
 

#define C   4
 

Core direction.

#define corner ID   )     (cornerNW(ID) || cornerNE(ID) || cornerSW(ID) || cornerSE(ID))
 

#define cornerNE ID   )     ((ID) == num_cols - 1)
 

#define cornerNW ID   )     ((ID) == 0)
 

#define cornerSE ID   )     ((ID) == num_tiles - 1)
 

#define cornerSW ID   )     ((ID) == num_tiles - num_cols)
 

#define CURRENT_TIME   sc_simulation_time()
 

current time

#define E   2
 

East direction.

#define MAX_NUM_BUFS   16
 

maximum buffer depth

#define MAX_NUM_COLS   9
 

maximum number of columns

#define MAX_NUM_ROWS   9
 

maximum number of rows

#define MAX_NUM_TILES   MAX_NUM_ROWS * MAX_NUM_COLS
 

maximum number of tiles

#define N   0
 

North direction.

#define ND   5
 

not defined

#define NUM_IC   5
 

number of input channels in a general tile in mesh/torus

#define NUM_IC_B   4
 

number of input channels in a border tile in mesh

#define NUM_IC_C   3
 

number of input channels in a corner tile in mesh

#define NUM_NB   4
 

number of neighbors of a general tile in mesh/torus

#define NUM_NB_B   3
 

number of neighbors of a border tile in mesh

#define NUM_NB_C   2
 

number of neighbors of a corner tile in mesh

#define NUM_OC   5
 

number of output channels in a general tile in mesh/torus

#define NUM_OC_B   4
 

number of output channels in a border tile in mesh

#define NUM_OC_C   3
 

number of output channels in a corner tile in mesh

#define NUM_VCS   1
 

number of virtual channels

#define S   1
 

South direction.

#define UI   unsigned int
 

#define UL   unsigned long
 

#define ULL   unsigned long long
 

#define VCS_BITSIZE   2
 

#define W   3
 

West direction.


Enumeration Type Documentation

enum ant_type
 

types of ant packets: FORWARD, BACKWARD

Enumeration values:
FORWARD 
BACKWARD 

enum flit_type
 

types of flits: HEAD, DATA, TAIL, HDT

Enumeration values:
HEAD 
DATA 
TAIL 
HDT 

enum pkt_type
 

types of packets: ANT, NOC

Enumeration values:
ANT 
NOC 

enum request_type
 

types of request to controller

Enumeration values:
NONE 
ROUTE 
UPDATE 

enum routing_type
 

types of routing algorithms: SOURCE, XY, OE

Enumeration values:
SOURCE 
XY 
OE 

enum topology
 

types of topology: MESH, TORUS

Enumeration values:
MESH 
TORUS 

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