Initialize VerilatedTrace members in class
This commit is contained in:
parent
a48c779367
commit
a7cd7a1ed9
|
|
@ -146,23 +146,23 @@ private:
|
||||||
, m_userp{userp} {}
|
, m_userp{userp} {}
|
||||||
};
|
};
|
||||||
|
|
||||||
uint32_t* m_sigs_oldvalp; // Old value store
|
uint32_t* m_sigs_oldvalp = nullptr; // Old value store
|
||||||
EData* m_sigs_enabledp; // Bit vector of enabled codes (nullptr = all on)
|
EData* m_sigs_enabledp = nullptr; // Bit vector of enabled codes (nullptr = all on)
|
||||||
uint64_t m_timeLastDump; // Last time we did a dump
|
uint64_t m_timeLastDump = 0; // Last time we did a dump
|
||||||
std::vector<bool> m_sigs_enabledVec; // Staging for m_sigs_enabledp
|
std::vector<bool> m_sigs_enabledVec; // Staging for m_sigs_enabledp
|
||||||
std::vector<CallbackRecord> m_initCbs; // Routines to initialize traciong
|
std::vector<CallbackRecord> m_initCbs; // Routines to initialize traciong
|
||||||
std::vector<CallbackRecord> m_fullCbs; // Routines to perform full dump
|
std::vector<CallbackRecord> m_fullCbs; // Routines to perform full dump
|
||||||
std::vector<CallbackRecord> m_chgCbs; // Routines to perform incremental dump
|
std::vector<CallbackRecord> m_chgCbs; // Routines to perform incremental dump
|
||||||
std::vector<CallbackRecord> m_cleanupCbs; // Routines to call at the end of dump
|
std::vector<CallbackRecord> m_cleanupCbs; // Routines to call at the end of dump
|
||||||
bool m_fullDump; // Whether a full dump is required on the next call to 'dump'
|
bool m_fullDump = true; // Whether a full dump is required on the next call to 'dump'
|
||||||
uint32_t m_nextCode; // Next code number to assign
|
uint32_t m_nextCode = 0; // Next code number to assign
|
||||||
uint32_t m_numSignals; // Number of distinct signals
|
uint32_t m_numSignals = 0; // Number of distinct signals
|
||||||
uint32_t m_maxBits; // Number of bits in the widest signal
|
uint32_t m_maxBits = 0; // Number of bits in the widest signal
|
||||||
std::vector<std::string> m_namePrefixStack{""}; // Path prefixes to add to signal names
|
std::vector<std::string> m_namePrefixStack{""}; // Path prefixes to add to signal names
|
||||||
std::vector<std::pair<int, std::string>> m_dumpvars; // dumpvar() entries
|
std::vector<std::pair<int, std::string>> m_dumpvars; // dumpvar() entries
|
||||||
char m_scopeEscape;
|
char m_scopeEscape = '.';
|
||||||
double m_timeRes; // Time resolution (ns/ms etc)
|
double m_timeRes = 1e-9; // Time resolution (ns/ms etc)
|
||||||
double m_timeUnit; // Time units (ns/ms etc)
|
double m_timeUnit = 1e-0; // Time units (ns/ms etc)
|
||||||
|
|
||||||
void addCallbackRecord(std::vector<CallbackRecord>& cbVec, CallbackRecord& cbRec)
|
void addCallbackRecord(std::vector<CallbackRecord>& cbVec, CallbackRecord& cbRec)
|
||||||
VL_MT_SAFE_EXCLUDES(m_mutex);
|
VL_MT_SAFE_EXCLUDES(m_mutex);
|
||||||
|
|
@ -178,17 +178,17 @@ private:
|
||||||
|
|
||||||
#ifdef VL_TRACE_OFFLOAD
|
#ifdef VL_TRACE_OFFLOAD
|
||||||
// Number of total offload buffers that have been allocated
|
// Number of total offload buffers that have been allocated
|
||||||
uint32_t m_numOffloadBuffers;
|
uint32_t m_numOffloadBuffers = 0;
|
||||||
// Size of offload buffers
|
// Size of offload buffers
|
||||||
size_t m_offloadBufferSize;
|
size_t m_offloadBufferSize = 0;
|
||||||
// Buffers handed to worker for processing
|
// Buffers handed to worker for processing
|
||||||
VerilatedThreadQueue<uint32_t*> m_offloadBuffersToWorker;
|
VerilatedThreadQueue<uint32_t*> m_offloadBuffersToWorker;
|
||||||
// Buffers returned from worker after processing
|
// Buffers returned from worker after processing
|
||||||
VerilatedThreadQueue<uint32_t*> m_offloadBuffersFromWorker;
|
VerilatedThreadQueue<uint32_t*> m_offloadBuffersFromWorker;
|
||||||
// Write pointer into current buffer
|
// Write pointer into current buffer
|
||||||
uint32_t* m_offloadBufferWritep;
|
uint32_t* m_offloadBufferWritep = nullptr;
|
||||||
// End of offload buffer
|
// End of offload buffer
|
||||||
uint32_t* m_offloadBufferEndp;
|
uint32_t* m_offloadBufferEndp = nullptr;
|
||||||
// The offload worker thread itself
|
// The offload worker thread itself
|
||||||
std::unique_ptr<std::thread> m_workerThread;
|
std::unique_ptr<std::thread> m_workerThread;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -275,24 +275,7 @@ template <> void VerilatedTrace<VL_DERIVED_T>::onExit(void* selfp) {
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
// VerilatedTrace
|
// VerilatedTrace
|
||||||
|
|
||||||
template <>
|
template <> VerilatedTrace<VL_DERIVED_T>::VerilatedTrace() {
|
||||||
VerilatedTrace<VL_DERIVED_T>::VerilatedTrace()
|
|
||||||
: m_sigs_oldvalp{nullptr}
|
|
||||||
, m_sigs_enabledp{nullptr}
|
|
||||||
, m_timeLastDump{0}
|
|
||||||
, m_fullDump{true}
|
|
||||||
, m_nextCode{0}
|
|
||||||
, m_numSignals{0}
|
|
||||||
, m_maxBits{0}
|
|
||||||
, m_scopeEscape{'.'}
|
|
||||||
, m_timeRes{1e-9}
|
|
||||||
, m_timeUnit {
|
|
||||||
1e-9
|
|
||||||
}
|
|
||||||
#ifdef VL_TRACE_OFFLOAD
|
|
||||||
, m_numOffloadBuffers { 0 }
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
set_time_unit(Verilated::threadContextp()->timeunitString());
|
set_time_unit(Verilated::threadContextp()->timeunitString());
|
||||||
set_time_resolution(Verilated::threadContextp()->timeprecisionString());
|
set_time_resolution(Verilated::threadContextp()->timeprecisionString());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue