Transaction-Level Modeling Framework for Space Applications
#include <timingmonitor.h>
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 char * | phase_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... | |
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.
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.