INSEE 05.04.2011
Interconnection Nertworks Simulation and Evaluation Environment
Data Structures | Defines | Functions | Variables
C:/cygwin/home/Javier/insee/src/exd.h File Reference

Execution driven simulation & Interface with Simics needed definitions. More...

#include "globals.h"
#include <sys/time.h>
#include "list.h"
#include <pthread.h>
#include <netinet/in.h>
Include dependency graph for exd.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  sync
struct  arp_record
struct  packet
struct  FSIN_packet

Defines

#define DEBUG   2
#define CLEAR_STATS   1
#define GET_STATS   2
#define TARG_IP_ADDR   "1.2.3.4"
#define TARG_HW_ADDR   "11:22:33:44:55:66"
#define IP_ADDR_LEN   4
#define PACKET_SIZE_IN_BYTES   (packet_size_in_phits * phit_size)
#define FSIN_CYCLE_RUN_DEFAULT   10
#define SIMICS_CYCLE_RUN_DEFAULT   100000
#define TV_SEC   10
#define FSIN_PORT   12345
#define FSIN_GROUP   "225.0.0.37"
#define WAIT_PERCENT   0.00001f

Functions

void init_exd (long, long, long, long, long)
void run_network_exd (void)
void SIMICS_phit_away (long, phit)

Variables

char broadcast [6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
int run_FSIN = 0
unsigned long long timestamp
unsigned long long timestamp_old = 0
unsigned long long periodo
unsigned long long when = 0
int sock
int escritor
int syn_sock
long num_Simics_hosts = 0
struct sockaddr_in syn_addr_r syn_addr_s
struct ip_mreq mreq
int SIGPIPE_caught
int received_terminate_signal = 0
pthread_t idHilo
fd_set lista_sockets
long FSIN_next_node_number = 0
long id_next_ethernet_frame = 0
unsigned long max_id_ethernet_frame
unsigned short num_bits_packet_sequence
long mask_eth_id_packet_sequence
long mask_eth_id_ethernet_frame
long fsin_cycle_relation
long simics_cycle_relation
long fsin_cycle_run
long simics_cycle_run
long serv_addr
long num_periodos_espera
static time_t end_time
unsigned long long veces_que_entra_FSIN = 0
unsigned long long timestamp_init = 0
unsigned long long timestamp_end = 0
listlist_sync = NULL
listlista = NULL
listlist_packets = NULL

Detailed Description

Execution driven simulation & Interface with Simics needed definitions.


Function Documentation

void init_exd ( long  fsin_cycles,
long  simics_cycles,
long  packet_size,
long  simics_hosts_port,
long  periodos 
)

Funcion de inicializacion para la Simulacion conducida por la ejecucion Parametros: long fsin_cycle_relation: relacion de ciclos entre Simics y FSIN, los ciclos que correra FSIN, por defecto es 10 long simics_cycle_relation: relacion de ciclos entre Simics y FSIN, los ciclos que correra Simics, por defecto es 1000 long packet_size_in_phits: tamao en phits del paquete, un phit son 4 bytes (configurable), por defecto es 32, es pkt_len long serv_addr: puerto de escucha de nuevas conexiones de SIMICS hosts, por defecto es 8082 long num_periodos_espera: retardo de interconexion que se introducira en el hosts destino. Medido en ciclos SIMICS, por defecto es 0

void run_network_exd ( void  )

Run the simulation in Execution driven mode.

Main function for execution driven simulation using SIMICS.

void SIMICS_phit_away ( long  i,
phit  ph 
)

funcion generate_FSIN_phits Esta funcion es identica a generate_phits. Lo unico que cambia son los parametros de id_ethernet_frame e id_packet_sequence que sirven para calcular el nuevo campo del phit id_trama que esta explicado en la estructura del phit en phit.h Funcion que comprueba si ha llegado un paquete y una trama depues de que haya llegado un phit a su destino en FSIN Los parametros son el nodo al que ha llegado el phit y el phit en cuestion