Changeset 874 for trunk/platforms/tsar_generic_iob/top.cpp
- Timestamp:
- Nov 11, 2014, 4:07:29 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/platforms/tsar_generic_iob/top.cpp
r818 r874 38 38 // The external peripherals HWI IRQs are translated to WTI IRQs by the 39 39 // external IOPIC component, that must be configured by the OS to route 40 // these WTI I TQS to one or several internal XICU components.40 // these WTI IRQS to one or several internal XICU components. 41 41 // - IOPIC HWI[1:0] connected to IRQ_NIC_RX[1:0] 42 42 // - IOPIC HWI[3:2] connected to IRQ_NIC_TX[1:0] 43 43 // - IOPIC HWI[7:4] connected to IRQ_CMA_TX[3:0]] 44 44 // - IOPIC HWI[8] connected to IRQ_BDEV 45 // - IOPIC HWI[ 9] connected to IRQ_TTY_RX[0]45 // - IOPIC HWI[31:16] connected to IRQ_TTY_RX[15:0] 46 46 // 47 47 // Besides the external peripherals, each cluster contains one XICU component, … … 78 78 // - Y_SIZE : number of clusters in a column 79 79 // - NB_PROCS_MAX : number of processors per cluster (power of 2) 80 // - NB_TTY_CHANNELS : number of TTY channels in I/O network ( must be 1)80 // - NB_TTY_CHANNELS : number of TTY channels in I/O network (up to 16) 81 81 // - NB_NIC_CHANNELS : number of NIC channels in I/O network (up to 2) 82 82 // - NB_CMA_CHANNELS : number of CMA channels in I/O network (up to 4) … … 454 454 "The NB_DMA_CHANNELS parameter cannot be larger than 4" ); 455 455 456 assert( (NB_TTY_CHANNELS == 1) and457 "The NB_TTY_CHANNELS parameter must be 1" );456 assert( (NB_TTY_CHANNELS >= 1) and (NB_TTY_CHANNELS <= 16) and 457 "The NB_TTY_CHANNELS parameter cannot be larger than 16" ); 458 458 459 459 assert( (NB_NIC_CHANNELS == 2) and … … 801 801 sc_signal<bool> signal_irq_false; 802 802 sc_signal<bool> signal_irq_bdev; 803 sc_signal<bool> signal_irq_mtty_rx ;803 sc_signal<bool> signal_irq_mtty_rx[NB_TTY_CHANNELS]; 804 804 sc_signal<bool> signal_irq_mnic_rx[NB_NIC_CHANNELS]; 805 805 sc_signal<bool> signal_irq_mnic_tx[NB_NIC_CHANNELS]; … … 1156 1156 mtty->p_resetn (signal_resetn); 1157 1157 mtty->p_vci (signal_vci_tgt_mtty); 1158 mtty->p_irq[0] (signal_irq_mtty_rx); 1159 1158 for ( size_t i=0 ; i<NB_TTY_CHANNELS ; i++ ) 1159 { 1160 mtty->p_irq[i] (signal_irq_mtty_rx[i]); 1161 } 1160 1162 std::cout << " - MTTY connected" << std::endl; 1161 1163 … … 1185 1187 else if(i < 4+NB_CMA_CHANNELS) iopi->p_hwi[i] (signal_irq_cdma[i-4]); 1186 1188 else if(i < 8) iopi->p_hwi[i] (signal_irq_false); 1187 else if(i == 8) iopi->p_hwi[i] (signal_irq_bdev); 1188 else if(i == 9) iopi->p_hwi[i] (signal_irq_mtty_rx); 1189 else if(i < 9) iopi->p_hwi[i] (signal_irq_bdev); 1190 else if(i < 16) iopi->p_hwi[i] (signal_irq_false); 1191 else if(i < 16+NB_TTY_CHANNELS) iopi->p_hwi[i] (signal_irq_mtty_rx[i-16]); 1189 1192 else iopi->p_hwi[i] (signal_irq_false); 1190 1193 } … … 1523 1526 { 1524 1527 clusters[0][0]->iob->print_trace(); 1525 clusters[XMAX-1][YMAX-1]->iob->print_trace();1526 1528 // clusters[0][0]->signal_int_vci_tgt_iobx.print_trace( "[SIG]IOB0_INT_TGT"); 1527 1529 // clusters[0][0]->signal_int_vci_ini_iobx.print_trace( "[SIG]IOB0_INT_INI"); … … 1531 1533 // signal_vci_tgt_iob0.print_trace("[SIG]IOB0_IOX_TGT"); 1532 1534 1533 //cdma->print_trace();1534 //signal_vci_tgt_cdma.print_trace("[SIG]IOX_CDMA_TGT");1535 //signal_vci_ini_cdma.print_trace("[SIG]IOX_CDMA_INI");1535 cdma->print_trace(); 1536 signal_vci_tgt_cdma.print_trace("[SIG]IOX_CDMA_TGT"); 1537 signal_vci_ini_cdma.print_trace("[SIG]IOX_CDMA_INI"); 1536 1538 1537 1539 // brom->print_trace(); … … 1541 1543 // signal_vci_tgt_mtty.print_trace("[SIG]IOX_MTTY_TGT"); 1542 1544 1543 1544 1545 1545 // bdev->print_trace(); 1546 // signal_vci_tgt_bdev.print_trace("[SIG]BDEV_TGT"); 1547 // signal_vci_ini_bdev.print_trace("[SIG]BDEV_INI"); 1546 1548 1547 1549 // mnic->print_trace(); … … 1551 1553 // signal_vci_tgt_fbuf.print_trace("[SIG]FBUF"); 1552 1554 1553 1554 1555 1556 1555 // iopi->print_trace(); 1556 // signal_vci_ini_iopi.print_trace("[SIG]IOPI_INI"); 1557 // signal_vci_tgt_iopi.print_trace("[SIG]IOPI_TGT"); 1558 // iox_network->print_trace(); 1557 1559 1558 1560 // interrupts 1559 1561 if (signal_irq_bdev) std::cout << "### IRQ_BDEV ACTIVE" << std::endl; 1560 if (signal_irq_mtty_rx ) std::cout << "### IRQ_MTTY ACTIVE"<< std::endl;1562 if (signal_irq_mtty_rx[0]) std::cout << "### IRQ_MTTY_RX[0] ACTIVE" << std::endl; 1561 1563 if (signal_irq_mnic_rx[0]) std::cout << "### IRQ_MNIC_RX[0] ACTIVE" << std::endl; 1562 1564 if (signal_irq_mnic_rx[1]) std::cout << "### IRQ_MNIC_RX[1] ACTIVE" << std::endl;
Note: See TracChangeset
for help on using the changeset viewer.