Ignore:
Timestamp:
Jul 7, 2014, 12:30:38 PM (10 years ago)
Author:
alain
Message:

Improve trace in tsar_generic_iob/top.cpp.
Fix a vicious bugs in the tsar_iob_cluster netlist: the signal_proc_it[] array was too small...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/platforms/tsar_generic_iob/top.cpp

    r734 r739  
    4747// Besides the external peripherals, each cluster contains one XICU component,
    4848// and one multi channels DMA component.
    49 // The XICU component is mainly used to handle WTI IRQs, as only 2 HWI IRQs
     49// The XICU component is mainly used to handle WTI IRQs, as only 5 HWI IRQs
    5050// are connected to XICU in each cluster:
    5151// - IRQ_IN[0] : MMC
     
    14231423
    14241424        // Monitor a specific address for one L2 cache
    1425         // clusters[0][0]->memc->cache_monitor( 0x1542c0ULL, true );   // single word monitoring
     1425        // clusters[0][0]->memc->cache_monitor( 0x1542c0ULL, true );   // single word
    14261426
    14271427        // Monitor a specific address for one XRAM
     
    14511451                clusters[x][y]->signal_int_vci_tgt_xicu.print_trace(xicu_signame.str());
    14521452
    1453 //              clusters[x][y]->mdma->print_trace();
    1454 //              std::ostringstream mdma_signame;
    1455 //              mdma_signame << "[SIG]MDMA_" << x << "_" << y;
    1456 //              clusters[x][y]->signal_int_vci_tgt_mdma.print_trace(mdma_signame.str());
    1457 
    1458                 if( clusters[x][y]->signal_proc_it[l].read() )
    1459                     std::cout << "### IRQ_PROC_" << std::dec
    1460                               << x << "_" << y << "_" << l << " ACTIVE" << std::endl;
     1453                clusters[x][y]->mdma->print_trace();
     1454                std::ostringstream mdma_signame;
     1455                mdma_signame << "[SIG]MDMA_" << x << "_" << y;
     1456                clusters[x][y]->signal_int_vci_tgt_mdma.print_trace(mdma_signame.str());
     1457
     1458                // local interrupts in cluster(x,y)
     1459                if( clusters[x][y]->signal_irq_memc.read() )
     1460                std::cout << "### IRQ_MMC_" << std::dec << x << "_" << y
     1461                          << " ACTIVE" << std::endl;
     1462
     1463                for ( size_t c = 0 ; c < NB_DMA_CHANNELS ; c++ )
     1464                {
     1465                    if( clusters[x][y]->signal_irq_mdma[c].read() )
     1466                    std::cout << "### IRQ_DMA_" << std::dec << x << "_" << y << "_" << c
     1467                              << " ACTIVE" << std::endl;
     1468                }
     1469 
     1470                for ( size_t c = 0 ; c < NB_PROCS_MAX ; c++ )
     1471                {
     1472                    if( clusters[x][y]->signal_proc_it[c].read() )
     1473                    std::cout << "### IRQ_PROC_" << std::dec << x << "_" << y << "_" << c
     1474                              << " ACTIVE" << std::endl;
     1475                }
    14611476            }
    14621477
Note: See TracChangeset for help on using the changeset viewer.