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

Controller< num_ip > Struct Template Reference

Module to represent a Controller. More...

#include <Controller.h>

Inheritance diagram for Controller< num_ip >:

sc_module List of all members.

Public Member Functions

 SC_CTOR (Controller)
 Constructor.
void setTileID (UI tileID, UI portN, UI portS, UI portE, UI portW)
 sets tile ID and id corresponding to port directions
void allocate_route ()
 does routing
UI idToDir (UI)
 returns port id for a given direction (N, S, E, W)
UI dirToId (UI)
 returns direction (N, S, E, W) corresponding to a given port id

Public Attributes

sc_in< bool > switch_cntrl
 input clock port
sc_in< request_typertRequest [num_ip]
 input ports to recieve route request from ICs
sc_in< sc_uint< ADDR_SIZE > > destRequest [num_ip]
 input ports to recieve destination address
sc_in< sc_uint< ADDR_SIZE > > sourceAddress [num_ip]
 input ports to recieve source address
sc_in< creditLineIcredit [num_ip][NUM_VCS]
 input ports to recieve credit info (buffer info) from ICs
sc_out< bool > rtReady [num_ip]
 output ports to send ready signal to ICs
sc_out< sc_uint< 3 > > nextRt [num_ip]
 output ports to send routing decision to ICs
UI tileID
 Unique tile identifier.
UI portN
 port number representing North direction
UI portS
 port number representing South direction
UI portE
 port number representing North direction
UI portW
 port number representing North direction
routerrtable
 router (plug-in point for routing algorithm)

Detailed Description

template<UI num_ip = NUM_IC>
struct Controller< num_ip >

Module to represent a Controller.

This module defines a Controller (implements router)


Member Function Documentation

template<UI num_ip>
void Controller< num_ip >::allocate_route  ) 
 

does routing

Process sensitive to route request Calls routing algorithm

template<UI num_ip>
UI Controller< num_ip >::dirToId UI  port_dir  ) 
 

returns direction (N, S, E, W) corresponding to a given port id

Returns id corresponding to a given port direction (N, S, E, W)

template<UI num_ip>
UI Controller< num_ip >::idToDir UI  port_id  ) 
 

returns port id for a given direction (N, S, E, W)

Returns direction (N, S, E, W) corresponding to a given port id

template<UI num_ip = NUM_IC>
Controller< num_ip >::SC_CTOR Controller< num_ip >   ) 
 

Constructor.

template<UI num_ip>
void Controller< num_ip >::setTileID UI  id,
UI  port_N,
UI  port_S,
UI  port_E,
UI  port_W
 

sets tile ID and id corresponding to port directions

Method to assign tile IDs and port IDs


Member Data Documentation

template<UI num_ip = NUM_IC>
sc_in<sc_uint<ADDR_SIZE> > Controller< num_ip >::destRequest[num_ip]
 

input ports to recieve destination address

template<UI num_ip = NUM_IC>
sc_in<creditLine> Controller< num_ip >::Icredit[num_ip][NUM_VCS]
 

input ports to recieve credit info (buffer info) from ICs

template<UI num_ip = NUM_IC>
sc_out<sc_uint<3> > Controller< num_ip >::nextRt[num_ip]
 

output ports to send routing decision to ICs

template<UI num_ip = NUM_IC>
UI Controller< num_ip >::portE
 

port number representing North direction

template<UI num_ip = NUM_IC>
UI Controller< num_ip >::portN
 

port number representing North direction

template<UI num_ip = NUM_IC>
UI Controller< num_ip >::portS
 

port number representing South direction

template<UI num_ip = NUM_IC>
UI Controller< num_ip >::portW
 

port number representing North direction

template<UI num_ip = NUM_IC>
router* Controller< num_ip >::rtable
 

router (plug-in point for routing algorithm)

template<UI num_ip = NUM_IC>
sc_out<bool> Controller< num_ip >::rtReady[num_ip]
 

output ports to send ready signal to ICs

template<UI num_ip = NUM_IC>
sc_in<request_type> Controller< num_ip >::rtRequest[num_ip]
 

input ports to recieve route request from ICs

template<UI num_ip = NUM_IC>
sc_in<sc_uint<ADDR_SIZE> > Controller< num_ip >::sourceAddress[num_ip]
 

input ports to recieve source address

template<UI num_ip = NUM_IC>
sc_in<bool> Controller< num_ip >::switch_cntrl
 

input clock port

template<UI num_ip = NUM_IC>
UI Controller< num_ip >::tileID
 

Unique tile identifier.


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