Ignore:
Timestamp:
Jun 8, 2010, 5:38:47 PM (15 years ago)
Author:
alain
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/platforms/caba-xxx-ccxcachemulti-mipsel/top.cpp

    r3 r46  
    4444        maptabp.add(Segment("mc_r" , MC_R_BASE , MC_R_SIZE , IntTab(2), false, true, IntTab(0)));
    4545        maptabp.add(Segment("mc_m" , MC_M_BASE , MC_M_SIZE , IntTab(2), true ));
    46         maptabp.add(Segment("ptba" , PTD_ADDR , TAB_SIZE   , IntTab(2), true));
     46        maptabp.add(Segment("ptba" , PTD_ADDR  , TAB_SIZE  , IntTab(2), true));
    4747 
    4848        std::cout << maptabp << std::endl;
     
    105105        soclib::caba::VciSignals<vci_param> signal_vci_ini_d_proc0("vci_ini_d_proc0");
    106106        soclib::caba::VciSignals<vci_param> signal_vci_ini_c_proc0("vci_ini_c_proc0");
    107         soclib::caba::VciSignals<vci_param> signal_vci_tgt_proc0("vci_tgt_proc0");
     107        soclib::caba::VciSignals<vci_param> signal_vci_tgt_c_proc0("vci_tgt_proc0");
    108108
    109109        soclib::caba::VciSignals<vci_param> signal_vci_ini_d_proc1("vci_ini_d_proc1");
    110110        soclib::caba::VciSignals<vci_param> signal_vci_ini_c_proc1("vci_ini_c_proc1");
    111         soclib::caba::VciSignals<vci_param> signal_vci_tgt_proc1("vci_tgt_proc1");
     111        soclib::caba::VciSignals<vci_param> signal_vci_tgt_c_proc1("vci_tgt_proc1");
    112112
    113113        soclib::caba::VciSignals<vci_param> signal_vci_ini_d_proc2("vci_ini_d_proc2");
    114114        soclib::caba::VciSignals<vci_param> signal_vci_ini_c_proc2("vci_ini_c_proc2");
    115         soclib::caba::VciSignals<vci_param> signal_vci_tgt_proc2("vci_tgt_proc2");
     115        soclib::caba::VciSignals<vci_param> signal_vci_tgt_c_proc2("vci_tgt_proc2");
    116116
    117117        soclib::caba::VciSignals<vci_param> signal_vci_ini_d_proc3("vci_ini_d_proc3");
    118118        soclib::caba::VciSignals<vci_param> signal_vci_ini_c_proc3("vci_ini_c_proc3");
    119         soclib::caba::VciSignals<vci_param> signal_vci_tgt_proc3("vci_tgt_proc3");
     119        soclib::caba::VciSignals<vci_param> signal_vci_tgt_c_proc3("vci_tgt_proc3");
    120120
    121121        soclib::caba::VciSignals<vci_param> signal_vci_tgt_tty("vci_tgt_tty");
     
    127127        soclib::caba::VciSignals<vci_param> signal_vci_ixr_memc("vci_ixr_memc");
    128128        soclib::caba::VciSignals<vci_param> signal_vci_ini_memc("vci_ini_memc");
    129         soclib::caba::VciSignals<vci_param> signal_vci_tgt_memc("vci_tgt_memc");
    130         soclib::caba::VciSignals<vci_param> signal_vci_tgt_cleanup_memc("vci_tgt_cleanup_memc");
     129        soclib::caba::VciSignals<vci_param> signal_vci_tgt_d_memc("vci_tgt_memc");
     130        soclib::caba::VciSignals<vci_param> signal_vci_tgt_c_memc("vci_tgt_cleanup_memc");
    131131
    132132        sc_signal<bool> signal_tty_irq0("signal_tty_irq0");
     
    141141        // Components
    142142        soclib::caba::VciCcXCacheWrapperMulti<vci_param, proc_iss >
    143         proc0("proc0", 0, maptabp, maptabc, IntTab(0),IntTab(0),IntTab(0),1,8,16,1,8,16,4,8);
     143        proc0("proc0", 0, maptabp, maptabc, IntTab(0),IntTab(0),IntTab(0),1,8,16,1,8,16,4,8,16);
    144144
    145145        soclib::caba::VciCcXCacheWrapperMulti<vci_param, proc_iss >
    146         proc1("proc1", 1, maptabp, maptabc, IntTab(1),IntTab(1),IntTab(1),1,8,16,1,8,16,4,8);
     146        proc1("proc1", 1, maptabp, maptabc, IntTab(1),IntTab(1),IntTab(1),1,8,16,1,8,16,4,8,16);
    147147
    148148        soclib::caba::VciCcXCacheWrapperMulti<vci_param, proc_iss >
    149         proc2("proc2", 2, maptabp, maptabc, IntTab(2),IntTab(2),IntTab(2),1,8,16,1,8,16,4,8);
     149        proc2("proc2", 2, maptabp, maptabc, IntTab(2),IntTab(2),IntTab(2),1,8,16,1,8,16,4,8,16);
    150150
    151151        soclib::caba::VciCcXCacheWrapperMulti<vci_param, proc_iss >
    152         proc3("proc3", 3, maptabp, maptabc, IntTab(3),IntTab(3),IntTab(3),1,8,16,1,8,16,4,8);
     152        proc3("proc3", 3, maptabp, maptabc, IntTab(3),IntTab(3),IntTab(3),1,8,16,1,8,16,4,8,16);
    153153
    154154        soclib::caba::VciSimpleRam<vci_param>
     
    203203        proc0.p_vci_ini_d(signal_vci_ini_d_proc0);
    204204        proc0.p_vci_ini_c(signal_vci_ini_c_proc0);
    205         proc0.p_vci_tgt_c(signal_vci_tgt_proc0);
     205        proc0.p_vci_tgt_c(signal_vci_tgt_c_proc0);
    206206
    207207        proc1.p_clk(signal_clk); 
     
    215215        proc1.p_vci_ini_d(signal_vci_ini_d_proc1);
    216216        proc1.p_vci_ini_c(signal_vci_ini_c_proc1);
    217         proc1.p_vci_tgt_c(signal_vci_tgt_proc1);
     217        proc1.p_vci_tgt_c(signal_vci_tgt_c_proc1);
    218218
    219219        proc2.p_clk(signal_clk); 
     
    227227        proc2.p_vci_ini_d(signal_vci_ini_d_proc2);
    228228        proc2.p_vci_ini_c(signal_vci_ini_c_proc2);
    229         proc2.p_vci_tgt_c(signal_vci_tgt_proc2);
     229        proc2.p_vci_tgt_c(signal_vci_tgt_c_proc2);
    230230
    231231        proc3.p_clk(signal_clk); 
     
    239239        proc3.p_vci_ini_d(signal_vci_ini_d_proc3);
    240240        proc3.p_vci_ini_c(signal_vci_ini_c_proc3);
    241         proc3.p_vci_tgt_c(signal_vci_tgt_proc3);
     241        proc3.p_vci_tgt_c(signal_vci_tgt_c_proc3);
    242242
    243243        rom.p_clk(signal_clk);
    244244        rom.p_resetn(signal_resetn);
    245245        rom.p_vci(signal_vci_tgt_rom);
    246 
    247 //  vci_logger_proc0.p_clk(signal_clk);
    248 //  vci_logger_proc0.p_resetn(signal_resetn);
    249 //  vci_logger_proc0.p_vci(signal_vci_ini_d_proc0);
    250 
    251 //  vci_logger_proc1.p_clk(signal_clk);
    252 //  vci_logger_proc1.p_resetn(signal_resetn);
    253 //  vci_logger_proc1.p_vci(signal_vci_ini_d_proc2);
    254 
    255 //  vci_logger_proc2.p_clk(signal_clk);
    256 //  vci_logger_proc2.p_resetn(signal_resetn);
    257 //  vci_logger_proc2.p_vci(signal_vci_ini_d_proc2);
    258 
    259 //  vci_logger_proc3.p_clk(signal_clk);
    260 //  vci_logger_proc3.p_resetn(signal_resetn);
    261 //  vci_logger_proc3.p_vci(signal_vci_ini_d_proc3);
    262 
    263 //  vci_logger_memc.p_clk(signal_clk);
    264 //  vci_logger_memc.p_resetn(signal_resetn);
    265 //  vci_logger_memc.p_vci(signal_vci_tgt_memc);
    266246
    267247        tty.p_clk(signal_clk);
     
    275255        memc.p_clk(signal_clk);
    276256        memc.p_resetn(signal_resetn);
    277         memc.p_vci_tgt(signal_vci_tgt_memc);
    278         memc.p_vci_tgt_cleanup(signal_vci_tgt_cleanup_memc);
     257        memc.p_vci_tgt(signal_vci_tgt_d_memc);
     258        memc.p_vci_tgt_cleanup(signal_vci_tgt_c_memc);
    279259        memc.p_vci_ini(signal_vci_ini_memc);
    280260        memc.p_vci_ixr(signal_vci_ixr_memc);
     
    292272        ringd.p_to_target[0](signal_vci_tgt_rom);
    293273        ringd.p_to_target[1](signal_vci_tgt_tty);
    294         ringd.p_to_target[2](signal_vci_tgt_memc);
     274        ringd.p_to_target[2](signal_vci_tgt_d_memc);
    295275
    296276        ringc.p_clk(signal_clk);
     
    301281        ringc.p_to_initiator[3](signal_vci_ini_c_proc3);
    302282        ringc.p_to_initiator[4](signal_vci_ini_memc);
    303         ringc.p_to_target[0](signal_vci_tgt_proc0);
    304         ringc.p_to_target[1](signal_vci_tgt_proc1);
    305         ringc.p_to_target[2](signal_vci_tgt_proc2);
    306         ringc.p_to_target[3](signal_vci_tgt_proc3);
    307         ringc.p_to_target[4](signal_vci_tgt_cleanup_memc);
     283        ringc.p_to_target[0](signal_vci_tgt_c_proc0);
     284        ringc.p_to_target[1](signal_vci_tgt_c_proc1);
     285        ringc.p_to_target[2](signal_vci_tgt_c_proc2);
     286        ringc.p_to_target[3](signal_vci_tgt_c_proc3);
     287        ringc.p_to_target[4](signal_vci_tgt_c_memc);
    308288
    309289        ringx.p_clk(signal_clk);
     
    312292        ringx.p_to_target[0](signal_vci_tgt_xram);
    313293
    314         int ncycles;
    315 
    316 #ifndef SOCVIEW
     294        int ncycles = 1000000000;
     295
    317296        if (argc == 2) {
    318297                ncycles = std::atoi(argv[1]);
    319         } else {
    320                 std::cerr
    321                         << std::endl
    322                         << "The number of simulation cycles must "
    323                            "be defined in the command line"
    324                         << std::endl;
    325                 exit(1);
    326298        }
    327299
     
    335307        for (int i = 0; i < ncycles ; i++)
    336308        {
    337                 sc_start(sc_core::sc_time(1, SC_NS));
    338309                if ( i%10000 == 0 )
    339310                {
    340                         proc0.print_stats();
    341                         proc1.print_stats();
    342                         proc2.print_stats();
    343                         proc3.print_stats();
     311                        proc0.printStatistics();
     312                        proc1.printStatistics();
     313                        proc2.printStatistics();
     314                        proc3.printStatistics();
    344315                        memc.print_stats();
    345316                }
     317/*
     318
     319                std::cout << "***************************************** cycle = " << std::dec << i
     320                          << " *************************************************" << std::endl; 
     321                proc0.printTrace(0);
     322                proc1.printTrace(0);
     323                proc2.printTrace(0);
     324                proc3.printTrace(0);
     325            std::cout << " proc0.cmdval  = " << signal_vci_ini_c_proc0.cmdval << std::endl;
     326            std::cout << " proc0.cmdack  = " << signal_vci_ini_c_proc0.cmdack << std::endl;
     327            std::cout << " proc0.address = " << signal_vci_ini_c_proc0.address << std::endl;
     328            std::cout << " proc0.wdata   = " << signal_vci_ini_c_proc0.wdata << std::endl;
     329            std::cout << " proc0.eop     = " << signal_vci_ini_c_proc0.eop << std::endl;
     330            std::cout << " proc0.len     = " << signal_vci_ini_c_proc0.plen << std::endl;
     331            std::cout << " proc0.rspval  = " << signal_vci_ini_c_proc0.rspval << std::endl;
     332            std::cout << " proc0.rspack  = " << signal_vci_ini_c_proc0.rspack << std::endl;
     333            std::cout << " proc0.reop    = " << signal_vci_ini_c_proc0.reop << std::endl;
     334            std::cout << " proc0.rdata   = " << signal_vci_ini_c_proc0.rdata << std::endl;
     335            std::cout << " proc0.rerror  = " << signal_vci_ini_c_proc0.rerror << std::endl;
     336            std::cout << " memc.cmdval   = " << signal_vci_tgt_c_memc.cmdval << std::endl;
     337            std::cout << " memc.cmdack   = " << signal_vci_tgt_c_memc.cmdack << std::endl;
     338            std::cout << " memc.address  = " << signal_vci_tgt_c_memc.address << std::endl;
     339            std::cout << " memc.wdata    = " << signal_vci_tgt_c_memc.wdata << std::endl;
     340            std::cout << " memc.eop      = " << signal_vci_tgt_c_memc.eop << std::endl;
     341            std::cout << " memc.len      = " << signal_vci_tgt_c_memc.plen << std::endl;
     342            std::cout << " memc.rspval   = " << signal_vci_tgt_c_memc.rspval << std::endl;
     343            std::cout << " memc.rspack   = " << signal_vci_tgt_c_memc.rspack << std::endl;
     344            std::cout << " memc.reop     = " << signal_vci_tgt_c_memc.reop << std::endl;
     345            std::cout << " memc.rdata    = " << signal_vci_tgt_c_memc.rdata << std::endl;
     346            std::cout << " memc.rerror   = " << signal_vci_tgt_c_memc.rerror << std::endl;
     347*/
     348
     349                sc_start(sc_core::sc_time(1, SC_NS));
    346350        }
    347351
    348         std::cout << "Hit ENTER to end simulation" << std::endl;
    349         char buf[1];
    350         std::cin.getline(buf,1);
    351 
    352352        return EXIT_SUCCESS;
    353 #else
    354         ncycles = 1;
    355         sc_start(sc_core::sc_time(0, SC_NS));
    356         signal_resetn = false;
    357         sc_start(sc_core::sc_time(1, SC_NS));
    358         signal_resetn = true;
    359 
    360         debug();
    361         return EXIT_SUCCESS;
    362 #endif
    363353}
    364354
Note: See TracChangeset for help on using the changeset viewer.