|
INSEE 05.04.2011
Interconnection Nertworks Simulation and Evaluation Environment
|
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>

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 |
| list * | list_sync = NULL |
| list * | lista = NULL |
| list * | list_packets = NULL |
Execution driven simulation & Interface with Simics needed definitions.
| 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
1.7.4