VCDTypes.hpp File Reference

A file for common types and data structures used by the VCD parser. More...

#include <map>
#include <utility>
#include <string>
#include <vector>
#include <deque>
Include dependency graph for VCDTypes.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  VCDTimedValue
 A signal value tagged with times. More...
 
struct  VCDSignal
 Represents a single signal reference within a VCD file. More...
 
struct  vcdscope
 Represents a scope type, scope name pair and all of it's child signals. More...
 

Typedefs

typedef std::string VCDSignalReference
 Friendly name for a signal. More...
 
typedef std::string VCDScopeName
 Friendly name for a scope. More...
 
typedef std::string VCDSignalHash
 Compressed hash representation of a signal. More...
 
typedef double VCDTime
 Represents a single instant in time in a trace. More...
 
typedef unsigned VCDTimeRes
 Specifies the timing resoloution along with VCDTimeUnit. More...
 
typedef unsigned VCDSignalSize
 Width in bits of a signal. More...
 
typedef std::vector< VCDBitVCDBitVector
 A vector of VCDBit values. More...
 
typedef double VCDReal
 Typedef to identify a real number as stored in a VCD. More...
 
typedef std::deque< VCDTimedValue * > VCDSignalValues
 A vector of tagged time/value pairs, sorted by time values. More...
 
typedef struct vcdscope VCDScope
 

Enumerations

enum  VCDBit { VCD_0 = 0, VCD_1 = 1, VCD_X = 2, VCD_Z = 3 }
 Represents the four-state signal values of a VCD file. More...
 
enum  VCDValueType { VCD_SCALAR, VCD_VECTOR, VCD_REAL }
 Describes how a signal value is represented in the VCD trace. More...
 
enum  VCDVarType {
  VCD_VAR_EVENT, VCD_VAR_INTEGER, VCD_VAR_PARAMETER, VCD_VAR_REAL,
  VCD_VAR_REALTIME, VCD_VAR_REG, VCD_VAR_SUPPLY0, VCD_VAR_SUPPLY1,
  VCD_VAR_TIME, VCD_VAR_TRI, VCD_VAR_TRIAND, VCD_VAR_TRIOR,
  VCD_VAR_TRIREG, VCD_VAR_TRI0, VCD_VAR_TRI1, VCD_VAR_WAND,
  VCD_VAR_WIRE, VCD_VAR_WOR
}
 Variable types of a signal in a VCD file. More...
 
enum  VCDTimeUnit {
  TIME_S, TIME_MS, TIME_US, TIME_NS,
  TIME_PS
}
 Represents the possible time units a VCD file is specified in. More...
 
enum  VCDScopeType {
  VCD_SCOPE_BEGIN, VCD_SCOPE_FORK, VCD_SCOPE_FUNCTION, VCD_SCOPE_MODULE,
  VCD_SCOPE_TASK, VCD_SCOPE_ROOT
}
 Represents the type of SV construct who's scope we are in. More...
 

Detailed Description

A file for common types and data structures used by the VCD parser.

Definition in file VCDTypes.hpp.

Typedef Documentation

◆ VCDBitVector

typedef std::vector<VCDBit> VCDBitVector

A vector of VCDBit values.

Definition at line 44 of file VCDTypes.hpp.

◆ VCDReal

typedef double VCDReal

Typedef to identify a real number as stored in a VCD.

Definition at line 47 of file VCDTypes.hpp.

◆ VCDScope

typedef struct vcdscope VCDScope

Definition at line 118 of file VCDTypes.hpp.

◆ VCDScopeName

typedef std::string VCDScopeName

Friendly name for a scope.

Definition at line 20 of file VCDTypes.hpp.

◆ VCDSignalHash

typedef std::string VCDSignalHash

Compressed hash representation of a signal.

Definition at line 23 of file VCDTypes.hpp.

◆ VCDSignalReference

typedef std::string VCDSignalReference

Friendly name for a signal.

Definition at line 17 of file VCDTypes.hpp.

◆ VCDSignalSize

typedef unsigned VCDSignalSize

Width in bits of a signal.

Definition at line 32 of file VCDTypes.hpp.

◆ VCDSignalValues

typedef std::deque<VCDTimedValue*> VCDSignalValues

A vector of tagged time/value pairs, sorted by time values.

Definition at line 70 of file VCDTypes.hpp.

◆ VCDTime

typedef double VCDTime

Represents a single instant in time in a trace.

Definition at line 26 of file VCDTypes.hpp.

◆ VCDTimeRes

typedef unsigned VCDTimeRes

Specifies the timing resoloution along with VCDTimeUnit.

Definition at line 29 of file VCDTypes.hpp.

Enumeration Type Documentation

◆ VCDBit

enum VCDBit

Represents the four-state signal values of a VCD file.

Enumerator
VCD_0 

Logic zero.

VCD_1 

Logic one.

VCD_X 

Unknown / Undefined.

VCD_Z 

High Impedence.

Definition at line 35 of file VCDTypes.hpp.

◆ VCDScopeType

Represents the type of SV construct who's scope we are in.

Enumerator
VCD_SCOPE_BEGIN 
VCD_SCOPE_FORK 
VCD_SCOPE_FUNCTION 
VCD_SCOPE_MODULE 
VCD_SCOPE_TASK 
VCD_SCOPE_ROOT 

Definition at line 107 of file VCDTypes.hpp.

◆ VCDTimeUnit

Represents the possible time units a VCD file is specified in.

Enumerator
TIME_S 

Seconds.

TIME_MS 

Milliseconds.

TIME_US 

Microseconds.

TIME_NS 

Nanoseconds.

TIME_PS 

Picoseconds.

Definition at line 97 of file VCDTypes.hpp.

◆ VCDValueType

Describes how a signal value is represented in the VCD trace.

Enumerator
VCD_SCALAR 

Single VCDBit.

VCD_VECTOR 

Vector of VCDBit.

VCD_REAL 

IEEE Floating point (64bit).

Definition at line 51 of file VCDTypes.hpp.

◆ VCDVarType

enum VCDVarType

Variable types of a signal in a VCD file.

Enumerator
VCD_VAR_EVENT 
VCD_VAR_INTEGER 
VCD_VAR_PARAMETER 
VCD_VAR_REAL 
VCD_VAR_REALTIME 
VCD_VAR_REG 
VCD_VAR_SUPPLY0 
VCD_VAR_SUPPLY1 
VCD_VAR_TIME 
VCD_VAR_TRI 
VCD_VAR_TRIAND 
VCD_VAR_TRIOR 
VCD_VAR_TRIREG 
VCD_VAR_TRI0 
VCD_VAR_TRI1 
VCD_VAR_WAND 
VCD_VAR_WIRE 
VCD_VAR_WOR 

Definition at line 74 of file VCDTypes.hpp.