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