Entries alias
This commit is contained in:
parent
9f42078ada
commit
ec8cf87d76
|
|
@ -2932,7 +2932,7 @@ void VerilatedContext::dumpvarsAdd(int level,
|
|||
if (level == 0 && hier.empty()) m_dumpvars.clear();
|
||||
m_dumpvars.emplace_back(level, hier);
|
||||
}
|
||||
std::vector<VerilatedTraceDumpvarsEntry>
|
||||
VerilatedTraceDumpVarsEntries
|
||||
VerilatedContext::dumpvars() const VL_MT_SAFE_EXCLUDES(m_timeDumpMutex) {
|
||||
const VerilatedLockGuard lock{m_timeDumpMutex};
|
||||
return m_dumpvars;
|
||||
|
|
|
|||
|
|
@ -111,16 +111,17 @@ class VerilatedVcdC;
|
|||
class VerilatedVcdSc;
|
||||
|
||||
// Internal: One $dumpvars call.
|
||||
struct VerilatedTraceDumpvarsEntry final {
|
||||
struct VerilatedTraceDumpVarsEntry final {
|
||||
/// Maximum hierarchy depth to dump modules.
|
||||
int m_level;
|
||||
const int m_level;
|
||||
/// Hierarchy root to dump.
|
||||
std::string m_hier;
|
||||
const std::string m_hier;
|
||||
|
||||
VerilatedTraceDumpvarsEntry(int level, const std::string& hier)
|
||||
VerilatedTraceDumpVarsEntry(int level, const std::string& hier)
|
||||
: m_level{level}
|
||||
, m_hier{hier} {}
|
||||
};
|
||||
using VerilatedTraceDumpVarsEntries = std::vector<VerilatedTraceDumpVarsEntry>;
|
||||
|
||||
//=========================================================================
|
||||
// Basic types
|
||||
|
|
@ -416,7 +417,7 @@ protected:
|
|||
mutable VerilatedMutex m_timeDumpMutex; // Protect misc slow strings
|
||||
std::string m_timeFormatSuffix VL_GUARDED_BY(m_timeDumpMutex); // $timeformat printf format
|
||||
std::string m_dumpfile VL_GUARDED_BY(m_timeDumpMutex); // $dumpfile setting
|
||||
std::vector<VerilatedTraceDumpvarsEntry>
|
||||
VerilatedTraceDumpVarsEntries
|
||||
m_dumpvars VL_GUARDED_BY(m_timeDumpMutex); // $dumpvars settings
|
||||
|
||||
struct NonSerialized final { // Non-serialized information
|
||||
|
|
@ -672,7 +673,7 @@ public:
|
|||
|
||||
// Internal: $dumpvars
|
||||
void dumpvarsAdd(int level, const std::string& hier) VL_MT_SAFE_EXCLUDES(m_timeDumpMutex);
|
||||
std::vector<VerilatedTraceDumpvarsEntry> dumpvars() const
|
||||
VerilatedTraceDumpVarsEntries dumpvars() const
|
||||
VL_MT_SAFE_EXCLUDES(m_timeDumpMutex);
|
||||
|
||||
// Internal: --prof-exec related settings
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ public:
|
|||
void dumpvars(int level, const std::string& hier) VL_MT_SAFE {
|
||||
m_sptrace.dumpvars(level, hier);
|
||||
}
|
||||
void dumpvars(const std::vector<VerilatedTraceDumpvarsEntry>& entries) VL_MT_SAFE {
|
||||
void dumpvars(const VerilatedTraceDumpVarsEntries& entries) VL_MT_SAFE {
|
||||
m_sptrace.dumpvars(entries);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -318,7 +318,7 @@ public:
|
|||
void dumpvars(int level, const std::string& hier) VL_MT_SAFE {
|
||||
m_sptrace.dumpvars(level, hier);
|
||||
}
|
||||
void dumpvars(const std::vector<VerilatedTraceDumpvarsEntry>& entries) VL_MT_SAFE {
|
||||
void dumpvars(const VerilatedTraceDumpVarsEntries& entries) VL_MT_SAFE {
|
||||
m_sptrace.dumpvars(entries);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -313,7 +313,7 @@ private:
|
|||
uint32_t m_maxBits = 0; // Number of bits in the widest signal
|
||||
void* m_initUserp = nullptr; // The callback userp of the instance currently being initialized
|
||||
// TODO: Should keep this as a Trie, that is how it's accessed all the time.
|
||||
std::vector<VerilatedTraceDumpvarsEntry> m_dumpvars; // dumpvar() entries
|
||||
VerilatedTraceDumpVarsEntries m_dumpvars; // dumpvar() entries
|
||||
double m_timeRes = 1e-9; // Time resolution (ns/ms etc)
|
||||
double m_timeUnit = 1e-0; // Time units (ns/ms etc)
|
||||
uint64_t m_timeLastDump = 0; // Last time we did a dump
|
||||
|
|
@ -417,7 +417,7 @@ protected:
|
|||
return levels;
|
||||
}
|
||||
|
||||
bool matches(const VerilatedTraceDumpvarsEntry& entry) const {
|
||||
bool matches(const VerilatedTraceDumpVarsEntry& entry) const {
|
||||
if (!matchesPrefix(entry.m_hier)) return false;
|
||||
return entry.m_level <= 0 || scopeLevelsBelow(entry.m_hier.size()) < entry.m_level;
|
||||
}
|
||||
|
|
@ -508,8 +508,8 @@ public:
|
|||
// Set variables to dump, using $dumpvars format
|
||||
// If level = 0, dump everything and hier is then ignored
|
||||
void dumpvars(int level, const std::string& hier) VL_MT_SAFE;
|
||||
void dumpvars(const std::vector<VerilatedTraceDumpvarsEntry>& entries) VL_MT_SAFE {
|
||||
for (const VerilatedTraceDumpvarsEntry& entry : entries) {
|
||||
void dumpvars(const VerilatedTraceDumpVarsEntries& entries) VL_MT_SAFE {
|
||||
for (const VerilatedTraceDumpVarsEntry& entry : entries) {
|
||||
dumpvars(entry.m_level, entry.m_hier);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -351,7 +351,7 @@ public:
|
|||
void dumpvars(int level, const std::string& hier) VL_MT_SAFE {
|
||||
m_sptrace.dumpvars(level, hier);
|
||||
}
|
||||
void dumpvars(const std::vector<VerilatedTraceDumpvarsEntry>& entries) VL_MT_SAFE {
|
||||
void dumpvars(const VerilatedTraceDumpVarsEntries& entries) VL_MT_SAFE {
|
||||
m_sptrace.dumpvars(entries);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue