14 #define MAX_CLOCK_CYCLES  10000 
   17 #define MY_COMPANY "vjSoft" 
   18 #define MY_DOMAIN "https://bitbucket.org/jvegh/scgridsimulation/" 
   21 #define INI_FILES "Simulator" 
   24 #undef  INI_SIMULATOR_KEYWORDS 
   25 #define INI_SIMULATOR_KEYWORDS "Version" 
   34 #define GRID_SIZE_X 10 
   37 #define GRID_BUS_WIDTH 6 
   38 #define GRIDPOINT_MASK_WIDTH (1 << GRID_BUS_WIDTH) 
   39 #define GRID_ID_TYPE uint32_t 
   41 #define MAX_GRIDPOINTS_LIMIT (1 << GRID_BUS_WIDTH) 
   42 #define MAX_GRIDPOINTS GRID_SIZE_X*GRID_SIZE_Y 
   44 #define NUMBER_OF_GRIDPOINTS MAX_GRIDPOINTS 
   47 #define CLUSTER_BUS_WIDTH 4 
   48 #define MAX_CLUSTERS_LIMIT (1 << CLUSTER_BUS_WIDTH)-1 
   50 #define CLUSTERS_LIMIT 8 
   52 #define TOPOLOGY_BUS_WIDTH 4 
   53 #define MAX_TOPOLOGIES_LIMIT (1 << TOPOLOGY_BUS_WIDTH)-1 
   54 #define CARD_BUS_WIDTH 4 
   55 #define MAX_CARDS_LIMIT (1 << CARD_BUS_WIDTH)-1 
   56 #define RACKS_BUS_WIDTH 4 
   57 #define MAX_RACKS_LIMIT (1 << RACKS_BUS_WIDTH)-1 
   61 #define HTHREAD_BUS_WIDTH 4 
   63 #define MAX_HTHREADS (1 << HTHREAD_BUS_WIDTH) 
   64 #define MAX_HTHREADS_LIMIT (MAX_HTHREADS-1) 
   69 #define EXECUTION_TIME sc_core::sc_time(10,SC_NS) 
   72 #define RMEMORY_ADDRESS_WIDTH 4 
   74 #define RMAX_MEMORY_SIZE (1 << RMEMORY_ADDRESS_WIDTH) 
   77 #define DMEMORY_ADDRESS_WIDTH 10 
   79 #define DMAX_MEMORY_SIZE (1 << DMEMORY_ADDRESS_WIDTH) 
   80 #define DMEMORY_READ_TIME sc_core::sc_time(10,SC_NS) 
   83 #define FMEMORY_ADDRESS_WIDTH 16 
   85 #define FMAX_MEMORY_SIZE (1 << FMEMORY_ADDRESS_WIDTH) 
   86 #define FMEMORY_READ_TIME sc_core::sc_time(60,SC_NS) 
   89 #define BMEMORY_ADDRESS_WIDTH 10 
   91 #define BMAX_MEMORY_SIZE (1 << BMEMORY_ADDRESS_WIDTH) 
   97 #define  CORE_DEFAULT_ADDRESS (SC_ADDRESS_TYPE)-1 
   98 #define  MEMORY_DEFAULT_ADDRESS  (SC_ADDRESS_TYPE)-1 
  101 #define USE_MODULE_NAMES false 
  105 #define MAX_IGPCBUFFER_SIZE 16 
  110 #define SCTIME_RESOLUTION 10,sc_core::SC_PS 
  112 #define SCTIME_GATE sc_time(20,sc_core::SC_PS) 
  114 #define SCTIME_CLOCKTIME sc_time(100,sc_core::SC_PS) 
  117 #define USE_DEBUG_DATA_TYPES 
  119 #ifdef USE_DEBUG_DATA_TYPES 
  121     typedef uint8_t  SC_HTHREAD_ID_TYPE;
 
  122     typedef uint32_t SC_ADDRESS_TYPE;
 
  123     typedef uint32_t SC_GRIDPOINT_ID_TYPE;
 
  124     typedef uint32_t SC_WORD_TYPE;
 
  125     typedef uint64_t SC_GRIDPOINT_MASK_TYPE;
 
  126     typedef uint64_t SC_HTHREAD_MASK_TYPE;
 
  129     typedef sc_dt::sc_uint<HTHREAD_BUS_WIDTH>  SC_HTHREAD_ID_TYPE;
 
  130     typedef sc_dt::sc_uint<MEMORY_ADDRESS_WIDTH> SC_ADDRESS_TYPE;
 
  131     typedef sc_dt::sc_uint<CORE_BUS_WIDTH> GRID_BUS_WIDTH;
 
  132     typedef sc_dt::sc_uint<WORD_SIZE> SC_WORD_TYPE;
 
  133     typedef sc_dt::sc_uint<MAX_GRIDPOINTS>  SC_GRIDPOINT_MASK_TYPE;
 
  134     typedef sc_dt::sc_uint<MAX_HTHREADS>  SC_HTHREAD_MASK_TYPE;
 
  138 #define MEASURE_DATA_TYPES_USING 
  139 #define MEASURE_USING_MEMORY_TYPES_USING 
  140 #define PREPARE_PERFORMACE_PLOT 
  143 #define MAKE_PARALLEL_PREFETCH 
  146 #define MEASURE_NETWORK_TRANSFERS 
  147 #define MEASURE_DIRECT_TRANSFERS 
  148 #define MEASURE_PROXY_TRANSFERS 
  149 #define MEMORY_TRANSFER 
  150 #define MEMORY_ACCESS_TIME 
  151 #define MEMORY_TOTAL_ACCESS_TIME 
  154 #define MEASURE_MEMORY0_TRANSFERS 
  155 #define MEASURE_MEMORY1_TRANSFERS 
  156 #define MEASURE_MEMORY2_TRANSFERS 
  157 #define MEASURE_MEMORY3_TRANSFERS 
  160 #define MAKE_BENCHMARKING true