OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk/orpsocv2/bench/sysc
    from Rev 425 to Rev 435
    Reverse comparison

Rev 425 → Rev 435

/include/Or1200MonitorSC.h
117,7 → 117,7
bool logfile_name_provided;
bool logging_regs;
bool binary_log_format;
bool exit_perf_summary_enabled;
bool quiet;
bool monitor_for_crash;
int lookslikewevecrashed_count, crash_monitor_buffer_head;
#define CRASH_MONITOR_BUFFER_SIZE 32
/src/Or1200MonitorSC.cpp
71,9 → 71,7
insn_count = insn_count_rst = 0;
cycle_count = cycle_count_rst = 0;
 
exit_perf_summary_enabled = true; // Simulation exit performance summary is
// on by default. Turn off with "-q" on the
// cmd line
quiet = false;
monitor_for_crash = false;
lookslikewevecrashed_count = crash_monitor_buffer_head = 0;
 
130,7 → 128,7
else if ((strcmp(argv[i], "-q")==0) ||
(strcmp(argv[i], "--quiet")==0))
{
exit_perf_summary_enabled = false;
quiet = true;
}
else if ((strcmp(argv[i], "-p")==0) ||
(strcmp(argv[i], "--profile")==0))
427,10 → 425,13
{
case NOP_EXIT:
r3 = accessor->getGpr (3);
ts = sc_time_stamp().to_seconds() * 1000000000.0;
std::cout << std::fixed << std::setprecision (2) << ts;
std::cout << " ns: Exiting (" << r3 << ")" << std::endl;
perfSummary();
if (!quiet)
{
ts = sc_time_stamp().to_seconds() * 1000000000.0;
std::cout << std::fixed << std::setprecision (2) << ts;
std::cout << " ns: Exiting (" << r3 << ")" << std::endl;
perfSummary();
}
if (logging_enabled) statusFile.close();
if (profiling_enabled) profileFile.close();
if (bus_trans_log_enabled) busTransLog.close();
440,41 → 441,57
break;
 
case NOP_REPORT:
ts = sc_time_stamp().to_seconds() * 1000000000.0;
r3 = accessor->getGpr (3);
std::cout << std::fixed << std::setprecision (2) << ts;
std::cout << " ns: report (" << hex << r3 << ")" << std::endl;
if (!quiet)
{
ts = sc_time_stamp().to_seconds() * 1000000000.0;
r3 = accessor->getGpr (3);
std::cout << std::fixed << std::setprecision (2) << ts;
std::cout << " ns: report (" << hex << r3 << ")" << std::endl;
}
break;
 
case NOP_PRINTF:
ts = sc_time_stamp().to_seconds() * 1000000000.0;
std::cout << std::fixed << std::setprecision (2) << ts;
std::cout << " ns: printf: ";
simPrintf(accessor->getGpr (4), accessor->getGpr (3));
ts = sc_time_stamp().to_seconds() * 1000000000.0;
std::cout << std::fixed << std::setprecision (2) << ts;
std::cout << " ns: printf: ";
simPrintf(accessor->getGpr (4), accessor->getGpr (3));
break;
 
case NOP_PUTC:
r3 = accessor->getGpr (3);
std::cout << (char)r3 << std::flush;
break;
r3 = accessor->getGpr (3);
std::cout << (char)r3 << std::flush;
break;
 
case NOP_CNT_RESET:
std::cout << "****************** counters reset ******************" << endl;
std::cout << "since last reset: cycles " << cycle_count - cycle_count_rst << ", insn #" << insn_count - insn_count_rst << endl;
std::cout << "****************** counters reset ******************" << endl;
cycle_count_rst = cycle_count;
insn_count_rst = insn_count;
/* 3 separate counters we'll use for various things */
if (!quiet)
{
std::cout << "****************** counters reset ******************" << endl;
std::cout << "since last reset: cycles " << cycle_count - cycle_count_rst << ", insn #" << insn_count - insn_count_rst << endl;
std::cout << "****************** counters reset ******************" << endl;
cycle_count_rst = cycle_count;
insn_count_rst = insn_count;
/* 3 separate counters we'll use for various things */
}
case NOP_CNT_RESET1:
std::cout << "**** counter1 cycles: " << std::setfill('0') << std::setw(10) << cycle_count - cycles_1 << " resetting ********" << endl;
cycles_1 = cycle_count;
if (!quiet)
{
std::cout << "**** counter1 cycles: " << std::setfill('0') << std::setw(10) << cycle_count - cycles_1 << " resetting ********" << endl;
cycles_1 = cycle_count;
}
break;
case NOP_CNT_RESET2:
std::cout << "**** counter2 cycles: " << std::setfill('0') << std::setw(10) << cycle_count - cycles_2 << " resetting ********" << endl;
cycles_2 = cycle_count;
if (!quiet)
{
std::cout << "**** counter2 cycles: " << std::setfill('0') << std::setw(10) << cycle_count - cycles_2 << " resetting ********" << endl;
cycles_2 = cycle_count;
}
break;
case NOP_CNT_RESET3:
std::cout << "**** counter3 cycles: " << std::setfill('0') << std::setw(10) << cycle_count - cycles_3 << " resetting ********" << endl;
cycles_3 = cycle_count;
if (!quiet)
{
std::cout << "**** counter3 cycles: " << std::setfill('0') << std::setw(10) << cycle_count - cycles_3 << " resetting ********" << endl;
cycles_3 = cycle_count;
}
break;
default:
break;
786,7 → 803,7
void
Or1200MonitorSC::perfSummary()
{
if (exit_perf_summary_enabled)
if (!quiet)
{
double ts;
ts = sc_time_stamp().to_seconds() * 1000000000.0;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.