gem5 v25.0.0.1
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

◆ ~VcdTraceFile()

sc_gem5::VcdTraceFile::~VcdTraceFile ( )

Member Function Documentation

◆ addNewTraceVal()

template<typename TV>
void sc_gem5::VcdTraceFile::addNewTraceVal ( const typename TV::TracedType * v,
const std::string & name,
int width = 1 )
inline

◆ 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()

void sc_gem5::VcdTraceFile::trace ( bool delta)
overridevirtual

◆ 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(), and VcdTraceFile().

◆ initialized

bool sc_gem5::VcdTraceFile::initialized
private

Definition at line 62 of file vcd.hh.

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

◆ lastPrintedTime

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

Definition at line 55 of file vcd.hh.

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

◆ 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 Sat Oct 18 2025 08:07:54 for gem5 by doxygen 1.14.0