コード例 #1
0
void PowerModel::plug(const char* section)
/* plug {{{1 */
{
    I(sescThermWrapper);
    I(pwrCntrRepo);
    I(ipcRepo);
    I(temperatures);
    I(mcpatWrapper);
    I(energyBundle);

#ifdef ENABLE_PEQ
    PeqParser peq_parser;
//  peq_parser.getGeneralParams();
//  peq_parser.getCoreParams();
//  peq_parser.getMemParams();
//  peq_parser.testParser();
    SRAM my_sram;
    my_sram.testSRAM();
#endif

    avgTimingIPC  = 1;

    powerGlue.plug(section, energyBundle);

    logfile = 0;
    if (SescConf->checkCharPtr(section, "logfile")) {
        filename = SescConf->getCharPtr(section, "logfile");
        logfile = fopen(filename, "w");
        GMSG(logfile == 0, "ERROR: could not open logfile \"%s\" (ignoring it)", filename);
    }

    powerGlue.createStatCounters();
    //checkStatCounters(section);

    //Parse conf file to get stats information
    //Format in conf file is: stats[i] = pwrstat +gstat1 -gstat2 ...
    readStatsFromConfFile(section);

    genIndeces();

    readPowerConfig(section);
    initPowerModel(section);
    readTempConfig(section);
    initTempModel(section);

    //plugStackingValidator();

//Initialize logfile
    if (logfile == NULL) return;

    avgPowerValid = false;
    fprintf(logfile, "#IPC\t");
    for (size_t i = 0; i < stats->size(); i++) {
        fprintf(logfile, "%s\t", stats->at(i)->getName());
    }
    fprintf(logfile, "Total access all\n");
}
コード例 #2
0
ファイル: LinkPowerRepeated.C プロジェクト: jinyh99/NoC-sim
LinkPowerRepeated::LinkPowerRepeated(Router* router, int out_pc, int num_wires)
  : LinkPower(router, out_pc, num_wires)
{
    initPowerModel();
}