Logo SoCRocket

Transaction-Level Modeling Framework for Space Applications

Classes | Public Types | Static Public Member Functions | Static Public Attributes | List of all members
TimingMonitor Class Reference

#include <timingmonitor.h>

Collaboration diagram for TimingMonitor:

Classes

struct  t_timing_rec
 Content of a timing_map entry. More...
 

Public Types

typedef std::map< unsigned int,
t_timing_rec
t_timing_map
 Data structure for timing information. More...
 
typedef t_timing_map::iterator t_timing_it
 Iterator for timing information. More...
 

Static Public Member Functions

static void phase_start_timing (const unsigned int id, const char *name="")
 Create a new timing record and set starting time. More...
 
static void phase_end_timing (const unsigned int id)
 Enter phase finishing time. More...
 
static sc_core::sc_time phase_systime (const unsigned int id)
 Return simulation time of phase id. More...
 
static double phase_realtime (const unsigned int id)
 Return real time for processing phase id. More...
 
static const charphase_get_name (const unsigned int id)
 Return name of phase id. More...
 
static void report_timing ()
 Generate timing report for all phases at 'info' level. More...
 

Static Public Attributes

static t_timing_map timing_map
 The map for tracking phases & time. More...
 

Detailed Description

Timingmonitor is a support class for timing verification. Within the library it is used in almost all testbench classes. During simulation it records the SystemC simulation time and the real execution time of test phases. For this purpose it provides a set of static control functions. A test phase starts with a call to phase_start_timing. The function expects a phase ID and a phase description as inputs. This will create a new entry in the internal timing map. After completion of the test phase, the testbench calls phase_end_timing to close the record. At the end of the test, the testbench may now call report_timing to generate a report showing the timing of all test phases. This is especially useful for comparing simulations at different levels of abstraction.

Member Typedef Documentation

typedef t_timing_map::iterator TimingMonitor::t_timing_it

Iterator for timing information.

typedef std::map<unsigned int, t_timing_rec> TimingMonitor::t_timing_map

Data structure for timing information.


The documentation for this class was generated from the following files: