Apply 'make format'
This commit is contained in:
parent
c71f5b42e3
commit
e296d90328
|
|
@ -94,9 +94,7 @@ VerilatedSaifActivityBit& VerilatedSaifActivityVar::bit(const std::size_t index)
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
// Opening/Closing
|
// Opening/Closing
|
||||||
|
|
||||||
VerilatedSaif::VerilatedSaif(void* filep) {
|
VerilatedSaif::VerilatedSaif(void* filep) { m_activityAccumulators.emplace_back(); }
|
||||||
m_activityAccumulators.emplace_back();
|
|
||||||
}
|
|
||||||
|
|
||||||
void VerilatedSaif::open(const char* filename) VL_MT_SAFE_EXCLUDES(m_mutex) {
|
void VerilatedSaif::open(const char* filename) VL_MT_SAFE_EXCLUDES(m_mutex) {
|
||||||
const VerilatedLockGuard lock{m_mutex};
|
const VerilatedLockGuard lock{m_mutex};
|
||||||
|
|
@ -183,20 +181,22 @@ void VerilatedSaif::printScopeActivities(const VerilatedSaifActivityScope& scope
|
||||||
bool anyNetWritten{false};
|
bool anyNetWritten{false};
|
||||||
|
|
||||||
for (auto& accumulator : m_activityAccumulators) {
|
for (auto& accumulator : m_activityAccumulators) {
|
||||||
anyNetWritten |= printScopeActivitiesFromAccumulatorIfPresent(scope.path(), accumulator, anyNetWritten);
|
anyNetWritten |= printScopeActivitiesFromAccumulatorIfPresent(scope.path(), accumulator,
|
||||||
|
anyNetWritten);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (anyNetWritten) closeNetScope();
|
if (anyNetWritten) closeNetScope();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool VerilatedSaif::printScopeActivitiesFromAccumulatorIfPresent(const std::string& absoluteScopePath, VerilatedSaifActivityAccumulator& accumulator, bool anyNetWritten) {
|
bool VerilatedSaif::printScopeActivitiesFromAccumulatorIfPresent(
|
||||||
if (accumulator.m_scopeToActivities.count(absoluteScopePath) == 0) {
|
const std::string& absoluteScopePath, VerilatedSaifActivityAccumulator& accumulator,
|
||||||
return false;
|
bool anyNetWritten) {
|
||||||
}
|
if (accumulator.m_scopeToActivities.count(absoluteScopePath) == 0) { return false; }
|
||||||
|
|
||||||
for (const auto& childSignal : accumulator.m_scopeToActivities.at(absoluteScopePath)) {
|
for (const auto& childSignal : accumulator.m_scopeToActivities.at(absoluteScopePath)) {
|
||||||
VerilatedSaifActivityVar& activityVariable = accumulator.m_activity.at(childSignal.first);
|
VerilatedSaifActivityVar& activityVariable = accumulator.m_activity.at(childSignal.first);
|
||||||
anyNetWritten = printActivityStats(activityVariable, childSignal.second.c_str(), anyNetWritten);
|
anyNetWritten
|
||||||
|
= printActivityStats(activityVariable, childSignal.second.c_str(), anyNetWritten);
|
||||||
}
|
}
|
||||||
|
|
||||||
return anyNetWritten;
|
return anyNetWritten;
|
||||||
|
|
@ -214,8 +214,8 @@ void VerilatedSaif::closeNetScope() {
|
||||||
printStr(")\n");
|
printStr(")\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool VerilatedSaif::printActivityStats(VerilatedSaifActivityVar& activity, const char* activityName,
|
bool VerilatedSaif::printActivityStats(VerilatedSaifActivityVar& activity,
|
||||||
bool anyNetWritten) {
|
const char* activityName, bool anyNetWritten) {
|
||||||
for (size_t i = 0; i < activity.width(); ++i) {
|
for (size_t i = 0; i < activity.width(); ++i) {
|
||||||
VerilatedSaifActivityBit& bit = activity.bit(i);
|
VerilatedSaifActivityBit& bit = activity.bit(i);
|
||||||
|
|
||||||
|
|
@ -326,7 +326,9 @@ void VerilatedSaif::popPrefix() {
|
||||||
m_prefixStack.pop_back();
|
m_prefixStack.pop_back();
|
||||||
}
|
}
|
||||||
|
|
||||||
void VerilatedSaifActivityAccumulator::declare(uint32_t code, const std::string& absoluteScopePath, std::string variableName, int bits, bool array, int arraynum) {
|
void VerilatedSaifActivityAccumulator::declare(uint32_t code, const std::string& absoluteScopePath,
|
||||||
|
std::string variableName, int bits, bool array,
|
||||||
|
int arraynum) {
|
||||||
const size_t block_size = 1024;
|
const size_t block_size = 1024;
|
||||||
if (m_activityArena.empty()
|
if (m_activityArena.empty()
|
||||||
|| m_activityArena.back().size() + bits > m_activityArena.back().capacity()) {
|
|| m_activityArena.back().size() + bits > m_activityArena.back().capacity()) {
|
||||||
|
|
@ -343,13 +345,13 @@ void VerilatedSaifActivityAccumulator::declare(uint32_t code, const std::string&
|
||||||
}
|
}
|
||||||
|
|
||||||
m_scopeToActivities[absoluteScopePath].emplace_back(code, variableName);
|
m_scopeToActivities[absoluteScopePath].emplace_back(code, variableName);
|
||||||
m_activity.emplace(code, VerilatedSaifActivityVar{
|
m_activity.emplace(code, VerilatedSaifActivityVar{static_cast<uint32_t>(bits),
|
||||||
static_cast<uint32_t>(bits), m_activityArena.back().data() + bitsIdx});
|
m_activityArena.back().data() + bitsIdx});
|
||||||
}
|
}
|
||||||
|
|
||||||
void VerilatedSaif::declare(const uint32_t code, uint32_t fidx, const char* name, const char* wirep,
|
void VerilatedSaif::declare(const uint32_t code, uint32_t fidx, const char* name,
|
||||||
const bool array, const int arraynum, const bool bussed, const int msb,
|
const char* wirep, const bool array, const int arraynum,
|
||||||
const int lsb) {
|
const bool bussed, const int msb, const int lsb) {
|
||||||
VerilatedSaifActivityAccumulator& accumulator = m_activityAccumulators.at(fidx);
|
VerilatedSaifActivityAccumulator& accumulator = m_activityAccumulators.at(fidx);
|
||||||
|
|
||||||
const int bits = ((msb > lsb) ? (msb - lsb) : (lsb - msb)) + 1;
|
const int bits = ((msb > lsb) ? (msb - lsb) : (lsb - msb)) + 1;
|
||||||
|
|
@ -361,7 +363,8 @@ void VerilatedSaif::declare(const uint32_t code, uint32_t fidx, const char* name
|
||||||
std::string variableName = lastWord(hierarchicalName);
|
std::string variableName = lastWord(hierarchicalName);
|
||||||
m_scopes.at(m_currentScope).addActivityVar(code, variableName);
|
m_scopes.at(m_currentScope).addActivityVar(code, variableName);
|
||||||
|
|
||||||
accumulator.declare(code, m_scopes.at(m_currentScope).path(), std::move(variableName), bits, array, arraynum);
|
accumulator.declare(code, m_scopes.at(m_currentScope).path(), std::move(variableName), bits,
|
||||||
|
array, arraynum);
|
||||||
}
|
}
|
||||||
|
|
||||||
void VerilatedSaif::declEvent(const uint32_t code, const uint32_t fidx, const char* name,
|
void VerilatedSaif::declEvent(const uint32_t code, const uint32_t fidx, const char* name,
|
||||||
|
|
@ -426,43 +429,55 @@ void VerilatedSaifBuffer::emitEvent(const uint32_t code) {
|
||||||
|
|
||||||
VL_ATTR_ALWINLINE
|
VL_ATTR_ALWINLINE
|
||||||
void VerilatedSaifBuffer::emitBit(const uint32_t code, const CData newval) {
|
void VerilatedSaifBuffer::emitBit(const uint32_t code, const CData newval) {
|
||||||
assert(m_owner.m_activityAccumulators.at(m_fidx).m_activity.count(code) && "Activity must be declared earlier");
|
assert(m_owner.m_activityAccumulators.at(m_fidx).m_activity.count(code)
|
||||||
VerilatedSaifActivityVar& activity = m_owner.m_activityAccumulators.at(m_fidx).m_activity.at(code);
|
&& "Activity must be declared earlier");
|
||||||
|
VerilatedSaifActivityVar& activity
|
||||||
|
= m_owner.m_activityAccumulators.at(m_fidx).m_activity.at(code);
|
||||||
activity.emitBit(m_owner.currentTime(), newval);
|
activity.emitBit(m_owner.currentTime(), newval);
|
||||||
}
|
}
|
||||||
|
|
||||||
VL_ATTR_ALWINLINE
|
VL_ATTR_ALWINLINE
|
||||||
void VerilatedSaifBuffer::emitCData(const uint32_t code, const CData newval, const int bits) {
|
void VerilatedSaifBuffer::emitCData(const uint32_t code, const CData newval, const int bits) {
|
||||||
assert(m_owner.m_activityAccumulators.at(m_fidx).m_activity.count(code) && "Activity must be declared earlier");
|
assert(m_owner.m_activityAccumulators.at(m_fidx).m_activity.count(code)
|
||||||
VerilatedSaifActivityVar& activity = m_owner.m_activityAccumulators.at(m_fidx).m_activity.at(code);
|
&& "Activity must be declared earlier");
|
||||||
|
VerilatedSaifActivityVar& activity
|
||||||
|
= m_owner.m_activityAccumulators.at(m_fidx).m_activity.at(code);
|
||||||
activity.emitData<CData>(m_owner.currentTime(), newval, bits);
|
activity.emitData<CData>(m_owner.currentTime(), newval, bits);
|
||||||
}
|
}
|
||||||
|
|
||||||
VL_ATTR_ALWINLINE
|
VL_ATTR_ALWINLINE
|
||||||
void VerilatedSaifBuffer::emitSData(const uint32_t code, const SData newval, const int bits) {
|
void VerilatedSaifBuffer::emitSData(const uint32_t code, const SData newval, const int bits) {
|
||||||
assert(m_owner.m_activityAccumulators.at(m_fidx).m_activity.count(code) && "Activity must be declared earlier");
|
assert(m_owner.m_activityAccumulators.at(m_fidx).m_activity.count(code)
|
||||||
VerilatedSaifActivityVar& activity = m_owner.m_activityAccumulators.at(m_fidx).m_activity.at(code);
|
&& "Activity must be declared earlier");
|
||||||
|
VerilatedSaifActivityVar& activity
|
||||||
|
= m_owner.m_activityAccumulators.at(m_fidx).m_activity.at(code);
|
||||||
activity.emitData<SData>(m_owner.currentTime(), newval, bits);
|
activity.emitData<SData>(m_owner.currentTime(), newval, bits);
|
||||||
}
|
}
|
||||||
|
|
||||||
VL_ATTR_ALWINLINE
|
VL_ATTR_ALWINLINE
|
||||||
void VerilatedSaifBuffer::emitIData(const uint32_t code, const IData newval, const int bits) {
|
void VerilatedSaifBuffer::emitIData(const uint32_t code, const IData newval, const int bits) {
|
||||||
assert(m_owner.m_activityAccumulators.at(m_fidx).m_activity.count(code) && "Activity must be declared earlier");
|
assert(m_owner.m_activityAccumulators.at(m_fidx).m_activity.count(code)
|
||||||
VerilatedSaifActivityVar& activity = m_owner.m_activityAccumulators.at(m_fidx).m_activity.at(code);
|
&& "Activity must be declared earlier");
|
||||||
|
VerilatedSaifActivityVar& activity
|
||||||
|
= m_owner.m_activityAccumulators.at(m_fidx).m_activity.at(code);
|
||||||
activity.emitData<IData>(m_owner.currentTime(), newval, bits);
|
activity.emitData<IData>(m_owner.currentTime(), newval, bits);
|
||||||
}
|
}
|
||||||
|
|
||||||
VL_ATTR_ALWINLINE
|
VL_ATTR_ALWINLINE
|
||||||
void VerilatedSaifBuffer::emitQData(const uint32_t code, const QData newval, const int bits) {
|
void VerilatedSaifBuffer::emitQData(const uint32_t code, const QData newval, const int bits) {
|
||||||
assert(m_owner.m_activityAccumulators.at(m_fidx).m_activity.count(code) && "Activity must be declared earlier");
|
assert(m_owner.m_activityAccumulators.at(m_fidx).m_activity.count(code)
|
||||||
VerilatedSaifActivityVar& activity = m_owner.m_activityAccumulators.at(m_fidx).m_activity.at(code);
|
&& "Activity must be declared earlier");
|
||||||
|
VerilatedSaifActivityVar& activity
|
||||||
|
= m_owner.m_activityAccumulators.at(m_fidx).m_activity.at(code);
|
||||||
activity.emitData<QData>(m_owner.currentTime(), newval, bits);
|
activity.emitData<QData>(m_owner.currentTime(), newval, bits);
|
||||||
}
|
}
|
||||||
|
|
||||||
VL_ATTR_ALWINLINE
|
VL_ATTR_ALWINLINE
|
||||||
void VerilatedSaifBuffer::emitWData(const uint32_t code, const WData* newvalp, const int bits) {
|
void VerilatedSaifBuffer::emitWData(const uint32_t code, const WData* newvalp, const int bits) {
|
||||||
assert(m_owner.m_activityAccumulators.at(m_fidx).m_activity.count(code) && "Activity must be declared earlier");
|
assert(m_owner.m_activityAccumulators.at(m_fidx).m_activity.count(code)
|
||||||
VerilatedSaifActivityVar& activity = m_owner.m_activityAccumulators.at(m_fidx).m_activity.at(code);
|
&& "Activity must be declared earlier");
|
||||||
|
VerilatedSaifActivityVar& activity
|
||||||
|
= m_owner.m_activityAccumulators.at(m_fidx).m_activity.at(code);
|
||||||
activity.emitWData(m_owner.currentTime(), newvalp, bits);
|
activity.emitWData(m_owner.currentTime(), newvalp, bits);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,8 @@ class VerilatedSaifActivityScope final {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// CONSTRUCTORS
|
// CONSTRUCTORS
|
||||||
VerilatedSaifActivityScope(std::string scopePath, std::string name, int32_t parentScopeIndex = -1)
|
VerilatedSaifActivityScope(std::string scopePath, std::string name,
|
||||||
|
int32_t parentScopeIndex = -1)
|
||||||
: m_scopePath{std::move(scopePath)}
|
: m_scopePath{std::move(scopePath)}
|
||||||
, m_scopeName{std::move(name)}
|
, m_scopeName{std::move(name)}
|
||||||
, m_parentScopeIndex{parentScopeIndex} {}
|
, m_parentScopeIndex{parentScopeIndex} {}
|
||||||
|
|
@ -160,7 +161,8 @@ class VerilatedSaifActivityAccumulator {
|
||||||
|
|
||||||
// MEMBERS
|
// MEMBERS
|
||||||
// map of scopes paths to codes of activities inside
|
// map of scopes paths to codes of activities inside
|
||||||
std::unordered_map<std::string, std::vector<std::pair<uint32_t, std::string>>> m_scopeToActivities;
|
std::unordered_map<std::string, std::vector<std::pair<uint32_t, std::string>>>
|
||||||
|
m_scopeToActivities;
|
||||||
// map of variables codes mapped to their activity objects
|
// map of variables codes mapped to their activity objects
|
||||||
std::unordered_map<uint32_t, VerilatedSaifActivityVar> m_activity;
|
std::unordered_map<uint32_t, VerilatedSaifActivityVar> m_activity;
|
||||||
// memory pool for signals bits objects
|
// memory pool for signals bits objects
|
||||||
|
|
@ -168,7 +170,8 @@ class VerilatedSaifActivityAccumulator {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// METHODS
|
// METHODS
|
||||||
void declare(uint32_t code, const std::string& absoluteScopePath, std::string variableName, int bits, bool array, int arraynum);
|
void declare(uint32_t code, const std::string& absoluteScopePath, std::string variableName,
|
||||||
|
int bits, bool array, int arraynum);
|
||||||
|
|
||||||
// CONSTRUCTORS
|
// CONSTRUCTORS
|
||||||
VerilatedSaifActivityAccumulator() = default;
|
VerilatedSaifActivityAccumulator() = default;
|
||||||
|
|
@ -225,10 +228,14 @@ private:
|
||||||
void openInstanceScope(const std::string& instanceName);
|
void openInstanceScope(const std::string& instanceName);
|
||||||
void closeInstanceScope();
|
void closeInstanceScope();
|
||||||
void printScopeActivities(const VerilatedSaifActivityScope& scope);
|
void printScopeActivities(const VerilatedSaifActivityScope& scope);
|
||||||
bool printScopeActivitiesFromAccumulatorIfPresent(const std::string& absoluteScopePath, VerilatedSaifActivityAccumulator& accumulator, bool anyNetWritten);
|
bool
|
||||||
|
printScopeActivitiesFromAccumulatorIfPresent(const std::string& absoluteScopePath,
|
||||||
|
VerilatedSaifActivityAccumulator& accumulator,
|
||||||
|
bool anyNetWritten);
|
||||||
void openNetScope();
|
void openNetScope();
|
||||||
void closeNetScope();
|
void closeNetScope();
|
||||||
bool printActivityStats(VerilatedSaifActivityVar& activity, const char* activityName, bool anyNetWritten);
|
bool printActivityStats(VerilatedSaifActivityVar& activity, const char* activityName,
|
||||||
|
bool anyNetWritten);
|
||||||
|
|
||||||
void incrementIndent();
|
void incrementIndent();
|
||||||
void decrementIndent();
|
void decrementIndent();
|
||||||
|
|
@ -239,8 +246,8 @@ private:
|
||||||
|
|
||||||
void clearCurrentlyCollectedData();
|
void clearCurrentlyCollectedData();
|
||||||
|
|
||||||
void declare(uint32_t code, uint32_t fidx, const char* name, const char* wirep, bool array, int arraynum,
|
void declare(uint32_t code, uint32_t fidx, const char* name, const char* wirep, bool array,
|
||||||
bool bussed, int msb, int lsb);
|
int arraynum, bool bussed, int msb, int lsb);
|
||||||
|
|
||||||
// CONSTRUCTORS
|
// CONSTRUCTORS
|
||||||
VL_UNCOPYABLE(VerilatedSaif);
|
VL_UNCOPYABLE(VerilatedSaif);
|
||||||
|
|
@ -338,9 +345,11 @@ class VerilatedSaifBuffer VL_NOT_FINAL {
|
||||||
|
|
||||||
// CONSTRUCTOR
|
// CONSTRUCTOR
|
||||||
explicit VerilatedSaifBuffer(VerilatedSaif& owner)
|
explicit VerilatedSaifBuffer(VerilatedSaif& owner)
|
||||||
: m_owner{owner}, m_fidx{0} {}
|
: m_owner{owner}
|
||||||
|
, m_fidx{0} {}
|
||||||
explicit VerilatedSaifBuffer(VerilatedSaif& owner, uint32_t fidx)
|
explicit VerilatedSaifBuffer(VerilatedSaif& owner, uint32_t fidx)
|
||||||
: m_owner{owner}, m_fidx{fidx} {}
|
: m_owner{owner}
|
||||||
|
, m_fidx{fidx} {}
|
||||||
virtual ~VerilatedSaifBuffer() = default;
|
virtual ~VerilatedSaifBuffer() = default;
|
||||||
|
|
||||||
//=========================================================================
|
//=========================================================================
|
||||||
|
|
@ -384,7 +393,8 @@ public:
|
||||||
/// just as if this object was deleted and reconstructed.
|
/// just as if this object was deleted and reconstructed.
|
||||||
virtual void open(const char* filename) VL_MT_SAFE { m_sptrace.open(filename); }
|
virtual void open(const char* filename) VL_MT_SAFE { m_sptrace.open(filename); }
|
||||||
|
|
||||||
void rolloverSize(size_t size) VL_MT_SAFE {/* noop */}
|
void rolloverSize(size_t size) VL_MT_SAFE { /* noop */
|
||||||
|
}
|
||||||
|
|
||||||
/// Close dump
|
/// Close dump
|
||||||
void close() VL_MT_SAFE {
|
void close() VL_MT_SAFE {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue