INSEE 05.04.2011
Interconnection Nertworks Simulation and Evaluation Environment
Functions
C:/cygwin/home/Javier/insee/src/perform_mov.c File Reference

Definition of traffic movement & consumption functions. More...

#include "globals.h"
Include dependency graph for perform_mov.c:

Functions

void consume_single (long i)
void consume_multiple (long i)
void data_movement_direct (bool_t inject)
void data_movement_indirect (bool_t inject)
void advance (long n, long p)
void phit_away (long i, port_type s_p, phit ph)

Detailed Description

Definition of traffic movement & consumption functions.

FSIN Functional Simulator of Interconnection Networks Copyright (2003-2011) J. Miguel-Alonso, A. Gonzalez, J. Navaridas

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


Function Documentation

void advance ( long  n,
long  p 
)

Advance packets.

Move a phit from an output port to the corresponding input port in the neighbour

Parameters:
nThe number of the node.
pThe physichal port id to advance.
void consume_multiple ( long  i)

Consume one/many phits.

This is the "multiple" version, meaning that in a cycle it is possible to consume phits from all VCs.

Parameters:
iThe number of the node in which the consumption is performed.
void consume_single ( long  i)

Consume a single phit.

This "Single" version is used when there is a single consumption port, shared among all the VCs. Arbitration is required.

Parameters:
iThe number of the node in which the consumption is performed.
void data_movement_direct ( bool_t  inject)

Performs the movement of the data in a direct topology.

Parameters:
injectIf TRUE new data generation is performed.
See also:
init_functions
data_movement
void data_movement_indirect ( bool_t  inject)

Performs the movement of the data in an indirect topology.

Parameters:
injectIf TRUE new data generation is performed.
See also:
init_functions
data_movement
void phit_away ( long  i,
port_type  s_p,
phit  ph 
)

A phit has arrived to destination & is consumed.

Gets all kind of statistics, and print the corresponding traces. "old" version, simpler: does not interact with TrGen, just collects statistics.

Parameters:
iThe node in which the consumption is performed.
s_pThe input port in wich the phit is.
phThe arrived phit.