#include <InputChannel.h>
Inheritance diagram for InputChannel< num_op >:

Public Member Functions | |
| SC_CTOR (InputChannel) | |
| Constructor. | |
| void | read_flit () |
| reads flit from i/p port and calls function to store it in buffer | |
| void | store_flit_VC (flit *) |
| stores flit in buffer | |
| void | route_flit () |
| routes the flit at the front of fifo buffer | |
| void | routing_src (flit *) |
| routing function for algorithms containing entire path in header (source routing) | |
| void | routing_dst (flit *) |
| routing function for algorithms containing destination address in header | |
| void | transmit_flit () |
| void | setTileID (UI tileID, UI portN, UI portS, UI portE, UI portW) |
| sets tile ID and id corresponding to port directions | |
| void | resetCounts () |
| resets buffer counts to zero | |
| void | closeLogs () |
| closes logfiles | |
| int | reverse_route (int) |
| reverses route (to be used in future) | |
Public Attributes | |
| sc_in< bool > | switch_cntrl |
| input clock port | |
| sc_in< flit > | inport |
| input data/flit port | |
| sc_out< flit > | outport [num_op] |
| ouput data/flit ports (one for each output channel) | |
| sc_in< bool > | outReady [num_op] |
| input ports for ready signal from OCs | |
| sc_out< bool > | vcRequest |
| output port for sending request to VCA | |
| sc_in< bool > | vcReady |
| input port for ready signal from VCA | |
| sc_out< sc_uint< 2 > > | opRequest |
| output port for sending OC requested to VCA | |
| sc_in< sc_uint< VCS_BITSIZE+1 > > | nextVCID |
| input port to recieve next VCID from VCA | |
| sc_out< creditLine > | credit_out [NUM_VCS] |
| output ports to send credit info (buffer status) to OC, VCA and Ctr | |
| sc_out< request_type > | rtRequest |
| output port to send request to Controller | |
| sc_in< bool > | rtReady |
| input port to recieve ready signal from Controller | |
| sc_out< sc_uint< ADDR_SIZE > > | destRequest |
| output port to send destination address to Controller | |
| sc_out< sc_uint< ADDR_SIZE > > | sourceAddress |
| output port to send source address to Controller | |
| sc_in< sc_uint< 3 > > | nextRt |
| input port to recieve routing decision (next hop) from Controller | |
| VC | vc [NUM_VCS] |
| Virtual channels. | |
| UI | cntrlID |
| Control ID to identify channel direction. | |
| UI | tileID |
| Tile ID. | |
| UI | portN |
| port number representing North output direction | |
| UI | portS |
| port number representing South output direction | |
| UI | portE |
| port number representing East output direction | |
| UI | portW |
| port number representing West output direction | |
| UI | numBufReads |
| number of buffer reads in the channel | |
| UI | numBufWrites |
| number of buffer writes in the channel | |
| UI | numBufsOcc |
| number of occupied buffers | |
| UI | numVCOcc |
| number of occupied virtual channels | |
| ULL | sim_count |
| keeps track of number of clock cycles | |
This module defines an Input Channel in a network tile
|
|||||||||
|
closes logfiles Method to close logfiles |
|
|||||||||
|
reads flit from i/p port and calls function to store it in buffer Process sensitive to inport event Reads flit from input port and calls function to store in buffer |
|
|||||||||
|
resets buffer counts to zero Method to resut buffer stats to zero |
|
||||||||||
|
reverses route (to be used in future)
|
|
|||||||||
|
routes the flit at the front of fifo buffer Process sensitive to clock Calls routing functions if head/hdt flit at the front of fifo |
|
||||||||||
|
routing function for algorithms containing destination address in header Method to call controller for routing algorithms that require destination address |
|
||||||||||
|
routing function for algorithms containing entire path in header (source routing) Method to call Controller for source routing |
|
||||||||||
|
Constructor.
|
|
||||||||||||||||||||||||||||
|
sets tile ID and id corresponding to port directions Method to assign tile IDs and port IDs |
|
||||||||||
|
stores flit in buffer Method to store flit in fifo buffer |
|
|||||||||
|
transmits flit at the front of fifo to output port |
|
|||||
|
Control ID to identify channel direction.
|
|
|||||
|
output ports to send credit info (buffer status) to OC, VCA and Ctr
|
|
|||||
|
output port to send destination address to Controller
|
|
|||||
|
input data/flit port
|
|
|||||
|
input port to recieve routing decision (next hop) from Controller
|
|
|||||
|
input port to recieve next VCID from VCA
|
|
|||||
|
number of buffer reads in the channel
|
|
|||||
|
number of occupied buffers
|
|
|||||
|
number of buffer writes in the channel
|
|
|||||
|
number of occupied virtual channels
|
|
|||||
|
output port for sending OC requested to VCA
|
|
|||||
|
ouput data/flit ports (one for each output channel)
|
|
|||||
|
input ports for ready signal from OCs
|
|
|||||
|
port number representing East output direction
|
|
|||||
|
port number representing North output direction
|
|
|||||
|
port number representing South output direction
|
|
|||||
|
port number representing West output direction
|
|
|||||
|
input port to recieve ready signal from Controller
|
|
|||||
|
output port to send request to Controller
|
|
|||||
|
keeps track of number of clock cycles
|
|
|||||
|
output port to send source address to Controller
|
|
|||||
|
input clock port
|
|
|||||
|
Tile ID.
|
|
|||||
|
Virtual channels.
|
|
|||||
|
input port for ready signal from VCA
|
|
|||||
|
output port for sending request to VCA
|
1.3.9.1