ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
Classes | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
etiss::interfaces::VCD Class Reference

#include <VCD.h>

Inheritance diagram for etiss::interfaces::VCD:
Inheritance graph
[legend]
Collaboration diagram for etiss::interfaces::VCD:
Collaboration graph
[legend]

Classes

class  Signal
 

Public Member Functions

template<typename T >
bool declare (T &variable, const std::string &name, unsigned width, uint64_t initialvalue, uint64_t undefined=-1)
 
template<typename T >
void update (double time_s, const T &variable, uint64_t value, uint64_t undefined=0)
 
std::string toString () const
 
void close ()
 
- Public Member Functions inherited from etiss::ToString
 ToString ()
 
virtual ~ToString ()
 

Protected Member Functions

bool declare (void *variable, const std::string &name, unsigned width, uint64_t initialvalue, uint64_t undefined)
 
void update (uint64_t time_ps, void *variable, uint64_t value, uint64_t undefined)
 
void flush ()
 

Private Attributes

std::ofstream out_
 
bool valid_
 
bool dumpstarted_
 
std::vector< Signalsigs_
 
uint64_t lasttime_ps
 
std::map< void *, intptr2index_
 
std::string dumpvar
 TODO replace with better lookup. More...
 
std::string file
 

Detailed Description

Attention
this class streams the output to a file. the update() function may therfore only be called with equal or increasing time values

Definition at line 86 of file VCD.h.

Member Function Documentation

◆ close()

void etiss::interfaces::VCD::close ( )

Definition at line 124 of file VCD.cpp.

◆ declare() [1/2]

template<typename T >
bool etiss::interfaces::VCD::declare ( T &  variable,
const std::string &  name,
unsigned  width,
uint64_t  initialvalue,
uint64_t  undefined = -1 
)
inline

Definition at line 107 of file VCD.h.

◆ declare() [2/2]

bool etiss::interfaces::VCD::declare ( void *  variable,
const std::string &  name,
unsigned  width,
uint64_t  initialvalue,
uint64_t  undefined 
)
protected

◆ flush()

void etiss::interfaces::VCD::flush ( )
protected

Definition at line 223 of file VCD.cpp.

References s, and etiss::interfaces::val2str().

Here is the call graph for this function:

◆ toString()

std::string etiss::interfaces::VCD::toString ( ) const
inline

Definition at line 119 of file VCD.h.

References file.

◆ update() [1/2]

template<typename T >
void etiss::interfaces::VCD::update ( double  time_s,
const T &  variable,
uint64_t  value,
uint64_t  undefined = 0 
)
inline

Definition at line 114 of file VCD.h.

References uint64_t.

◆ update() [2/2]

void etiss::interfaces::VCD::update ( uint64_t  time_ps,
void *  variable,
uint64_t  value,
uint64_t  undefined 
)
protected

Member Data Documentation

◆ dumpstarted_

bool etiss::interfaces::VCD::dumpstarted_
private

Definition at line 131 of file VCD.h.

◆ dumpvar

std::string etiss::interfaces::VCD::dumpvar
private

TODO replace with better lookup.

Definition at line 135 of file VCD.h.

◆ file

std::string etiss::interfaces::VCD::file
private

Definition at line 136 of file VCD.h.

Referenced by toString().

◆ lasttime_ps

uint64_t etiss::interfaces::VCD::lasttime_ps
private

Definition at line 133 of file VCD.h.

◆ out_

std::ofstream etiss::interfaces::VCD::out_
private

Definition at line 129 of file VCD.h.

◆ ptr2index_

std::map<void *, int> etiss::interfaces::VCD::ptr2index_
private

Definition at line 134 of file VCD.h.

◆ sigs_

std::vector<Signal> etiss::interfaces::VCD::sigs_
private

Definition at line 132 of file VCD.h.

◆ valid_

bool etiss::interfaces::VCD::valid_
private

Definition at line 130 of file VCD.h.


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