gem5 v24.0.0.0
Loading...
Searching...
No Matches
sc_gem5::VcdTraceFile Class Reference

#include <vcd.hh>

Inheritance diagram for sc_gem5::VcdTraceFile:
sc_gem5::TraceFile sc_core::sc_trace_file

Public Member Functions

 VcdTraceFile (const std::string &name)
 
 ~VcdTraceFile ()
 
void trace (bool delta) override
 
template<typename TV >
void addNewTraceVal (const typename TV::TracedType *v, const std::string &name, int width=1)
 
void addTraceVal (const bool *v, const std::string &name) override
 
void addTraceVal (const float *v, const std::string &name) override
 
void addTraceVal (const double *v, const std::string &name) override
 
void addTraceVal (const sc_dt::sc_logic *v, const std::string &name) override
 
void addTraceVal (const sc_dt::sc_int_base *v, const std::string &name) override
 
void addTraceVal (const sc_dt::sc_uint_base *v, const std::string &name) override
 
void addTraceVal (const sc_dt::sc_signed *v, const std::string &name) override
 
void addTraceVal (const sc_dt::sc_unsigned *v, const std::string &name) override
 
void addTraceVal (const sc_dt::sc_bv_base *v, const std::string &name) override
 
void addTraceVal (const sc_dt::sc_lv_base *v, const std::string &name) override
 
void addTraceVal (const sc_dt::sc_fxval *v, const std::string &name) override
 
void addTraceVal (const sc_dt::sc_fxval_fast *v, const std::string &name) override
 
void addTraceVal (const sc_dt::sc_fxnum *v, const std::string &name) override
 
void addTraceVal (const sc_dt::sc_fxnum_fast *v, const std::string &name) override
 
void addTraceVal (const sc_core::sc_event *v, const std::string &name) override
 
void addTraceVal (const sc_core::sc_time *v, const std::string &name) override
 
void addTraceVal (const unsigned char *v, const std::string &name, int width) override
 
void addTraceVal (const char *v, const std::string &name, int width) override
 
void addTraceVal (const unsigned short *v, const std::string &name, int width) override
 
void addTraceVal (const short *v, const std::string &name, int width) override
 
void addTraceVal (const unsigned int *v, const std::string &name, int width) override
 
void addTraceVal (const int *v, const std::string &name, int width) override
 
void addTraceVal (const unsigned long *v, const std::string &name, int width) override
 
void addTraceVal (const long *v, const std::string &name, int width) override
 
void addTraceVal (const sc_dt::int64 *v, const std::string &name, int width) override
 
void addTraceVal (const sc_dt::uint64 *v, const std::string &name, int width) override
 
void addTraceVal (const unsigned int *, const std::string &name, const char **literals) override
 
void writeComment (const std::string &comment) override
 
- Public Member Functions inherited from sc_gem5::TraceFile
 ~TraceFile ()
 
void traceDeltas (bool on)
 
void set_time_unit (double, ::sc_core::sc_time_unit) override
 
void finalizeTime ()
 
- Public Member Functions inherited from sc_core::sc_trace_file
virtual ~sc_trace_file ()
 
virtual void set_time_unit (double, sc_time_unit)=0
 

Private Member Functions

std::string nextSignalName ()
 
void initialize ()
 

Private Attributes

gem5::Tick lastPrintedTime
 
uint64_t deltasAtNow
 
char _nextName [NextNameChars+1]
 
bool initialized
 
std::vector< VcdTraceValBase * > traceVals
 
VcdTraceScope topScope
 

Static Private Attributes

static const int NextNameChars = 5
 

Additional Inherited Members

- Protected Member Functions inherited from sc_gem5::TraceFile
 TraceFile (const std::string &name)
 
std::ostream & stream ()
 
- Protected Member Functions inherited from sc_core::sc_trace_file
 sc_trace_file ()
 
- Protected Attributes inherited from sc_gem5::TraceFile
gem5::OutputStream_os
 
uint64_t timeUnitTicks
 
double timeUnitValue
 
::sc_core::sc_time_unit timeUnitUnit
 
bool _traceDeltas
 

Detailed Description

Definition at line 52 of file vcd.hh.

Constructor & Destructor Documentation

◆ VcdTraceFile()

sc_gem5::VcdTraceFile::VcdTraceFile ( const std::string & name)
inline

Definition at line 69 of file vcd.hh.

References _nextName, and NextNameChars.

◆ ~VcdTraceFile()

sc_gem5::VcdTraceFile::~VcdTraceFile ( )

Member Function Documentation

◆ addNewTraceVal()

◆ addTraceVal() [1/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const bool * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 339 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [2/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const char * v,
const std::string & name,
int width )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 629 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [3/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const double * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 365 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [4/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const float * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 360 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [5/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const int * v,
const std::string & name,
int width )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 651 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [6/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const long * v,
const std::string & name,
int width )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 662 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [7/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_core::sc_event * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 553 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [8/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_core::sc_time * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 589 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [9/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_dt::int64 * v,
const std::string & name,
int width )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 668 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [10/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_dt::sc_bv_base * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 465 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [11/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_dt::sc_fxnum * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 524 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [12/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_dt::sc_fxnum_fast * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 529 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [13/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_dt::sc_fxval * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 492 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [14/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_dt::sc_fxval_fast * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 497 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [15/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_dt::sc_int_base * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 420 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [16/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_dt::sc_logic * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 387 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [17/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_dt::sc_lv_base * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 470 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [18/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_dt::sc_signed * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 433 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [19/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_dt::sc_uint_base * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 426 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [20/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_dt::sc_unsigned * v,
const std::string & name )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 438 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [21/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const sc_dt::uint64 * v,
const std::string & name,
int width )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 674 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [22/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const short * v,
const std::string & name,
int width )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 640 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [23/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const unsigned char * v,
const std::string & name,
int width )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 623 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [24/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const unsigned int * v,
const std::string & name,
const char ** literals )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 681 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [25/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const unsigned int * v,
const std::string & name,
int width )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 645 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [26/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const unsigned long * v,
const std::string & name,
int width )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 656 of file vcd.cc.

References addNewTraceVal(), and name().

◆ addTraceVal() [27/27]

void sc_gem5::VcdTraceFile::addTraceVal ( const unsigned short * v,
const std::string & name,
int width )
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 634 of file vcd.cc.

References addNewTraceVal(), and name().

◆ initialize()

◆ nextSignalName()

std::string sc_gem5::VcdTraceFile::nextSignalName ( )
private

Definition at line 205 of file vcd.cc.

References _nextName, name(), and NextNameChars.

Referenced by addNewTraceVal().

◆ trace()

◆ writeComment()

void sc_gem5::VcdTraceFile::writeComment ( const std::string & comment)
overridevirtual

Implements sc_gem5::TraceFile.

Definition at line 696 of file vcd.cc.

References sc_gem5::TraceFile::stream().

Referenced by initialize().

Member Data Documentation

◆ _nextName

char sc_gem5::VcdTraceFile::_nextName[NextNameChars+1]
private

Definition at line 59 of file vcd.hh.

Referenced by nextSignalName(), and VcdTraceFile().

◆ deltasAtNow

uint64_t sc_gem5::VcdTraceFile::deltasAtNow
private

Definition at line 56 of file vcd.hh.

Referenced by trace().

◆ initialized

bool sc_gem5::VcdTraceFile::initialized
private

Definition at line 62 of file vcd.hh.

Referenced by initialize(), and trace().

◆ lastPrintedTime

gem5::Tick sc_gem5::VcdTraceFile::lastPrintedTime
private

Definition at line 55 of file vcd.hh.

Referenced by initialize(), and trace().

◆ NextNameChars

const int sc_gem5::VcdTraceFile::NextNameChars = 5
staticprivate

Definition at line 58 of file vcd.hh.

Referenced by nextSignalName(), and VcdTraceFile().

◆ topScope

VcdTraceScope sc_gem5::VcdTraceFile::topScope
private

Definition at line 66 of file vcd.hh.

Referenced by addNewTraceVal(), and initialize().

◆ traceVals

std::vector<VcdTraceValBase *> sc_gem5::VcdTraceFile::traceVals
private

Definition at line 65 of file vcd.hh.

Referenced by addNewTraceVal(), initialize(), trace(), and ~VcdTraceFile().


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

Generated on Tue Jun 18 2024 16:24:56 for gem5 by doxygen 1.11.0