Changeset 714 for trunk/platforms/tsar_generic_iob/top.cpp
- Timestamp:
- Jun 20, 2014, 2:42:53 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/platforms/tsar_generic_iob/top.cpp
r710 r714 85 85 // - NB_NIC_CHANNELS : number of NIC channels in I/O network (up to 2) 86 86 // - NB_CMA_CHANNELS : number of CMA channels in I/O network (up to 4) 87 // - FBUF_X_SIZE : width of frame buffer (pixels) 88 // - FBUF_Y_SIZE : heigth of frame buffer (lines) 89 // - XCU_NB_INPUTS : number of HWIs = number of WTIs = number of PTIs 87 90 // 88 91 // Some secondary hardware parameters must be defined in this top.cpp file: … … 94 97 // - L1_DWAYS 95 98 // - L1_DSETS 96 // - FBUF_X_SIZE : width of frame buffer (pixels)97 // - FBUF_Y_SIZE : heigth of frame buffer (lines)98 // - BDEV_SECTOR_SIZE : block size for block drvice99 99 // - BDEV_IMAGE_NAME : file pathname for block device 100 100 // - NIC_RX_NAME : file pathname for NIC received packets … … 209 209 #define L1_DSETS 64 210 210 211 #define FBUF_X_SIZE 128212 #define FBUF_Y_SIZE 128213 214 #define BDEV_SECTOR_SIZE 512215 211 #define BDEV_IMAGE_NAME "../../../giet_vm/hdd/virt_hdd.dmg" 216 212 … … 236 232 //////////////////////i///////////////////////////////////// 237 233 238 #define MAX_FROZEN_CYCLES 10000234 #define MAX_FROZEN_CYCLES 200000 239 235 240 236 ///////////////////////////////////////////////////////// … … 383 379 size_t cluster_iob0 = cluster(0,0); // cluster containing IOB0 384 380 size_t cluster_iob1 = cluster(XMAX-1,YMAX-1); // cluster containing IOB1 385 size_t block_size = BDEV_SECTOR_SIZE; // disk block size386 381 size_t x_width = 4; // at most 256 clusters 387 382 size_t y_width = 4; // at most 256 clusters … … 415 410 { 416 411 debug_memc_id = atoi(argv[n+1]); 417 418 std::cout << "@@@@@@@@@@@@@@ MEMCID = " << debug_memc_id << std::endl;419 420 412 size_t x = debug_memc_id >> 4; 421 413 size_t y = debug_memc_id & 0xF; … … 998 990 IntTab(0, IOX_BDEV_TGT_ID), 999 991 disk_name, 1000 block_size,992 512, // block size 1001 993 64, // burst size (bytes) 1002 994 0 ); // disk latency … … 1103 1095 L1_DSETS, 1104 1096 XRAM_LATENCY, 1097 XCU_NB_INPUTS, 1105 1098 1106 1099 loader, … … 1150 1143 bdev->p_resetn (signal_resetn); 1151 1144 bdev->p_irq (signal_irq_bdev); 1152 1153 // For AHCI1154 // bdev->p_channel_irq[0] (signal_irq_bdev);1155 1156 1145 bdev->p_vci_target (signal_vci_tgt_bdev); 1157 1146 bdev->p_vci_initiator (signal_vci_ini_bdev); … … 1481 1470 { 1482 1471 // stats display 1483 if( (n % 5000000) == 0)1472 if( (n % 1000000) == 0) 1484 1473 { 1485 1474 gettimeofday(&t2, NULL); … … 1489 1478 uint64_t ms2 = (uint64_t) t2.tv_sec * 1000ULL + 1490 1479 (uint64_t) t2.tv_usec / 1000; 1491 std::cerr << "platform clock frequency " 1480 std::cerr << "### cycle = " << n 1481 << " / frequency = " 1492 1482 << (double) 5000000 / (double) (ms2 - ms1) << "Khz" 1493 1483 << std::endl; … … 1519 1509 1520 1510 clusters[x][y]->proc[l]->print_trace(1); 1521 1522 1511 std::ostringstream proc_signame; 1523 1512 proc_signame << "[SIG]PROC_" << x << "_" << y << "_" << l ; … … 1525 1514 1526 1515 clusters[x][y]->xicu->print_trace(l); 1527 1528 1516 std::ostringstream xicu_signame; 1529 1517 xicu_signame << "[SIG]XICU_" << x << "_" << y; 1530 1518 clusters[x][y]->signal_int_vci_tgt_xicu.print_trace(xicu_signame.str()); 1519 1520 // clusters[x][y]->mdma->print_trace(); 1521 // std::ostringstream mdma_signame; 1522 // mdma_signame << "[SIG]MDMA_" << x << "_" << y; 1523 // clusters[x][y]->signal_int_vci_tgt_mdma.print_trace(mdma_signame.str()); 1531 1524 1532 1525 if( clusters[x][y]->signal_proc_it[l].read() ) … … 1534 1527 << x << "_" << y << "_" << l << " ACTIVE" << std::endl; 1535 1528 } 1536 1537 // trace INT network1538 // clusters[0][0]->int_xbar_cmd_d->print_trace();1539 // clusters[0][0]->int_xbar_rsp_d->print_trace();1540 1541 // clusters[0][0]->signal_int_dspin_cmd_l2g_d.print_trace("[SIG] INT_CMD_L2G_D_0_0");1542 // clusters[0][0]->signal_int_dspin_rsp_g2l_d.print_trace("[SIG] INT_RSP_G2L_D_0_0");1543 1544 // clusters[0][0]->int_router_cmd->print_trace(0);1545 // clusters[0][0]->int_router_rsp->print_trace(0);1546 1547 // trace INT_CMD_D xbar and router in cluster 0_11548 // clusters[0][1]->int_router_cmd->print_trace(0);1549 // clusters[0][1]->int_router_rsp->print_trace(0);1550 1551 // clusters[0][1]->signal_int_dspin_cmd_g2l_d.print_trace("[SIG] INT_CMD_G2L_D_0_0");1552 // clusters[0][1]->signal_int_dspin_rsp_l2g_d.print_trace("[SIG] INT_RSP_L2G_D_0_0");1553 1554 // clusters[0][1]->int_xbar_cmd_d->print_trace();1555 // clusters[0][1]->int_xbar_rsp_d->print_trace();1556 1529 1557 1530 // trace memc[debug_memc_id] … … 1619 1592 signal_vci_ini_bdev.print_trace("[SIG]BDEV_INI"); 1620 1593 1594 mnic->print_trace(); 1595 signal_vci_tgt_mnic.print_trace("[SIG]MNIC_TGT"); 1596 1621 1597 // fbuf->print_trace(); 1622 1598 // signal_vci_tgt_fbuf.print_trace("[SIG]FBUF"); … … 1628 1604 1629 1605 // interrupts 1630 if (signal_irq_bdev) std::cout << "### IRQ_BDEV ACTIVE" << std::endl; 1631 if (signal_irq_mtty_rx) std::cout << "### IRQ_MTTY ACTIVE" << std::endl; 1606 if (signal_irq_bdev) std::cout << "### IRQ_BDEV ACTIVE" << std::endl; 1607 if (signal_irq_mtty_rx) std::cout << "### IRQ_MTTY ACTIVE" << std::endl; 1608 if (signal_irq_mnic_rx[0]) std::cout << "### IRQ_MNIC_RX[0] ACTIVE" << std::endl; 1609 if (signal_irq_mnic_rx[1]) std::cout << "### IRQ_MNIC_RX[1] ACTIVE" << std::endl; 1610 if (signal_irq_mnic_tx[0]) std::cout << "### IRQ_MNIC_TX[0] ACTIVE" << std::endl; 1611 if (signal_irq_mnic_tx[1]) std::cout << "### IRQ_MNIC_TX[1] ACTIVE" << std::endl; 1632 1612 } 1633 1613 }
Note: See TracChangeset
for help on using the changeset viewer.