Changeset 572
- Timestamp:
- Oct 31, 2013, 6:18:02 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/platforms/tsar_generic_xbar/top.cpp
r548 r572 233 233 #define MAX_FROZEN_CYCLES 1000000 234 234 235 /////////////////////////////////////////////////////////236 // Physical segments definition237 /////////////////////////////////////////////////////////238 // There is 3 segments replicated in all clusters239 // and 5 specific segments in the "IO" cluster240 // (containing address 0xBF000000)241 /////////////////////////////////////////////////////////242 243 #ifdef USE_GIET244 // specific segments in "IO" cluster : absolute physical address245 #define BROM_BASE 0x00BFC00000246 #define BROM_SIZE 0x0000100000 // 1 Mbytes247 248 #define FBUF_BASE 0x00B2000000249 #define FBUF_SIZE (FBUF_X_SIZE * FBUF_Y_SIZE * 2)250 251 #define BDEV_BASE 0x00B3000000252 #define BDEV_SIZE 0x0000001000 // 4 Kbytes253 254 #define MTTY_BASE 0x00B4000000255 #define MTTY_SIZE 0x0000001000 // 4 Kbytes256 257 #define MNIC_BASE 0x00B5000000258 #define MNIC_SIZE 0x0000080000 // 512 Kbytes (for 8 channels)259 260 #define CDMA_BASE 0x00B6000000261 #define CDMA_SIZE 0x0000004000 * NB_CMA_CHANNELS262 263 // replicated segments : address is incremented by a cluster offset264 // offset = cluster(x,y) << (address_width-x_width-y_width);265 266 #define MEMC_BASE 0x0000000000267 #define MEMC_SIZE 0x0010000000 // 256 Mbytes per cluster268 269 #define XICU_BASE 0x00B0000000270 #define XICU_SIZE 0x0000001000 // 4 Kbytes271 272 #define MDMA_BASE 0x00B1000000273 #define MDMA_SIZE 0x0000001000 * NB_DMA_CHANNELS // 4 Kbytes per channel274 275 #define SIMH_BASE 0x00B7000000276 #define SIMH_SIZE 0x0000001000277 #endif278 279 #ifdef USE_ALMOS280 #define CLUSTER_INC (0x80000000ULL / (XMAX * YMAX) * 2)281 282 #define MEMC_BASE 0x0000000000283 #define MEMC_SIZE min(0x02000000, (0x80000000 / (XMAX * YMAX)))284 285 #define BROM_BASE 0x00BFC00000286 #define BROM_SIZE 0x0000100000 // 1 Mbytes287 288 #define XICU_BASE (MEMC_SIZE)289 #define XICU_SIZE 0x0000001000 // 4 Kbytes290 291 #define MDMA_BASE (XICU_BASE + XICU_SIZE)292 #define MDMA_SIZE 0x0000001000 * NB_DMA_CHANNELS // 4 Kbytes per channel293 294 #define BDEV_BASE ((cluster_io_id * (CLUSTER_INC)) + MDMA_BASE + MDMA_SIZE)295 #define BDEV_SIZE 0x0000001000 // 4 Kbytes296 297 #define MTTY_BASE (BDEV_BASE + BDEV_SIZE)298 #define MTTY_SIZE 0x0000001000 // 4 Kbytes299 300 #define FBUF_BASE (MTTY_BASE + MTTY_SIZE)301 #define FBUF_SIZE (FBUF_X_SIZE * FBUF_Y_SIZE * 2) // Should be 0x80000302 303 // Unused in almos304 #define MNIC_BASE (FBUF_BASE + FBUF_SIZE)305 #define MNIC_SIZE 0x0000001000306 307 #define CDMA_BASE (MNIC_BASE + MNIC_SIZE)308 #define CDMA_SIZE 0x0000004000 * NB_CMA_CHANNELS309 310 #endif311 235 312 236 … … 326 250 #define CDMA_TGTID 8 327 251 #define SIMH_TGTID 9 252 253 254 255 ///////////////////////////////////////////////////////// 256 // Physical segments definition 257 ///////////////////////////////////////////////////////// 258 // There is 3 segments replicated in all clusters 259 // and 5 specific segments in the "IO" cluster 260 // (containing address 0xBF000000) 261 ///////////////////////////////////////////////////////// 262 263 #ifdef USE_GIET 264 // specific segments in "IO" cluster : absolute physical address 265 #define BROM_BASE 0x00BFC00000 266 #define BROM_SIZE 0x0000100000 // 1 Mbytes 267 268 #define FBUF_BASE 0x00B2000000 269 #define FBUF_SIZE (FBUF_X_SIZE * FBUF_Y_SIZE * 2) 270 271 #define BDEV_BASE 0x00B3000000 272 #define BDEV_SIZE 0x0000001000 // 4 Kbytes 273 274 #define MTTY_BASE 0x00B4000000 275 #define MTTY_SIZE 0x0000001000 // 4 Kbytes 276 277 #define MNIC_BASE 0x00B5000000 278 #define MNIC_SIZE 0x0000080000 // 512 Kbytes (for 8 channels) 279 280 #define CDMA_BASE 0x00B6000000 281 #define CDMA_SIZE 0x0000004000 * NB_CMA_CHANNELS 282 283 // replicated segments : address is incremented by a cluster offset 284 // offset = cluster(x,y) << (address_width-x_width-y_width); 285 286 #define MEMC_BASE 0x0000000000 287 #define MEMC_SIZE 0x0010000000 // 256 Mbytes per cluster 288 289 #define XICU_BASE 0x00B0000000 290 #define XICU_SIZE 0x0000001000 // 4 Kbytes 291 292 #define MDMA_BASE 0x00B1000000 293 #define MDMA_SIZE 0x0000001000 * NB_DMA_CHANNELS // 4 Kbytes per channel 294 295 #define SIMH_BASE 0x00B7000000 296 #define SIMH_SIZE 0x0000001000 297 #endif 298 299 #ifdef USE_ALMOS 300 // 2^19 is the offset for the local id (8 bits for global ID : 301 // 1 bit for Memcache or Peripheral, 4 for local peripheral id) 302 // (Almos supports 32 bits physical addresses) 303 304 #define CLUSTER_IO_INC (cluster_io_id * (0x80000000ULL / (XMAX * YMAX) * 2)) 305 306 #define MEMC_MAX_SIZE (0x80000000 / (XMAX * YMAX)) 307 308 #define BROM_BASE 0x00BFC00000 309 #define BROM_SIZE 0x0000100000 // 1 Mbytes 310 311 #define MEMC_BASE 0x0000000000 312 #define MEMC_SIZE min(0x02000000, MEMC_MAX_SIZE) 313 314 #define XICU_BASE MEMC_MAX_SIZE + (XICU_TGTID << 19) 315 #define XICU_SIZE 0x0000001000 // 4 Kbytes 316 317 #define MDMA_BASE MEMC_MAX_SIZE + (MDMA_TGTID << 19) 318 #define MDMA_SIZE (0x0000001000 * NB_DMA_CHANNELS) // 4 Kbytes per channel 319 320 #define BDEV_BASE MEMC_MAX_SIZE + (BDEV_TGTID << 19) + (CLUSTER_IO_INC) 321 #define BDEV_SIZE 0x0000001000 // 4 Kbytes 322 323 #define MTTY_BASE MEMC_MAX_SIZE + (MTTY_TGTID << 19) + (CLUSTER_IO_INC) 324 #define MTTY_SIZE 0x0000001000 // 4 Kbytes 325 326 #define FBUF_BASE MEMC_MAX_SIZE + (FBUF_TGTID << 19) + (CLUSTER_IO_INC) 327 #define FBUF_SIZE (FBUF_X_SIZE * FBUF_Y_SIZE * 2) // Should be 0x80000 328 329 #define MNIC_BASE MEMC_MAX_SIZE + (MNIC_TGTID << 19) + (CLUSTER_IO_INC) 330 #define MNIC_SIZE 0x0000080000 331 332 #define CDMA_BASE MEMC_MAX_SIZE + (CDMA_TGTID << 19) + (CLUSTER_IO_INC) 333 #define CDMA_SIZE (0x0000004000 * NB_CMA_CHANNELS) 334 335 #define SIMH_BASE MEMC_MAX_SIZE + (SIMH_TGTID << 19) + (CLUSTER_IO_INC) 336 #define SIMH_SIZE 0x0000001000 337 338 #endif 339 328 340 329 341 bool stop_called = false; … … 530 542 // internal network 531 543 MappingTable maptabd(vci_address_width, 532 IntTab(x_width + y_width, 20- x_width - y_width),544 IntTab(x_width + y_width, 16 - x_width - y_width), 533 545 IntTab(x_width + y_width, vci_srcid_width - x_width - y_width), 534 546 0x00FF800000);
Note: See TracChangeset
for help on using the changeset viewer.