INSEE 05.04.2011
Interconnection Nertworks Simulation and Evaluation Environment
|
Definition of traffic movement & consumption functions. More...
#include "globals.h"
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) |
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.
void advance | ( | long | n, |
long | p | ||
) |
Advance packets.
Move a phit from an output port to the corresponding input port in the neighbour
n | The number of the node. |
p | The 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.
i | The 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.
i | The 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.
inject | If TRUE new data generation is performed. |
void data_movement_indirect | ( | bool_t | inject | ) |
Performs the movement of the data in an indirect topology.
inject | If TRUE new data generation is performed. |
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.
i | The node in which the consumption is performed. |
s_p | The input port in wich the phit is. |
ph | The arrived phit. |