Unify code generation for trace declarations in both trace formats (#4612)
This patch adds some abstract enums to pass to the trace decl* APIs, so
the VCD/FST specific code can be kept in verilated_{vcd,fst}_*.cc, and
removed from V3Emit*. It also reworks the generation of the trace init
functions (those that call 'decl*' for the signals) such that the scope
hierarchy is traversed precisely once during initialization, which
simplifies the FST writer. This later change also has the side effect of
fixing tracing of nested interfaces when traced via an interface
reference - see the change in the expected t_interface_ref_trace - which
previously were missed.
This commit is contained in:
parent
84125d7c92
commit
95c4ade718
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
// clang-format off
|
||||
|
||||
#define __STDC_LIMIT_MACROS // UINT64_MAX
|
||||
#include "verilated.h"
|
||||
#include "verilated_fst_c.h"
|
||||
|
||||
|
|
@ -40,6 +39,7 @@
|
|||
#include <algorithm>
|
||||
#include <iterator>
|
||||
#include <sstream>
|
||||
#include <type_traits>
|
||||
|
||||
#if defined(_WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__)
|
||||
# include <io.h>
|
||||
|
|
@ -50,33 +50,10 @@
|
|||
// clang-format on
|
||||
|
||||
//=============================================================================
|
||||
// Check that vltscope_t matches fstScopeType
|
||||
// Check that forward declared types matches the FST API types
|
||||
|
||||
static_assert(static_cast<int>(FST_ST_VCD_MODULE) == static_cast<int>(VLT_TRACE_SCOPE_MODULE),
|
||||
"VLT_TRACE_SCOPE_MODULE mismatches");
|
||||
static_assert(static_cast<int>(FST_ST_VCD_TASK) == static_cast<int>(VLT_TRACE_SCOPE_TASK),
|
||||
"VLT_TRACE_SCOPE_TASK mismatches");
|
||||
static_assert(static_cast<int>(FST_ST_VCD_FUNCTION) == static_cast<int>(VLT_TRACE_SCOPE_FUNCTION),
|
||||
"VLT_TRACE_SCOPE_FUNCTION mismatches");
|
||||
static_assert(static_cast<int>(FST_ST_VCD_BEGIN) == static_cast<int>(VLT_TRACE_SCOPE_BEGIN),
|
||||
"VLT_TRACE_SCOPE_BEGIN mismatches");
|
||||
static_assert(static_cast<int>(FST_ST_VCD_FORK) == static_cast<int>(VLT_TRACE_SCOPE_FORK),
|
||||
"VLT_TRACE_SCOPE_FORK mismatches");
|
||||
static_assert(static_cast<int>(FST_ST_VCD_GENERATE) == static_cast<int>(VLT_TRACE_SCOPE_GENERATE),
|
||||
"VLT_TRACE_SCOPE_GENERATE mismatches");
|
||||
static_assert(static_cast<int>(FST_ST_VCD_STRUCT) == static_cast<int>(VLT_TRACE_SCOPE_STRUCT),
|
||||
"VLT_TRACE_SCOPE_STRUCT mismatches");
|
||||
static_assert(static_cast<int>(FST_ST_VCD_UNION) == static_cast<int>(VLT_TRACE_SCOPE_UNION),
|
||||
"VLT_TRACE_SCOPE_UNION mismatches");
|
||||
static_assert(static_cast<int>(FST_ST_VCD_CLASS) == static_cast<int>(VLT_TRACE_SCOPE_CLASS),
|
||||
"VLT_TRACE_SCOPE_CLASS mismatches");
|
||||
static_assert(static_cast<int>(FST_ST_VCD_INTERFACE)
|
||||
== static_cast<int>(VLT_TRACE_SCOPE_INTERFACE),
|
||||
"VLT_TRACE_SCOPE_INTERFACE mismatches");
|
||||
static_assert(static_cast<int>(FST_ST_VCD_PACKAGE) == static_cast<int>(VLT_TRACE_SCOPE_PACKAGE),
|
||||
"VLT_TRACE_SCOPE_PACKAGE mismatches");
|
||||
static_assert(static_cast<int>(FST_ST_VCD_PROGRAM) == static_cast<int>(VLT_TRACE_SCOPE_PROGRAM),
|
||||
"VLT_TRACE_SCOPE_PROGRAM mismatches");
|
||||
static_assert(std::is_same<vlFstHandle, fstHandle>::value, "vlFstHandle mismatch");
|
||||
static_assert(std::is_same<vlFstEnumHandle, fstEnumHandle>::value, "vlFstHandle mismatch");
|
||||
|
||||
//=============================================================================
|
||||
// Specialization of the generics for this trace format
|
||||
|
|
@ -107,17 +84,8 @@ void VerilatedFst::open(const char* filename) VL_MT_SAFE_EXCLUDES(m_mutex) {
|
|||
constDump(true); // First dump must contain the const signals
|
||||
fullDump(true); // First dump must be full for fst
|
||||
|
||||
m_curScope.clear();
|
||||
|
||||
Super::traceInit();
|
||||
|
||||
// Clear the scope stack
|
||||
auto it = m_curScope.begin();
|
||||
while (it != m_curScope.end()) {
|
||||
fstWriterSetUpscope(m_fst);
|
||||
it = m_curScope.erase(it);
|
||||
}
|
||||
|
||||
// convert m_code2symbol into an array for fast lookup
|
||||
if (!m_symbolp) {
|
||||
m_symbolp = new fstHandle[nextCode()]{0};
|
||||
|
|
@ -155,99 +123,136 @@ void VerilatedFst::declDTypeEnum(int dtypenum, const char* name, uint32_t elemen
|
|||
m_local2fstdtype[dtypenum] = enumNum;
|
||||
}
|
||||
|
||||
void VerilatedFst::declare(uint32_t code, const char* name, int dtypenum, fstVarDir vardir,
|
||||
fstVarType vartype, bool array, int arraynum, bool bussed, int msb,
|
||||
int lsb) {
|
||||
// TODO: should return std::optional<fstScopeType>, but I can't have C++17
|
||||
static std::pair<bool, fstScopeType> toFstScopeType(VerilatedTracePrefixType type) {
|
||||
switch (type) {
|
||||
case VerilatedTracePrefixType::SCOPE_MODULE: return {true, FST_ST_VCD_MODULE};
|
||||
case VerilatedTracePrefixType::SCOPE_INTERFACE: return {true, FST_ST_VCD_INTERFACE};
|
||||
case VerilatedTracePrefixType::STRUCT_PACKED:
|
||||
case VerilatedTracePrefixType::STRUCT_UNPACKED: return {true, FST_ST_VCD_STRUCT};
|
||||
case VerilatedTracePrefixType::UNION_PACKED: return {true, FST_ST_VCD_UNION};
|
||||
default: return {false, /* unused so whatever, just need a value */ FST_ST_VCD_SCOPE};
|
||||
}
|
||||
}
|
||||
|
||||
void VerilatedFst::pushPrefix(const std::string& name, VerilatedTracePrefixType type) {
|
||||
const std::string newPrefix = m_prefixStack.back().first + name;
|
||||
const auto pair = toFstScopeType(type);
|
||||
const bool properScope = pair.first;
|
||||
const fstScopeType scopeType = pair.second;
|
||||
m_prefixStack.emplace_back(newPrefix + (properScope ? " " : ""), type);
|
||||
if (properScope) {
|
||||
const std::string scopeName = lastWord(newPrefix);
|
||||
fstWriterSetScope(m_fst, scopeType, scopeName.c_str(), nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
void VerilatedFst::popPrefix() {
|
||||
const bool properScope = toFstScopeType(m_prefixStack.back().second).first;
|
||||
if (properScope) fstWriterSetUpscope(m_fst);
|
||||
m_prefixStack.pop_back();
|
||||
assert(!m_prefixStack.empty());
|
||||
}
|
||||
|
||||
void VerilatedFst::declare(uint32_t code, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection direction, VerilatedTraceSigKind kind,
|
||||
VerilatedTraceSigType type, bool array, int arraynum, bool bussed,
|
||||
int msb, int lsb) {
|
||||
const int bits = ((msb > lsb) ? (msb - lsb) : (lsb - msb)) + 1;
|
||||
|
||||
const bool enabled = Super::declCode(code, name, bits, false);
|
||||
const std::string hierarchicalName = m_prefixStack.back().first + name;
|
||||
|
||||
const bool enabled = Super::declCode(code, hierarchicalName, bits);
|
||||
if (!enabled) return;
|
||||
|
||||
std::string nameasstr = namePrefix() + name;
|
||||
std::istringstream nameiss{nameasstr};
|
||||
std::istream_iterator<std::string> beg(nameiss);
|
||||
std::istream_iterator<std::string> end;
|
||||
std::list<std::string> tokens(beg, end); // Split name
|
||||
std::string symbol_name{tokens.back()};
|
||||
tokens.pop_back(); // Remove symbol name from hierarchy
|
||||
std::string tmpModName;
|
||||
|
||||
// Find point where current and new scope diverge
|
||||
auto cur_it = m_curScope.begin();
|
||||
auto new_it = tokens.begin();
|
||||
while (cur_it != m_curScope.end() && new_it != tokens.end()) {
|
||||
if (*cur_it != *new_it) break;
|
||||
++cur_it;
|
||||
++new_it;
|
||||
}
|
||||
|
||||
// Go back to the common point
|
||||
while (cur_it != m_curScope.end()) {
|
||||
fstWriterSetUpscope(m_fst);
|
||||
cur_it = m_curScope.erase(cur_it);
|
||||
}
|
||||
|
||||
// Follow the hierarchy of the new variable from the common scope point
|
||||
while (new_it != tokens.end()) {
|
||||
if ((new_it->back() & 0x80)) {
|
||||
tmpModName = *new_it;
|
||||
tmpModName.pop_back();
|
||||
// If the scope ends with a non-ASCII character, it will be 0x80 + fstScopeType
|
||||
fstWriterSetScope(m_fst, static_cast<fstScopeType>(new_it->back() & 0x7f),
|
||||
tmpModName.c_str(), nullptr);
|
||||
} else {
|
||||
fstWriterSetScope(m_fst, FST_ST_VCD_SCOPE, new_it->c_str(), nullptr);
|
||||
}
|
||||
m_curScope.push_back(*new_it);
|
||||
new_it = tokens.erase(new_it);
|
||||
}
|
||||
|
||||
assert(hierarchicalName.rfind(' ') != std::string::npos);
|
||||
std::stringstream name_ss;
|
||||
name_ss << symbol_name;
|
||||
name_ss << lastWord(hierarchicalName);
|
||||
if (array) name_ss << "[" << arraynum << "]";
|
||||
if (bussed) name_ss << " [" << msb << ":" << lsb << "]";
|
||||
std::string name_str = name_ss.str();
|
||||
const std::string name_str = name_ss.str();
|
||||
|
||||
if (dtypenum > 0) {
|
||||
const fstEnumHandle enumNum = m_local2fstdtype[dtypenum];
|
||||
fstWriterEmitEnumTableRef(m_fst, enumNum);
|
||||
if (dtypenum > 0) fstWriterEmitEnumTableRef(m_fst, m_local2fstdtype[dtypenum]);
|
||||
|
||||
fstVarDir varDir;
|
||||
switch (direction) {
|
||||
case VerilatedTraceSigDirection::INOUT: varDir = FST_VD_INOUT; break;
|
||||
case VerilatedTraceSigDirection::OUTPUT: varDir = FST_VD_OUTPUT; break;
|
||||
case VerilatedTraceSigDirection::INPUT: varDir = FST_VD_INPUT; break;
|
||||
case VerilatedTraceSigDirection::NONE: varDir = FST_VD_IMPLICIT; break;
|
||||
}
|
||||
|
||||
fstVarType varType;
|
||||
// Doubles have special decoding properties, so must indicate if a double
|
||||
if (type == VerilatedTraceSigType::DOUBLE) {
|
||||
if (kind == VerilatedTraceSigKind::PARAMETER) {
|
||||
varType = FST_VT_VCD_REAL_PARAMETER;
|
||||
} else {
|
||||
varType = FST_VT_VCD_REAL;
|
||||
}
|
||||
}
|
||||
// clang-format off
|
||||
else if (kind == VerilatedTraceSigKind::PARAMETER) varType = FST_VT_VCD_PARAMETER;
|
||||
else if (kind == VerilatedTraceSigKind::SUPPLY0) varType = FST_VT_VCD_SUPPLY0;
|
||||
else if (kind == VerilatedTraceSigKind::SUPPLY1) varType = FST_VT_VCD_SUPPLY1;
|
||||
else if (kind == VerilatedTraceSigKind::TRI) varType = FST_VT_VCD_TRI;
|
||||
else if (kind == VerilatedTraceSigKind::TRI0) varType = FST_VT_VCD_TRI0;
|
||||
else if (kind == VerilatedTraceSigKind::TRI1) varType = FST_VT_VCD_TRI1;
|
||||
else if (kind == VerilatedTraceSigKind::WIRE) varType = FST_VT_VCD_WIRE;
|
||||
//
|
||||
else if (type == VerilatedTraceSigType::INTEGER) varType = FST_VT_VCD_INTEGER;
|
||||
else if (type == VerilatedTraceSigType::BIT) varType = FST_VT_SV_BIT;
|
||||
else if (type == VerilatedTraceSigType::LOGIC) varType = FST_VT_SV_LOGIC;
|
||||
else if (type == VerilatedTraceSigType::INT) varType = FST_VT_SV_INT;
|
||||
else if (type == VerilatedTraceSigType::SHORTINT) varType = FST_VT_SV_SHORTINT;
|
||||
else if (type == VerilatedTraceSigType::LONGINT) varType = FST_VT_SV_LONGINT;
|
||||
else if (type == VerilatedTraceSigType::BYTE) varType = FST_VT_SV_BYTE;
|
||||
else if (type == VerilatedTraceSigType::EVENT) varType = FST_VT_VCD_EVENT;
|
||||
else if (type == VerilatedTraceSigType::TIME) varType = FST_VT_VCD_TIME;
|
||||
else { assert(0); /* Unreachable */ }
|
||||
// clang-format on
|
||||
|
||||
const auto it = vlstd::as_const(m_code2symbol).find(code);
|
||||
if (it == m_code2symbol.end()) { // New
|
||||
m_code2symbol[code]
|
||||
= fstWriterCreateVar(m_fst, vartype, vardir, bits, name_str.c_str(), 0);
|
||||
= fstWriterCreateVar(m_fst, varType, varDir, bits, name_str.c_str(), 0);
|
||||
} else { // Alias
|
||||
fstWriterCreateVar(m_fst, vartype, vardir, bits, name_str.c_str(), it->second);
|
||||
fstWriterCreateVar(m_fst, varType, varDir, bits, name_str.c_str(), it->second);
|
||||
}
|
||||
}
|
||||
|
||||
void VerilatedFst::declEvent(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
fstVarDir vardir, fstVarType vartype, bool array, int arraynum) {
|
||||
declare(code, name, dtypenum, vardir, vartype, array, arraynum, false, 0, 0);
|
||||
VerilatedTraceSigDirection direction, VerilatedTraceSigKind kind,
|
||||
VerilatedTraceSigType type, bool array, int arraynum) {
|
||||
declare(code, name, dtypenum, direction, kind, type, array, arraynum, false, 0, 0);
|
||||
}
|
||||
void VerilatedFst::declBit(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
fstVarDir vardir, fstVarType vartype, bool array, int arraynum) {
|
||||
declare(code, name, dtypenum, vardir, vartype, array, arraynum, false, 0, 0);
|
||||
VerilatedTraceSigDirection direction, VerilatedTraceSigKind kind,
|
||||
VerilatedTraceSigType type, bool array, int arraynum) {
|
||||
declare(code, name, dtypenum, direction, kind, type, array, arraynum, false, 0, 0);
|
||||
}
|
||||
void VerilatedFst::declBus(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
fstVarDir vardir, fstVarType vartype, bool array, int arraynum, int msb,
|
||||
VerilatedTraceSigDirection direction, VerilatedTraceSigKind kind,
|
||||
VerilatedTraceSigType type, bool array, int arraynum, int msb,
|
||||
int lsb) {
|
||||
declare(code, name, dtypenum, vardir, vartype, array, arraynum, true, msb, lsb);
|
||||
declare(code, name, dtypenum, direction, kind, type, array, arraynum, true, msb, lsb);
|
||||
}
|
||||
void VerilatedFst::declQuad(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
fstVarDir vardir, fstVarType vartype, bool array, int arraynum,
|
||||
int msb, int lsb) {
|
||||
declare(code, name, dtypenum, vardir, vartype, array, arraynum, true, msb, lsb);
|
||||
VerilatedTraceSigDirection direction, VerilatedTraceSigKind kind,
|
||||
VerilatedTraceSigType type, bool array, int arraynum, int msb,
|
||||
int lsb) {
|
||||
declare(code, name, dtypenum, direction, kind, type, array, arraynum, true, msb, lsb);
|
||||
}
|
||||
void VerilatedFst::declArray(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
fstVarDir vardir, fstVarType vartype, bool array, int arraynum,
|
||||
int msb, int lsb) {
|
||||
declare(code, name, dtypenum, vardir, vartype, array, arraynum, true, msb, lsb);
|
||||
VerilatedTraceSigDirection direction, VerilatedTraceSigKind kind,
|
||||
VerilatedTraceSigType type, bool array, int arraynum, int msb,
|
||||
int lsb) {
|
||||
declare(code, name, dtypenum, direction, kind, type, array, arraynum, true, msb, lsb);
|
||||
}
|
||||
void VerilatedFst::declDouble(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
fstVarDir vardir, fstVarType vartype, bool array, int arraynum) {
|
||||
declare(code, name, dtypenum, vardir, vartype, array, arraynum, false, 63, 0);
|
||||
VerilatedTraceSigDirection direction, VerilatedTraceSigKind kind,
|
||||
VerilatedTraceSigType type, bool array, int arraynum) {
|
||||
declare(code, name, dtypenum, direction, kind, type, array, arraynum, false, 63, 0);
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
|
|
|
|||
|
|
@ -24,13 +24,14 @@
|
|||
#include "verilated.h"
|
||||
#include "verilated_trace.h"
|
||||
|
||||
#include "gtkwave/fstapi.h"
|
||||
|
||||
#include <list>
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
typedef uint32_t vlFstHandle;
|
||||
typedef uint32_t vlFstEnumHandle;
|
||||
|
||||
class VerilatedFstBuffer;
|
||||
|
||||
//=============================================================================
|
||||
|
|
@ -49,18 +50,22 @@ private:
|
|||
// FST specific internals
|
||||
|
||||
void* m_fst = nullptr;
|
||||
std::map<uint32_t, fstHandle> m_code2symbol;
|
||||
std::map<int, fstEnumHandle> m_local2fstdtype;
|
||||
std::list<std::string> m_curScope;
|
||||
fstHandle* m_symbolp = nullptr; // same as m_code2symbol, but as an array
|
||||
std::map<uint32_t, vlFstHandle> m_code2symbol;
|
||||
std::map<int, vlFstEnumHandle> m_local2fstdtype;
|
||||
vlFstHandle* m_symbolp = nullptr; // same as m_code2symbol, but as an array
|
||||
char* m_strbufp = nullptr; // String buffer long enough to hold maxBits() chars
|
||||
|
||||
bool m_useFstWriterThread = false; // Whether to use the separate FST writer thread
|
||||
|
||||
// Prefixes to add to signal names/scope types
|
||||
std::vector<std::pair<std::string, VerilatedTracePrefixType>> m_prefixStack{
|
||||
{"", VerilatedTracePrefixType::SCOPE_MODULE}};
|
||||
|
||||
// CONSTRUCTORS
|
||||
VL_UNCOPYABLE(VerilatedFst);
|
||||
void declare(uint32_t code, const char* name, int dtypenum, fstVarDir vardir,
|
||||
fstVarType vartype, bool array, int arraynum, bool bussed, int msb, int lsb);
|
||||
void declare(uint32_t code, const char* name, int dtypenum, VerilatedTraceSigDirection,
|
||||
VerilatedTraceSigKind, VerilatedTraceSigType, bool array, int arraynum,
|
||||
bool bussed, int msb, int lsb);
|
||||
|
||||
protected:
|
||||
//=========================================================================
|
||||
|
|
@ -101,18 +106,27 @@ public:
|
|||
//=========================================================================
|
||||
// Internal interface to Verilator generated code
|
||||
|
||||
void declEvent(uint32_t code, uint32_t fidx, const char* name, int dtypenum, fstVarDir vardir,
|
||||
fstVarType vartype, bool array, int arraynum);
|
||||
void declBit(uint32_t code, uint32_t fidx, const char* name, int dtypenum, fstVarDir vardir,
|
||||
fstVarType vartype, bool array, int arraynum);
|
||||
void declBus(uint32_t code, uint32_t fidx, const char* name, int dtypenum, fstVarDir vardir,
|
||||
fstVarType vartype, bool array, int arraynum, int msb, int lsb);
|
||||
void declQuad(uint32_t code, uint32_t fidx, const char* name, int dtypenum, fstVarDir vardir,
|
||||
fstVarType vartype, bool array, int arraynum, int msb, int lsb);
|
||||
void declArray(uint32_t code, uint32_t fidx, const char* name, int dtypenum, fstVarDir vardir,
|
||||
fstVarType vartype, bool array, int arraynum, int msb, int lsb);
|
||||
void declDouble(uint32_t code, uint32_t fidx, const char* name, int dtypenum, fstVarDir vardir,
|
||||
fstVarType vartype, bool array, int arraynum);
|
||||
void pushPrefix(const std::string&, VerilatedTracePrefixType);
|
||||
void popPrefix();
|
||||
|
||||
void declEvent(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind, VerilatedTraceSigType,
|
||||
bool array, int arraynum);
|
||||
void declBit(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind, VerilatedTraceSigType,
|
||||
bool array, int arraynum);
|
||||
void declBus(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind, VerilatedTraceSigType,
|
||||
bool array, int arraynum, int msb, int lsb);
|
||||
void declQuad(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind, VerilatedTraceSigType,
|
||||
bool array, int arraynum, int msb, int lsb);
|
||||
void declArray(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind, VerilatedTraceSigType,
|
||||
bool array, int arraynum, int msb, int lsb);
|
||||
void declDouble(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind, VerilatedTraceSigType,
|
||||
bool array, int arraynum);
|
||||
|
||||
void declDTypeEnum(int dtypenum, const char* name, uint32_t elements, unsigned int minValbits,
|
||||
const char** itemNamesp, const char** itemValuesp);
|
||||
|
|
@ -149,7 +163,7 @@ class VerilatedFstBuffer VL_NOT_FINAL {
|
|||
// The FST file handle
|
||||
void* const m_fst = m_owner.m_fst;
|
||||
// code to fstHande map, as an array
|
||||
const fstHandle* const m_symbolp = m_owner.m_symbolp;
|
||||
const vlFstHandle* const m_symbolp = m_owner.m_symbolp;
|
||||
// String buffer long enough to hold maxBits() chars
|
||||
char* const m_strbufp = m_owner.m_strbufp;
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
// clang-format off
|
||||
|
||||
#include "verilated.h"
|
||||
#include "verilated_trace_defs.h"
|
||||
|
||||
#include <bitset>
|
||||
#include <condition_variable>
|
||||
|
|
@ -46,6 +45,54 @@ class VerilatedTraceBuffer;
|
|||
template <class T_Buffer>
|
||||
class VerilatedTraceOffloadBuffer;
|
||||
|
||||
//=============================================================================
|
||||
// Common enumerations
|
||||
|
||||
enum class VerilatedTracePrefixType : uint32_t {
|
||||
// Note: Entries must match VTracePrefixType (by name, not necessarily by value)
|
||||
ARRAY_PACKED,
|
||||
ARRAY_UNPACKED,
|
||||
SCOPE_MODULE,
|
||||
SCOPE_INTERFACE,
|
||||
STRUCT_PACKED,
|
||||
STRUCT_UNPACKED,
|
||||
UNION_PACKED
|
||||
};
|
||||
|
||||
// Direction attribute for ports
|
||||
enum class VerilatedTraceSigDirection : uint32_t {
|
||||
NONE,
|
||||
INPUT,
|
||||
OUTPUT,
|
||||
INOUT,
|
||||
};
|
||||
|
||||
// Kind of signal. Similar to nettype but with a few more alternatives
|
||||
enum class VerilatedTraceSigKind : uint32_t {
|
||||
PARAMETER,
|
||||
SUPPLY0,
|
||||
SUPPLY1,
|
||||
TRI,
|
||||
TRI0,
|
||||
TRI1,
|
||||
WIRE,
|
||||
VAR,
|
||||
};
|
||||
|
||||
// Base data type of signal
|
||||
enum class VerilatedTraceSigType : uint32_t {
|
||||
DOUBLE,
|
||||
INTEGER,
|
||||
BIT,
|
||||
LOGIC,
|
||||
INT,
|
||||
SHORTINT,
|
||||
LONGINT,
|
||||
BYTE,
|
||||
EVENT,
|
||||
TIME,
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
// Offloaded tracing
|
||||
|
||||
|
|
@ -229,9 +276,8 @@ private:
|
|||
uint32_t m_nextCode = 0; // Next code number to assign
|
||||
uint32_t m_numSignals = 0; // Number of distinct signals
|
||||
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
|
||||
// TODO: Should keep this as a Trie, that is how it's accessed all the time.
|
||||
std::vector<std::pair<int, std::string>> m_dumpvars; // dumpvar() entries
|
||||
char m_scopeEscape = '.';
|
||||
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
|
||||
|
|
@ -307,14 +353,7 @@ protected:
|
|||
void traceInit() VL_MT_UNSAFE;
|
||||
|
||||
// Declare new signal and return true if enabled
|
||||
bool declCode(uint32_t code, const char* namep, uint32_t bits, bool tri);
|
||||
|
||||
// Is this an escape?
|
||||
bool isScopeEscape(char c) { return std::isspace(c) || c == m_scopeEscape; }
|
||||
// Character that splits scopes. Note whitespace are ALWAYS escapes.
|
||||
char scopeEscape() { return m_scopeEscape; }
|
||||
// Prefix to assume in signal declarations
|
||||
const std::string& namePrefix() const { return m_namePrefixStack.back(); }
|
||||
bool declCode(uint32_t code, const std::string& declName, uint32_t bits);
|
||||
|
||||
void closeBase();
|
||||
void flushBase();
|
||||
|
|
@ -322,6 +361,13 @@ protected:
|
|||
bool offload() const { return m_offload; }
|
||||
bool parallel() const { return m_parallel; }
|
||||
|
||||
// Return last ' ' separated word. Assumes string does not end in ' '.
|
||||
static std::string lastWord(const std::string& str) {
|
||||
const size_t idx = str.rfind(' ');
|
||||
if (idx == std::string::npos) return str;
|
||||
return str.substr(idx + 1);
|
||||
}
|
||||
|
||||
//=========================================================================
|
||||
// Virtual functions to be provided by the format specific implementation
|
||||
|
||||
|
|
@ -375,11 +421,6 @@ public:
|
|||
void addChgCb(dumpCb_t cb, uint32_t fidx, void* userp) VL_MT_SAFE;
|
||||
void addChgCb(dumpOffloadCb_t cb, uint32_t fidx, void* userp) VL_MT_SAFE;
|
||||
void addCleanupCb(cleanupCb_t cb, void* userp) VL_MT_SAFE;
|
||||
|
||||
void scopeEscape(char flag) { m_scopeEscape = flag; }
|
||||
|
||||
void pushNamePrefix(const std::string&);
|
||||
void popNamePrefix(unsigned count = 1);
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
|
|
|
|||
|
|
@ -1,42 +0,0 @@
|
|||
// -*- mode: C++; c-file-style: "cc-mode" -*-
|
||||
//=============================================================================
|
||||
//
|
||||
// Code available from: https://verilator.org
|
||||
//
|
||||
// Copyright 2001-2023 by Wilson Snyder. This program is free software; you
|
||||
// can redistribute it and/or modify it under the terms of either the GNU
|
||||
// Lesser General Public License Version 3 or the Perl Artistic License
|
||||
// Version 2.0.
|
||||
// SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
|
||||
//
|
||||
//=============================================================================
|
||||
///
|
||||
/// \file
|
||||
/// \brief Verilated tracing types
|
||||
///
|
||||
/// This file is not part of the Verilated public-facing API.
|
||||
/// It is only for internal use by Verilated tracing routines.
|
||||
///
|
||||
//=============================================================================
|
||||
#ifndef VERILATOR_VERILATED_TRACE_DEFS_H_
|
||||
#define VERILATOR_VERILATED_TRACE_DEFS_H_
|
||||
|
||||
// Verilator tracing scope types:
|
||||
// The values should match FST_ST_VCD_* from fstScopeType in gtkwave/fstapi.h
|
||||
// verilated_fst_c.cpp contains assertions to enforce this
|
||||
enum VltTraceScope {
|
||||
VLT_TRACE_SCOPE_MODULE = 0,
|
||||
VLT_TRACE_SCOPE_TASK = 1,
|
||||
VLT_TRACE_SCOPE_FUNCTION = 2,
|
||||
VLT_TRACE_SCOPE_BEGIN = 3,
|
||||
VLT_TRACE_SCOPE_FORK = 4,
|
||||
VLT_TRACE_SCOPE_GENERATE = 5,
|
||||
VLT_TRACE_SCOPE_STRUCT = 6,
|
||||
VLT_TRACE_SCOPE_UNION = 7,
|
||||
VLT_TRACE_SCOPE_CLASS = 8,
|
||||
VLT_TRACE_SCOPE_INTERFACE = 9,
|
||||
VLT_TRACE_SCOPE_PACKAGE = 10,
|
||||
VLT_TRACE_SCOPE_PROGRAM = 11
|
||||
};
|
||||
|
||||
#endif // guard
|
||||
|
|
@ -378,13 +378,12 @@ void VerilatedTrace<VL_SUB_T, VL_BUF_T>::traceInit() VL_MT_UNSAFE {
|
|||
}
|
||||
|
||||
template <>
|
||||
bool VerilatedTrace<VL_SUB_T, VL_BUF_T>::declCode(uint32_t code, const char* namep, uint32_t bits,
|
||||
bool tri) {
|
||||
bool VerilatedTrace<VL_SUB_T, VL_BUF_T>::declCode(uint32_t code, const std::string& declName,
|
||||
uint32_t bits) {
|
||||
if (VL_UNCOVERABLE(!code)) {
|
||||
VL_FATAL_MT(__FILE__, __LINE__, "", "Internal: internal trace problem, code 0 is illegal");
|
||||
}
|
||||
// To keep it simple, this is O(enables * signals), but we expect few enables
|
||||
std::string declName = namePrefix() + namep;
|
||||
bool enabled = false;
|
||||
if (m_dumpvars.empty()) enabled = true;
|
||||
for (const auto& item : m_dumpvars) {
|
||||
|
|
@ -410,10 +409,7 @@ bool VerilatedTrace<VL_SUB_T, VL_BUF_T>::declCode(uint32_t code, const char* nam
|
|||
break;
|
||||
}
|
||||
|
||||
// Note: The tri-state flag is not used by Verilator, but is here for
|
||||
// compatibility with some foreign code.
|
||||
int codesNeeded = VL_WORDS_I(bits);
|
||||
if (tri) codesNeeded *= 2;
|
||||
m_nextCode = std::max(m_nextCode, code + codesNeeded);
|
||||
++m_numSignals;
|
||||
m_maxBits = std::max(m_maxBits, bits);
|
||||
|
|
@ -737,17 +733,6 @@ void VerilatedTrace<VL_SUB_T, VL_BUF_T>::addCleanupCb(cleanupCb_t cb, void* user
|
|||
addCallbackRecord(m_cleanupCbs, CallbackRecord{cb, userp});
|
||||
}
|
||||
|
||||
template <>
|
||||
void VerilatedTrace<VL_SUB_T, VL_BUF_T>::pushNamePrefix(const std::string& prefix) {
|
||||
m_namePrefixStack.push_back(m_namePrefixStack.back() + prefix);
|
||||
}
|
||||
|
||||
template <>
|
||||
void VerilatedTrace<VL_SUB_T, VL_BUF_T>::popNamePrefix(unsigned count) {
|
||||
while (count--) m_namePrefixStack.pop_back();
|
||||
assert(!m_namePrefixStack.empty());
|
||||
}
|
||||
|
||||
//=========================================================================
|
||||
// Primitives converting binary values to strings...
|
||||
|
||||
|
|
|
|||
|
|
@ -112,7 +112,19 @@ void VerilatedVcd::open(const char* filename) VL_MT_SAFE_EXCLUDES(m_mutex) {
|
|||
openNextImp(m_rolloverSize != 0);
|
||||
if (!isOpen()) return;
|
||||
|
||||
dumpHeader();
|
||||
printStr("$version Generated by VerilatedVcd $end\n");
|
||||
printStr("$timescale ");
|
||||
printStr(timeResStr().c_str()); // lintok-begin-on-ref
|
||||
printStr(" $end\n");
|
||||
|
||||
// Scope and signal definitions
|
||||
assert(m_indent == 0);
|
||||
++m_indent;
|
||||
Super::traceInit();
|
||||
--m_indent;
|
||||
assert(m_indent == 0);
|
||||
|
||||
printStr("$enddefinitions $end\n\n\n");
|
||||
|
||||
// When using rollover, the first chunk contains the header only.
|
||||
if (m_rolloverSize) openNextImp(true);
|
||||
|
|
@ -176,49 +188,14 @@ bool VerilatedVcd::preChangeDump() {
|
|||
|
||||
void VerilatedVcd::emitTimeChange(uint64_t timeui) {
|
||||
printStr("#");
|
||||
printQuad(timeui);
|
||||
const std::string str = std::to_string(timeui);
|
||||
printStr(str.c_str());
|
||||
printStr("\n");
|
||||
}
|
||||
|
||||
void VerilatedVcd::makeNameMap() {
|
||||
// Take signal information from each module and build m_namemapp
|
||||
deleteNameMap();
|
||||
m_namemapp = new NameMap;
|
||||
|
||||
Super::traceInit();
|
||||
|
||||
// Though not speced, it's illegal to generate a vcd with signals
|
||||
// not under any module - it crashes at least two viewers.
|
||||
// If no scope was specified, prefix everything with a "top"
|
||||
// This comes from user instantiations with no name - IE Vtop("").
|
||||
bool nullScope = false;
|
||||
for (const auto& i : *m_namemapp) {
|
||||
const std::string& hiername = i.first;
|
||||
if (!hiername.empty() && hiername[0] == '\t') nullScope = true;
|
||||
}
|
||||
if (nullScope) {
|
||||
NameMap* const newmapp = new NameMap;
|
||||
for (const auto& i : *m_namemapp) {
|
||||
const std::string& hiername = i.first;
|
||||
const std::string& decl = i.second;
|
||||
std::string newname{"top"};
|
||||
if (hiername[0] != '\t') newname += ' ';
|
||||
newname += hiername;
|
||||
newmapp->emplace(newname, decl);
|
||||
}
|
||||
deleteNameMap();
|
||||
m_namemapp = newmapp;
|
||||
}
|
||||
}
|
||||
|
||||
void VerilatedVcd::deleteNameMap() {
|
||||
if (m_namemapp) VL_DO_CLEAR(delete m_namemapp, m_namemapp = nullptr);
|
||||
}
|
||||
|
||||
VerilatedVcd::~VerilatedVcd() {
|
||||
close();
|
||||
if (m_wrBufp) VL_DO_CLEAR(delete[] m_wrBufp, m_wrBufp = nullptr);
|
||||
deleteNameMap();
|
||||
if (m_filep && m_fileNewed) VL_DO_CLEAR(delete m_filep, m_filep = nullptr);
|
||||
if (parallel()) {
|
||||
assert(m_numBuffers == m_freeBuffers.size());
|
||||
|
|
@ -271,13 +248,6 @@ void VerilatedVcd::printStr(const char* str) {
|
|||
}
|
||||
}
|
||||
|
||||
void VerilatedVcd::printQuad(uint64_t n) {
|
||||
constexpr size_t LEN_STR_QUAD = 40;
|
||||
char buf[LEN_STR_QUAD];
|
||||
VL_SNPRINTF(buf, LEN_STR_QUAD, "%" PRIu64, n);
|
||||
printStr(buf);
|
||||
}
|
||||
|
||||
void VerilatedVcd::bufferResize(size_t minsize) {
|
||||
// minsize is size of largest write. We buffer at least 8 times as much data,
|
||||
// writing when we are 3/4 full (with thus 2*minsize remaining free)
|
||||
|
|
@ -326,127 +296,59 @@ void VerilatedVcd::bufferFlush() VL_MT_UNSAFE_ONE {
|
|||
m_writep = m_wrBufp;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// VCD string code
|
||||
|
||||
char* VerilatedVcd::writeCode(char* writep, uint32_t code) {
|
||||
*writep++ = static_cast<char>('!' + code % 94);
|
||||
code /= 94;
|
||||
while (code) {
|
||||
--code;
|
||||
*writep++ = static_cast<char>('!' + code % 94);
|
||||
code /= 94;
|
||||
}
|
||||
return writep;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// Definitions
|
||||
|
||||
void VerilatedVcd::printIndent(int level_change) {
|
||||
if (level_change < 0) m_modDepth += level_change;
|
||||
assert(m_modDepth >= 0);
|
||||
for (int i = 0; i < m_modDepth; i++) printStr(" ");
|
||||
if (level_change > 0) m_modDepth += level_change;
|
||||
if (level_change < 0) m_indent += level_change;
|
||||
for (int i = 0; i < m_indent; i++) printStr(" ");
|
||||
if (level_change > 0) m_indent += level_change;
|
||||
}
|
||||
|
||||
void VerilatedVcd::dumpHeader() {
|
||||
printStr("$version Generated by VerilatedVcd $end\n");
|
||||
|
||||
// Verilator used to put in a $date here. Although $date is shown in
|
||||
// IEEE examples, and it is common in VCD writers, VCD readers don't
|
||||
// seem to care about it. Thus, we omit the $date so artifacts are
|
||||
// more likely to be reproducible. If use cases show up that require
|
||||
// the $date command to be present, it could be re-added with support
|
||||
// for the SOURCE_DATE_EPOCH hook.
|
||||
|
||||
printStr("$timescale ");
|
||||
printStr(timeResStr().c_str()); // lintok-begin-on-ref
|
||||
printStr(" $end\n");
|
||||
|
||||
makeNameMap();
|
||||
|
||||
// Signal header
|
||||
assert(m_modDepth == 0);
|
||||
printIndent(1);
|
||||
printStr("\n");
|
||||
|
||||
// We detect the spaces in module names to determine hierarchy. This
|
||||
// allows signals to be declared without fixed ordering, which is
|
||||
// required as Verilog signals might be separately declared from
|
||||
// SC module signals.
|
||||
|
||||
// Print the signal names
|
||||
const char* lastName = "";
|
||||
for (const auto& i : *m_namemapp) {
|
||||
const std::string& hiernamestr = i.first;
|
||||
const std::string& decl = i.second;
|
||||
|
||||
// Determine difference between the old and new names
|
||||
const char* const hiername = hiernamestr.c_str();
|
||||
const char* lp = lastName;
|
||||
const char* np = hiername;
|
||||
lastName = hiername;
|
||||
|
||||
// Skip common prefix, it must break at a space or tab
|
||||
for (; *np && (*np == *lp); np++, lp++) {}
|
||||
while (np != hiername && *np && *np != ' ' && *np != '\t') {
|
||||
--np;
|
||||
--lp;
|
||||
}
|
||||
// printf("hier %s\n lp=%s\n np=%s\n",hiername,lp,np);
|
||||
|
||||
// Any extra spaces in last name are scope ups we need to do
|
||||
bool first = true;
|
||||
for (; *lp; lp++) {
|
||||
if (*lp == ' ' || (first && *lp != '\t')) {
|
||||
printIndent(-1);
|
||||
printStr("$upscope $end\n");
|
||||
}
|
||||
first = false;
|
||||
}
|
||||
|
||||
// Any new spaces are scope downs we need to do
|
||||
while (*np) {
|
||||
if (*np == ' ') np++;
|
||||
if (*np == '\t') break; // tab means signal name starts
|
||||
printIndent(1);
|
||||
printStr("$scope module ");
|
||||
|
||||
for (; *np && *np != ' ' && *np != '\t'; np++) {
|
||||
if (*np == '[') {
|
||||
printStr("[");
|
||||
} else if (*np == ']') {
|
||||
printStr("]");
|
||||
} else {
|
||||
*m_writep++ = *np;
|
||||
}
|
||||
}
|
||||
printStr(" $end\n");
|
||||
}
|
||||
|
||||
printIndent(0);
|
||||
printStr(decl.c_str());
|
||||
void VerilatedVcd::pushPrefix(const std::string& name, VerilatedTracePrefixType type) {
|
||||
std::string newPrefix = m_prefixStack.back().first + name;
|
||||
switch (type) {
|
||||
case VerilatedTracePrefixType::SCOPE_MODULE:
|
||||
case VerilatedTracePrefixType::SCOPE_INTERFACE:
|
||||
case VerilatedTracePrefixType::STRUCT_PACKED:
|
||||
case VerilatedTracePrefixType::STRUCT_UNPACKED:
|
||||
case VerilatedTracePrefixType::UNION_PACKED: {
|
||||
printIndent(1);
|
||||
printStr("$scope module ");
|
||||
const std::string n = lastWord(newPrefix);
|
||||
printStr(n.c_str());
|
||||
printStr(" $end\n");
|
||||
newPrefix += ' ';
|
||||
break;
|
||||
}
|
||||
default: break;
|
||||
}
|
||||
m_prefixStack.emplace_back(newPrefix, type);
|
||||
}
|
||||
|
||||
while (m_modDepth > 1) {
|
||||
void VerilatedVcd::popPrefix() {
|
||||
switch (m_prefixStack.back().second) {
|
||||
case VerilatedTracePrefixType::SCOPE_MODULE:
|
||||
case VerilatedTracePrefixType::SCOPE_INTERFACE:
|
||||
case VerilatedTracePrefixType::STRUCT_PACKED:
|
||||
case VerilatedTracePrefixType::STRUCT_UNPACKED:
|
||||
case VerilatedTracePrefixType::UNION_PACKED:
|
||||
printIndent(-1);
|
||||
printStr("$upscope $end\n");
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
printIndent(-1);
|
||||
printStr("$enddefinitions $end\n\n\n");
|
||||
assert(m_modDepth == 0);
|
||||
|
||||
// Reclaim storage
|
||||
deleteNameMap();
|
||||
m_prefixStack.pop_back();
|
||||
assert(!m_prefixStack.empty());
|
||||
}
|
||||
|
||||
void VerilatedVcd::declare(uint32_t code, const char* name, const char* wirep, bool array,
|
||||
int arraynum, bool tri, bool bussed, int msb, int lsb) {
|
||||
int arraynum, bool bussed, int msb, int lsb) {
|
||||
const int bits = ((msb > lsb) ? (msb - lsb) : (lsb - msb)) + 1;
|
||||
|
||||
const bool enabled = Super::declCode(code, name, bits, tri);
|
||||
const std::string hierarchicalName = m_prefixStack.back().first + name;
|
||||
|
||||
const bool enabled = Super::declCode(code, hierarchicalName, bits);
|
||||
|
||||
if (m_suffixes.size() <= nextCode() * VL_TRACE_SUFFIX_ENTRY_SIZE) {
|
||||
m_suffixes.resize(nextCode() * VL_TRACE_SUFFIX_ENTRY_SIZE * 2, 0);
|
||||
|
|
@ -459,90 +361,89 @@ void VerilatedVcd::declare(uint32_t code, const char* name, const char* wirep, b
|
|||
|
||||
if (!enabled) return;
|
||||
|
||||
// Split name into basename
|
||||
// Spaces and tabs aren't legal in VCD signal names, so:
|
||||
// Space separates each level of scope
|
||||
// Tab separates final scope from signal name
|
||||
// Tab sorts before spaces, so signals nicely will print before scopes
|
||||
// Note the hiername may be nothing, if so we'll add "\t{name}"
|
||||
std::string nameasstr = namePrefix() + name;
|
||||
std::string hiername;
|
||||
std::string basename;
|
||||
for (const char* cp = nameasstr.c_str(); *cp; cp++) {
|
||||
if (isScopeEscape(*cp)) {
|
||||
// Ahh, we've just read a scope, not a basename
|
||||
if (!hiername.empty()) hiername += " ";
|
||||
hiername += basename;
|
||||
basename = "";
|
||||
} else {
|
||||
basename += *cp;
|
||||
}
|
||||
// Create the VCD code and build the suffix array entry
|
||||
char vcdCode[VL_TRACE_SUFFIX_ENTRY_SIZE];
|
||||
{
|
||||
// Render the VCD code
|
||||
char* vcdCodeWritep = vcdCode;
|
||||
uint32_t codeEnc = code;
|
||||
do {
|
||||
*vcdCodeWritep++ = static_cast<char>('!' + codeEnc % 94);
|
||||
codeEnc /= 94;
|
||||
} while (codeEnc--);
|
||||
*vcdCodeWritep = '\0';
|
||||
const size_t vcdCodeLength = vcdCodeWritep - vcdCode;
|
||||
assert(vcdCodeLength <= VL_TRACE_MAX_VCD_CODE_SIZE);
|
||||
// Build suffix array entry
|
||||
char* const entryBeginp = &m_suffixes[code * VL_TRACE_SUFFIX_ENTRY_SIZE];
|
||||
entryBeginp[0] = ' '; // Separator
|
||||
// 1 bit values don't have a ' ' separator between value and string code
|
||||
char* entryWritep = bits == 1 ? entryBeginp : entryBeginp + 1;
|
||||
// Use memcpy as we know the size, and strcpy is flagged unsafe
|
||||
std::memcpy(entryWritep, vcdCode, vcdCodeLength);
|
||||
entryWritep += vcdCodeLength;
|
||||
// Line terminator
|
||||
*entryWritep++ = '\n';
|
||||
// Set length of suffix (used to increment write pointer)
|
||||
assert(entryWritep <= entryBeginp + VL_TRACE_SUFFIX_ENTRY_SIZE - 1);
|
||||
entryBeginp[VL_TRACE_SUFFIX_ENTRY_SIZE - 1] = static_cast<char>(entryWritep - entryBeginp);
|
||||
}
|
||||
hiername += "\t" + basename;
|
||||
|
||||
// Print reference
|
||||
// Assemble the declaration
|
||||
std::string decl = "$var ";
|
||||
decl += wirep; // usually "wire"
|
||||
|
||||
constexpr size_t bufsize = 1000;
|
||||
char buf[bufsize];
|
||||
VL_SNPRINTF(buf, bufsize, " %2d ", bits);
|
||||
decl += buf;
|
||||
// Add string code to decl
|
||||
char* const endp = writeCode(buf, code);
|
||||
*endp = '\0';
|
||||
decl += buf;
|
||||
// Build suffix array entry
|
||||
char* const entryp = &m_suffixes[code * VL_TRACE_SUFFIX_ENTRY_SIZE];
|
||||
const size_t length = endp - buf;
|
||||
assert(length <= VL_TRACE_MAX_VCD_CODE_SIZE);
|
||||
// 1 bit values don't have a ' ' separator between value and string code
|
||||
const bool isBit = bits == 1;
|
||||
entryp[0] = ' '; // Separator
|
||||
// Use memcpy as we checked size above, and strcpy is flagged unsafe
|
||||
std::memcpy(entryp + !isBit, buf,
|
||||
std::strlen(buf)); // Code (overwrite separator if isBit)
|
||||
entryp[length + !isBit] = '\n'; // Replace '\0' with line termination '\n'
|
||||
// Set length of suffix (used to increment write pointer)
|
||||
entryp[VL_TRACE_SUFFIX_ENTRY_SIZE - 1] = static_cast<char>(length + !isBit + 1);
|
||||
decl += " ";
|
||||
decl += basename;
|
||||
decl += wirep;
|
||||
decl += ' ';
|
||||
decl += std::to_string(bits);
|
||||
decl += ' ';
|
||||
decl += vcdCode;
|
||||
decl += ' ';
|
||||
decl += lastWord(hierarchicalName);
|
||||
if (array) {
|
||||
VL_SNPRINTF(buf, bufsize, "[%d]", arraynum);
|
||||
decl += buf;
|
||||
hiername += buf;
|
||||
decl += '[';
|
||||
decl += std::to_string(arraynum);
|
||||
decl += ']';
|
||||
}
|
||||
if (bussed) {
|
||||
VL_SNPRINTF(buf, bufsize, " [%d:%d]", msb, lsb);
|
||||
decl += buf;
|
||||
decl += " [";
|
||||
decl += std::to_string(msb);
|
||||
decl += ':';
|
||||
decl += std::to_string(lsb);
|
||||
decl += ']';
|
||||
}
|
||||
decl += " $end\n";
|
||||
m_namemapp->emplace(hiername, decl);
|
||||
printIndent(0);
|
||||
printStr(decl.c_str());
|
||||
}
|
||||
|
||||
void VerilatedVcd::declEvent(uint32_t code, uint32_t fidx, const char* name, bool array,
|
||||
int arraynum) {
|
||||
declare(code, name, "event", array, arraynum, false, false, 0, 0);
|
||||
void VerilatedVcd::declEvent(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind,
|
||||
VerilatedTraceSigType, bool array, int arraynum) {
|
||||
declare(code, name, "event", array, arraynum, false, 0, 0);
|
||||
}
|
||||
void VerilatedVcd::declBit(uint32_t code, uint32_t fidx, const char* name, bool array,
|
||||
int arraynum) {
|
||||
declare(code, name, "wire", array, arraynum, false, false, 0, 0);
|
||||
void VerilatedVcd::declBit(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind,
|
||||
VerilatedTraceSigType, bool array, int arraynum) {
|
||||
declare(code, name, "wire", array, arraynum, false, 0, 0);
|
||||
}
|
||||
void VerilatedVcd::declBus(uint32_t code, uint32_t fidx, const char* name, bool array,
|
||||
int arraynum, int msb, int lsb) {
|
||||
declare(code, name, "wire", array, arraynum, false, true, msb, lsb);
|
||||
void VerilatedVcd::declBus(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind,
|
||||
VerilatedTraceSigType, bool array, int arraynum, int msb, int lsb) {
|
||||
declare(code, name, "wire", array, arraynum, true, msb, lsb);
|
||||
}
|
||||
void VerilatedVcd::declQuad(uint32_t code, uint32_t fidx, const char* name, bool array,
|
||||
int arraynum, int msb, int lsb) {
|
||||
declare(code, name, "wire", array, arraynum, false, true, msb, lsb);
|
||||
void VerilatedVcd::declQuad(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind,
|
||||
VerilatedTraceSigType, bool array, int arraynum, int msb, int lsb) {
|
||||
declare(code, name, "wire", array, arraynum, true, msb, lsb);
|
||||
}
|
||||
void VerilatedVcd::declArray(uint32_t code, uint32_t fidx, const char* name, bool array,
|
||||
int arraynum, int msb, int lsb) {
|
||||
declare(code, name, "wire", array, arraynum, false, true, msb, lsb);
|
||||
void VerilatedVcd::declArray(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind,
|
||||
VerilatedTraceSigType, bool array, int arraynum, int msb, int lsb) {
|
||||
declare(code, name, "wire", array, arraynum, true, msb, lsb);
|
||||
}
|
||||
void VerilatedVcd::declDouble(uint32_t code, uint32_t fidx, const char* name, bool array,
|
||||
int arraynum) {
|
||||
declare(code, name, "real", array, arraynum, false, false, 63, 0);
|
||||
void VerilatedVcd::declDouble(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind,
|
||||
VerilatedTraceSigType, bool array, int arraynum) {
|
||||
declare(code, name, "real", array, arraynum, false, 63, 0);
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@
|
|||
#include "verilated.h"
|
||||
#include "verilated_trace.h"
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
|
@ -51,7 +50,7 @@ private:
|
|||
bool m_isOpen = false; // True indicates open file
|
||||
std::string m_filename; // Filename we're writing to (if open)
|
||||
uint64_t m_rolloverSize = 0; // File size to rollover at
|
||||
int m_modDepth = 0; // Depth of module hierarchy
|
||||
unsigned m_indent = 0; // Indentation depth
|
||||
|
||||
char* m_wrBufp; // Output buffer
|
||||
char* m_wrFlushp; // Output buffer flush trigger location
|
||||
|
|
@ -62,8 +61,9 @@ private:
|
|||
|
||||
std::vector<char> m_suffixes; // VCD line end string codes + metadata
|
||||
|
||||
using NameMap = std::map<const std::string, const std::string>;
|
||||
NameMap* m_namemapp = nullptr; // List of names for the header
|
||||
// Prefixes to add to signal names/scope types
|
||||
std::vector<std::pair<std::string, VerilatedTracePrefixType>> m_prefixStack{
|
||||
{"", VerilatedTracePrefixType::SCOPE_MODULE}};
|
||||
|
||||
// Vector of free trace buffers as (pointer, size) pairs.
|
||||
std::vector<std::pair<char*, size_t>> m_freeBuffers;
|
||||
|
|
@ -79,18 +79,10 @@ private:
|
|||
void openNextImp(bool incFilename);
|
||||
void closePrev();
|
||||
void closeErr();
|
||||
void makeNameMap();
|
||||
void deleteNameMap();
|
||||
void printIndent(int level_change);
|
||||
void printStr(const char* str);
|
||||
void printQuad(uint64_t n);
|
||||
void printTime(uint64_t timeui);
|
||||
void declare(uint32_t code, const char* name, const char* wirep, bool array, int arraynum,
|
||||
bool tri, bool bussed, int msb, int lsb);
|
||||
|
||||
void dumpHeader();
|
||||
|
||||
static char* writeCode(char* writep, uint32_t code);
|
||||
bool bussed, int msb, int lsb);
|
||||
|
||||
// CONSTRUCTORS
|
||||
VL_UNCOPYABLE(VerilatedVcd);
|
||||
|
|
@ -140,15 +132,27 @@ public:
|
|||
//=========================================================================
|
||||
// Internal interface to Verilator generated code
|
||||
|
||||
void declEvent(uint32_t code, uint32_t fidx, const char* name, bool array, int arraynum);
|
||||
void declBit(uint32_t code, uint32_t fidx, const char* name, bool array, int arraynum);
|
||||
void declBus(uint32_t code, uint32_t fidx, const char* name, bool array, int arraynum, int msb,
|
||||
int lsb);
|
||||
void declQuad(uint32_t code, uint32_t fidx, const char* name, bool array, int arraynum,
|
||||
int msb, int lsb);
|
||||
void declArray(uint32_t code, uint32_t fidx, const char* name, bool array, int arraynum,
|
||||
int msb, int lsb);
|
||||
void declDouble(uint32_t code, uint32_t fidx, const char* name, bool array, int arraynum);
|
||||
void pushPrefix(const std::string&, VerilatedTracePrefixType);
|
||||
void popPrefix();
|
||||
|
||||
void declEvent(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind, VerilatedTraceSigType,
|
||||
bool array, int arraynum);
|
||||
void declBit(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind, VerilatedTraceSigType,
|
||||
bool array, int arraynum);
|
||||
void declBus(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind, VerilatedTraceSigType,
|
||||
bool array, int arraynum, int msb, int lsb);
|
||||
void declQuad(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind, VerilatedTraceSigType,
|
||||
bool array, int arraynum, int msb, int lsb);
|
||||
void declArray(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind, VerilatedTraceSigType,
|
||||
bool array, int arraynum, int msb, int lsb);
|
||||
void declDouble(uint32_t code, uint32_t fidx, const char* name, int dtypenum,
|
||||
VerilatedTraceSigDirection, VerilatedTraceSigKind, VerilatedTraceSigType,
|
||||
bool array, int arraynum);
|
||||
};
|
||||
|
||||
#ifndef DOXYGEN
|
||||
|
|
|
|||
98
src/V3Ast.h
98
src/V3Ast.h
|
|
@ -675,6 +675,39 @@ public:
|
|||
default: return false;
|
||||
}
|
||||
}
|
||||
|
||||
const char* traceSigType() const {
|
||||
// VerilatedTraceSigType to used in trace signal declaration
|
||||
static const char* const lut[] = {
|
||||
/* UNKNOWN: */ "", // Should not be traced
|
||||
/* BIT: */ "BIT",
|
||||
/* BYTE: */ "BYTE",
|
||||
/* CHANDLE: */ "",
|
||||
/* EVENT: */ "EVENT",
|
||||
/* INT: */ "INT",
|
||||
/* INTEGER: */ "INTEGER",
|
||||
/* LOGIC: */ "LOGIC",
|
||||
/* LONGINT: */ "LONGINT",
|
||||
/* DOUBLE: */ "DOUBLE",
|
||||
/* SHORTINT: */ "SHORTINT",
|
||||
/* TIME: */ "TIME",
|
||||
/* STRING: */ "",
|
||||
/* UNTYPED: */ "", // Should not be traced
|
||||
/* SCOPEPTR: */ "", // Should not be traced
|
||||
/* CHARPTR: */ "", // Should not be traced
|
||||
/* MTASKSTATE: */ "", // Should not be traced
|
||||
/* TRIGGERVEC: */ "", // Should not be traced
|
||||
/* DELAY_SCHEDULER: */ "", // Should not be traced
|
||||
/* TRIGGER_SCHEDULER: */ "", // Should not be traced
|
||||
/* DYNAMIC_TRIGGER_SCHEDULER: */ "", // Should not be traced
|
||||
/* FORK_SYNC: */ "", // Should not be traced
|
||||
/* PROCESS_REFERENCE: */ "", // Should not be traced
|
||||
/* UINT32: */ "BIT",
|
||||
/* UINT64: */ "BIT",
|
||||
/* LOGIC_IMPLICIT: */ "", // Should not be traced
|
||||
};
|
||||
return lut[m_e];
|
||||
}
|
||||
};
|
||||
constexpr bool operator==(const VBasicDTypeKwd& lhs, const VBasicDTypeKwd& rhs) VL_MT_SAFE {
|
||||
return lhs.m_e == rhs.m_e;
|
||||
|
|
@ -873,6 +906,32 @@ public:
|
|||
return (m_e == VAR || m_e == GPARAM || m_e == LPARAM || m_e == PORT || m_e == WIRE
|
||||
|| m_e == TRI0 || m_e == TRI1);
|
||||
}
|
||||
|
||||
const char* traceSigKind() const {
|
||||
// VerilatedTraceSigKind to used in trace signal declaration
|
||||
static const char* const lut[] = {
|
||||
/* UNKNOWN: */ "", // Should not be traced
|
||||
/* GPARAM: */ "PARAMETER",
|
||||
/* LPARAM: */ "PARAMETER",
|
||||
/* GENVAR: */ "PARAMETER",
|
||||
/* VAR: */ "VAR",
|
||||
/* SUPPLY0: */ "SUPPLY0",
|
||||
/* SUPPLY1: */ "SUPPLY1",
|
||||
/* WIRE: */ "WIRE",
|
||||
/* WREAL: */ "WIRE",
|
||||
/* TRIWIRE: */ "TRI",
|
||||
/* TRI0: */ "TRI0",
|
||||
/* TRI1: */ "TRI1",
|
||||
/* PORT: */ "WIRE",
|
||||
/* BLOCKTEMP: */ "VAR",
|
||||
/* MODULETEMP: */ "VAR",
|
||||
/* STMTTEMP: */ "VAR",
|
||||
/* XTEMP: */ "VAR",
|
||||
/* IFACEREF: */ "", // Should not be traced directly
|
||||
/* MEMBER: */ "VAR",
|
||||
};
|
||||
return lut[m_e];
|
||||
}
|
||||
};
|
||||
constexpr bool operator==(const VVarType& lhs, const VVarType& rhs) VL_MT_SAFE {
|
||||
return lhs.m_e == rhs.m_e;
|
||||
|
|
@ -1277,6 +1336,45 @@ inline std::ostream& operator<<(std::ostream& os, const VTraceType& rhs) {
|
|||
return os << rhs.ascii();
|
||||
}
|
||||
|
||||
//######################################################################
|
||||
|
||||
class VTracePrefixType final {
|
||||
public:
|
||||
enum en : uint8_t {
|
||||
// Note: Entries must match VerilatedTracePrefixType
|
||||
ARRAY_PACKED,
|
||||
ARRAY_UNPACKED,
|
||||
SCOPE_MODULE,
|
||||
SCOPE_INTERFACE,
|
||||
STRUCT_PACKED,
|
||||
STRUCT_UNPACKED,
|
||||
UNION_PACKED,
|
||||
};
|
||||
enum en m_e;
|
||||
// cppcheck-suppress noExplicitConstructor
|
||||
constexpr VTracePrefixType(en _e)
|
||||
: m_e{_e} {}
|
||||
constexpr operator en() const { return m_e; }
|
||||
const char* ascii() const {
|
||||
static const char* const names[]
|
||||
= {"ARRAY_PACKED", "ARRAY_UNPACKED", "SCOPE_MODULE", "SCOPE_INTERFACE",
|
||||
"STRUCT_PACKED", "STRUCT_UNPACKED", "UNION_PACKED"};
|
||||
return names[m_e];
|
||||
}
|
||||
};
|
||||
constexpr bool operator==(const VTracePrefixType& lhs, const VTracePrefixType& rhs) {
|
||||
return lhs.m_e == rhs.m_e;
|
||||
}
|
||||
constexpr bool operator==(const VTracePrefixType& lhs, VTracePrefixType::en rhs) {
|
||||
return lhs.m_e == rhs;
|
||||
}
|
||||
constexpr bool operator==(VTracePrefixType::en lhs, const VTracePrefixType& rhs) {
|
||||
return lhs == rhs.m_e;
|
||||
}
|
||||
inline std::ostream& operator<<(std::ostream& os, const VTracePrefixType& rhs) {
|
||||
return os << rhs.ascii();
|
||||
}
|
||||
|
||||
// ######################################################################
|
||||
|
||||
class VCastable final {
|
||||
|
|
|
|||
|
|
@ -773,7 +773,7 @@ class AstCell final : public AstNode {
|
|||
// @astgen op1 := pinsp : List[AstPin] // List of port assignments
|
||||
// @astgen op2 := paramsp : List[AstPin] // List of parameter assignments
|
||||
// @astgen op3 := rangep : Optional[AstRange] // Range for arrayed instances
|
||||
// @astgen op4 := intfRefsp : List[AstIntfRef] // List of interface references
|
||||
// @astgen op4 := intfRefsp : List[AstIntfRef] // List of interface references, for tracing
|
||||
FileLine* m_modNameFileline; // Where module the cell instances token was
|
||||
string m_name; // Cell name
|
||||
string m_origName; // Original name before dot addition
|
||||
|
|
@ -1673,7 +1673,6 @@ class AstVar final : public AstNode {
|
|||
VVarType m_varType; // Type of variable
|
||||
VDirection m_direction; // Direction input/output etc
|
||||
VDirection m_declDirection; // Declared direction input/output etc
|
||||
VBasicDTypeKwd m_declKwd; // Keyword at declaration time
|
||||
VLifetime m_lifetime; // Lifetime
|
||||
VVarAttrClocker m_attrClocker;
|
||||
MTaskIdSet m_mtaskIds; // MTaskID's that read or write this var
|
||||
|
|
@ -1780,11 +1779,6 @@ public:
|
|||
combineType(type);
|
||||
childDTypep(dtp); // Only for parser
|
||||
dtypep(nullptr); // V3Width will resolve
|
||||
if (dtp->basicp()) {
|
||||
m_declKwd = dtp->basicp()->keyword();
|
||||
} else {
|
||||
m_declKwd = VBasicDTypeKwd::LOGIC;
|
||||
}
|
||||
}
|
||||
AstVar(FileLine* fl, VVarType type, const string& name, AstNodeDType* dtp)
|
||||
: ASTGEN_SUPER_Var(fl)
|
||||
|
|
@ -1794,11 +1788,6 @@ public:
|
|||
combineType(type);
|
||||
UASSERT(dtp, "AstVar created with no dtype");
|
||||
dtypep(dtp);
|
||||
if (dtp->basicp()) {
|
||||
m_declKwd = dtp->basicp()->keyword();
|
||||
} else {
|
||||
m_declKwd = VBasicDTypeKwd::LOGIC;
|
||||
}
|
||||
}
|
||||
AstVar(FileLine* fl, VVarType type, const string& name, VFlagLogicPacked, int wantwidth)
|
||||
: ASTGEN_SUPER_Var(fl)
|
||||
|
|
@ -1807,7 +1796,6 @@ public:
|
|||
init();
|
||||
combineType(type);
|
||||
dtypeSetLogicSized(wantwidth, VSigning::UNSIGNED);
|
||||
m_declKwd = VBasicDTypeKwd::LOGIC;
|
||||
}
|
||||
AstVar(FileLine* fl, VVarType type, const string& name, VFlagBitPacked, int wantwidth)
|
||||
: ASTGEN_SUPER_Var(fl)
|
||||
|
|
@ -1816,7 +1804,6 @@ public:
|
|||
init();
|
||||
combineType(type);
|
||||
dtypeSetBitSized(wantwidth, VSigning::UNSIGNED);
|
||||
m_declKwd = VBasicDTypeKwd::BIT;
|
||||
}
|
||||
AstVar(FileLine* fl, VVarType type, const string& name, AstVar* examplep)
|
||||
: ASTGEN_SUPER_Var(fl)
|
||||
|
|
@ -1826,7 +1813,6 @@ public:
|
|||
combineType(type);
|
||||
if (examplep->childDTypep()) childDTypep(examplep->childDTypep()->cloneTree(true));
|
||||
dtypeFrom(examplep);
|
||||
m_declKwd = examplep->declKwd();
|
||||
}
|
||||
ASTGEN_MEMBERS_AstVar;
|
||||
void dump(std::ostream& str) const override;
|
||||
|
|
@ -1854,7 +1840,6 @@ public:
|
|||
m_tristate = false;
|
||||
m_direction = VDirection::INPUT;
|
||||
}
|
||||
VBasicDTypeKwd declKwd() const { return m_declKwd; }
|
||||
string scType() const; // Return SysC type: bool, uint32_t, uint64_t, sc_bv
|
||||
// Return C /*public*/ type for argument: bool, uint32_t, uint64_t, etc.
|
||||
string cPubArgType(bool named, bool forReturn) const;
|
||||
|
|
@ -3199,7 +3184,6 @@ private:
|
|||
const VNumRange m_arrayRange; // Property of var the trace details
|
||||
const uint32_t m_codeInc; // Code increment
|
||||
const VVarType m_varType; // Type of variable (for localparam vs. param)
|
||||
const VBasicDTypeKwd m_declKwd; // Keyword at declaration time
|
||||
const VDirection m_declDirection; // Declared direction input/output etc
|
||||
public:
|
||||
AstTraceDecl(FileLine* fl, const string& showname,
|
||||
|
|
@ -3213,7 +3197,6 @@ public:
|
|||
((arrayRange.ranged() ? arrayRange.elements() : 1) * valuep->dtypep()->widthWords()
|
||||
* (VL_EDATASIZE / 32))) // A code is always 32-bits
|
||||
, m_varType{varp->varType()}
|
||||
, m_declKwd{varp->declKwd()}
|
||||
, m_declDirection{varp->declDirection()} {
|
||||
dtypeFrom(valuep);
|
||||
this->valuep(valuep);
|
||||
|
|
@ -3235,7 +3218,6 @@ public:
|
|||
const VNumRange& bitRange() const { return m_bitRange; }
|
||||
const VNumRange& arrayRange() const { return m_arrayRange; }
|
||||
VVarType varType() const { return m_varType; }
|
||||
VBasicDTypeKwd declKwd() const { return m_declKwd; }
|
||||
VDirection declDirection() const { return m_declDirection; }
|
||||
};
|
||||
class AstTraceInc final : public AstNodeStmt {
|
||||
|
|
@ -3280,25 +3262,25 @@ public:
|
|||
VTraceType traceType() const { return m_traceType; }
|
||||
uint32_t baseCode() const { return m_baseCode; }
|
||||
};
|
||||
class AstTracePopNamePrefix final : public AstNodeStmt {
|
||||
const unsigned m_count; // How many levels to pop
|
||||
class AstTracePopPrefix final : public AstNodeStmt {
|
||||
public:
|
||||
AstTracePopNamePrefix(FileLine* fl, unsigned count)
|
||||
: ASTGEN_SUPER_TracePopNamePrefix(fl)
|
||||
, m_count{count} {}
|
||||
ASTGEN_MEMBERS_AstTracePopNamePrefix;
|
||||
AstTracePopPrefix(FileLine* fl)
|
||||
: ASTGEN_SUPER_TracePopPrefix(fl) {}
|
||||
ASTGEN_MEMBERS_AstTracePopPrefix;
|
||||
bool same(const AstNode* samep) const override { return false; }
|
||||
unsigned count() const { return m_count; }
|
||||
};
|
||||
class AstTracePushNamePrefix final : public AstNodeStmt {
|
||||
class AstTracePushPrefix final : public AstNodeStmt {
|
||||
const string m_prefix; // Prefix to add to signal names
|
||||
const VTracePrefixType m_prefixType; // Type of prefix being pushed
|
||||
public:
|
||||
AstTracePushNamePrefix(FileLine* fl, const string& prefix)
|
||||
: ASTGEN_SUPER_TracePushNamePrefix(fl)
|
||||
, m_prefix{prefix} {}
|
||||
ASTGEN_MEMBERS_AstTracePushNamePrefix;
|
||||
AstTracePushPrefix(FileLine* fl, const string& prefix, VTracePrefixType prefixType)
|
||||
: ASTGEN_SUPER_TracePushPrefix(fl)
|
||||
, m_prefix{prefix}
|
||||
, m_prefixType{prefixType} {}
|
||||
ASTGEN_MEMBERS_AstTracePushPrefix;
|
||||
bool same(const AstNode* samep) const override { return false; }
|
||||
string prefix() const { return m_prefix; }
|
||||
VTracePrefixType prefixType() const { return m_prefixType; }
|
||||
};
|
||||
class AstUCStmt final : public AstNodeStmt {
|
||||
// User $c statement
|
||||
|
|
|
|||
|
|
@ -633,97 +633,67 @@ class EmitCTrace final : EmitCFunc {
|
|||
|
||||
void emitTraceInitOne(AstTraceDecl* nodep, int enumNum) {
|
||||
if (nodep->dtypep()->basicp()->isDouble()) {
|
||||
puts("tracep->declDouble");
|
||||
puts("tracep->declDouble(");
|
||||
} else if (nodep->isWide()) {
|
||||
puts("tracep->declArray");
|
||||
puts("tracep->declArray(");
|
||||
} else if (nodep->isQuad()) {
|
||||
puts("tracep->declQuad");
|
||||
puts("tracep->declQuad(");
|
||||
} else if (nodep->bitRange().ranged()) {
|
||||
puts("tracep->declBus");
|
||||
puts("tracep->declBus(");
|
||||
} else if (nodep->dtypep()->basicp()->isEvent()) {
|
||||
puts("tracep->declEvent");
|
||||
puts("tracep->declEvent(");
|
||||
} else {
|
||||
puts("tracep->declBit");
|
||||
puts("tracep->declBit(");
|
||||
}
|
||||
|
||||
puts("(c+" + cvtToStr(nodep->code()));
|
||||
// Code
|
||||
puts("c+" + cvtToStr(nodep->code()));
|
||||
if (nodep->arrayRange().ranged()) puts("+i*" + cvtToStr(nodep->widthWords()));
|
||||
|
||||
// Function index
|
||||
puts(",");
|
||||
puts(cvtToStr(nodep->fidx()));
|
||||
|
||||
// Name
|
||||
puts(",");
|
||||
putsQuoted(VIdProtect::protectWordsIf(nodep->showname(), nodep->protect()));
|
||||
|
||||
// Enum number
|
||||
puts("," + cvtToStr(enumNum));
|
||||
|
||||
// Direction
|
||||
if (v3Global.opt.traceFormat().fst()) {
|
||||
puts("," + cvtToStr(enumNum));
|
||||
// fstVarDir
|
||||
if (nodep->declDirection().isInoutish()) {
|
||||
puts(",FST_VD_INOUT");
|
||||
} else if (nodep->declDirection().isWritable()) {
|
||||
puts(",FST_VD_OUTPUT");
|
||||
} else if (nodep->declDirection().isNonOutput()) {
|
||||
puts(",FST_VD_INPUT");
|
||||
} else {
|
||||
puts(", FST_VD_IMPLICIT");
|
||||
}
|
||||
//
|
||||
// fstVarType
|
||||
const VVarType vartype = nodep->varType();
|
||||
const VBasicDTypeKwd kwd = nodep->declKwd();
|
||||
string fstvt;
|
||||
// Doubles have special decoding properties, so must indicate if a double
|
||||
if (nodep->dtypep()->basicp()->isDouble()) {
|
||||
if (vartype.isParam()) {
|
||||
fstvt = "FST_VT_VCD_REAL_PARAMETER";
|
||||
} else {
|
||||
fstvt = "FST_VT_VCD_REAL";
|
||||
}
|
||||
}
|
||||
// clang-format off
|
||||
else if (vartype == VVarType::GPARAM) { fstvt = "FST_VT_VCD_PARAMETER"; }
|
||||
else if (vartype == VVarType::LPARAM) { fstvt = "FST_VT_VCD_PARAMETER"; }
|
||||
else if (vartype == VVarType::SUPPLY0) { fstvt = "FST_VT_VCD_SUPPLY0"; }
|
||||
else if (vartype == VVarType::SUPPLY1) { fstvt = "FST_VT_VCD_SUPPLY1"; }
|
||||
else if (vartype == VVarType::TRI0) { fstvt = "FST_VT_VCD_TRI0"; }
|
||||
else if (vartype == VVarType::TRI1) { fstvt = "FST_VT_VCD_TRI1"; }
|
||||
else if (vartype == VVarType::TRIWIRE) { fstvt = "FST_VT_VCD_TRI"; }
|
||||
else if (vartype == VVarType::WIRE) { fstvt = "FST_VT_VCD_WIRE"; }
|
||||
else if (vartype == VVarType::PORT) { fstvt = "FST_VT_VCD_WIRE"; }
|
||||
//
|
||||
else if (kwd == VBasicDTypeKwd::INTEGER) { fstvt = "FST_VT_VCD_INTEGER"; }
|
||||
else if (kwd == VBasicDTypeKwd::BIT) { fstvt = "FST_VT_SV_BIT"; }
|
||||
else if (kwd == VBasicDTypeKwd::LOGIC) { fstvt = "FST_VT_SV_LOGIC"; }
|
||||
else if (kwd == VBasicDTypeKwd::INT) { fstvt = "FST_VT_SV_INT"; }
|
||||
else if (kwd == VBasicDTypeKwd::SHORTINT) { fstvt = "FST_VT_SV_SHORTINT"; }
|
||||
else if (kwd == VBasicDTypeKwd::LONGINT) { fstvt = "FST_VT_SV_LONGINT"; }
|
||||
else if (kwd == VBasicDTypeKwd::BYTE) { fstvt = "FST_VT_SV_BYTE"; }
|
||||
else if (kwd == VBasicDTypeKwd::EVENT) { fstvt = "FST_VT_VCD_EVENT"; }
|
||||
else { fstvt = "FST_VT_SV_BIT"; }
|
||||
// clang-format on
|
||||
//
|
||||
// Not currently supported
|
||||
// FST_VT_VCD_PORT
|
||||
// FST_VT_VCD_SHORTREAL
|
||||
// FST_VT_VCD_REALTIME
|
||||
// FST_VT_VCD_SPARRAY
|
||||
// FST_VT_VCD_TRIAND
|
||||
// FST_VT_VCD_TRIOR
|
||||
// FST_VT_VCD_TRIREG
|
||||
// FST_VT_VCD_WAND
|
||||
// FST_VT_VCD_WOR
|
||||
// FST_VT_SV_ENUM
|
||||
// FST_VT_GEN_STRING
|
||||
puts("," + fstvt);
|
||||
if (nodep->declDirection().isInoutish()) {
|
||||
puts(", VerilatedTraceSigDirection::INOUT");
|
||||
} else if (nodep->declDirection().isWritable()) {
|
||||
puts(", VerilatedTraceSigDirection::OUTPUT");
|
||||
} else if (nodep->declDirection().isNonOutput()) {
|
||||
puts(", VerilatedTraceSigDirection::INPUT");
|
||||
} else {
|
||||
puts(", VerilatedTraceSigDirection::NONE");
|
||||
}
|
||||
// Range
|
||||
|
||||
// Kind
|
||||
puts(", VerilatedTraceSigKind::");
|
||||
puts(nodep->varType().traceSigKind());
|
||||
|
||||
// Type
|
||||
puts(", VerilatedTraceSigType::");
|
||||
puts(nodep->dtypep()->basicp()->keyword().traceSigType());
|
||||
|
||||
// Array range
|
||||
if (nodep->arrayRange().ranged()) {
|
||||
puts(", true,(i+" + cvtToStr(nodep->arrayRange().lo()) + ")");
|
||||
} else {
|
||||
puts(", false,-1");
|
||||
}
|
||||
|
||||
// Bit range
|
||||
if (!nodep->dtypep()->basicp()->isDouble() && nodep->bitRange().ranged()) {
|
||||
puts(", " + cvtToStr(nodep->bitRange().left()) + ","
|
||||
+ cvtToStr(nodep->bitRange().right()));
|
||||
}
|
||||
|
||||
//
|
||||
puts(");");
|
||||
}
|
||||
|
||||
|
|
@ -861,15 +831,15 @@ class EmitCTrace final : EmitCFunc {
|
|||
|
||||
EmitCFunc::visit(nodep);
|
||||
}
|
||||
void visit(AstTracePushNamePrefix* nodep) override {
|
||||
puts("tracep->pushNamePrefix(");
|
||||
void visit(AstTracePushPrefix* nodep) override {
|
||||
puts("tracep->pushPrefix(");
|
||||
putsQuoted(VIdProtect::protectWordsIf(nodep->prefix(), nodep->protect()));
|
||||
puts(", VerilatedTracePrefixType::");
|
||||
puts(nodep->prefixType().ascii());
|
||||
puts(");\n");
|
||||
}
|
||||
void visit(AstTracePopNamePrefix* nodep) override { //
|
||||
puts("tracep->popNamePrefix(");
|
||||
puts(cvtToStr(nodep->count()));
|
||||
puts(");\n");
|
||||
void visit(AstTracePopPrefix* nodep) override { //
|
||||
puts("tracep->popPrefix();\n");
|
||||
}
|
||||
void visit(AstTraceDecl* nodep) override {
|
||||
const int enumNum = emitTraceDeclDType(nodep->dtypep());
|
||||
|
|
|
|||
|
|
@ -517,11 +517,10 @@ class EmitCModel final : public EmitCFunc {
|
|||
"0.\");\n");
|
||||
puts("}\n");
|
||||
puts("vlSymsp->__Vm_baseCode = code;\n");
|
||||
puts("tracep->scopeEscape(' ');\n");
|
||||
puts("tracep->pushNamePrefix(std::string{vlSymsp->name()} + ' ');\n");
|
||||
puts("tracep->pushPrefix(std::string{vlSymsp->name()}, "
|
||||
"VerilatedTracePrefixType::SCOPE_MODULE);\n");
|
||||
puts(topModNameProtected + "__" + protect("trace_init_top") + "(vlSelf, tracep);\n");
|
||||
puts("tracep->popNamePrefix();\n");
|
||||
puts("tracep->scopeEscape('.');\n"); // Restore so later traced files won't break
|
||||
puts("tracep->popPrefix();\n");
|
||||
puts("}\n");
|
||||
|
||||
// Forward declaration
|
||||
|
|
|
|||
|
|
@ -51,30 +51,25 @@ private:
|
|||
m_scope += "__DOT__" + nodep->name();
|
||||
}
|
||||
|
||||
if (VN_IS(nodep->modp(), Iface)) {
|
||||
nodep->addIntfRefsp(new AstIntfRef{nodep->fileline(), m_scope});
|
||||
}
|
||||
{
|
||||
AstNodeModule* const modp = nodep->modp();
|
||||
// Pass Cell pointers down to the next module
|
||||
for (AstPin* pinp = nodep->pinsp(); pinp; pinp = VN_AS(pinp->nextp(), Pin)) {
|
||||
AstVar* const varp = pinp->modVarp();
|
||||
const AstVarRef* const varrefp = VN_CAST(pinp->exprp(), VarRef);
|
||||
if (!varrefp) continue;
|
||||
const AstVar* const fromVarp = varrefp->varp();
|
||||
const AstIfaceRefDType* const irdtp = VN_CAST(fromVarp->dtypep(), IfaceRefDType);
|
||||
if (!irdtp) continue;
|
||||
AstNodeModule* const modp = nodep->modp();
|
||||
// Pass Cell pointers down to the next module
|
||||
for (AstPin* pinp = nodep->pinsp(); pinp; pinp = VN_AS(pinp->nextp(), Pin)) {
|
||||
AstVar* const varp = pinp->modVarp();
|
||||
const AstVarRef* const varrefp = VN_CAST(pinp->exprp(), VarRef);
|
||||
if (!varrefp) continue;
|
||||
const AstVar* const fromVarp = varrefp->varp();
|
||||
const AstIfaceRefDType* const irdtp = VN_CAST(fromVarp->dtypep(), IfaceRefDType);
|
||||
if (!irdtp) continue;
|
||||
|
||||
AstCell* cellp;
|
||||
if ((cellp = VN_CAST(fromVarp->user1p(), Cell)) || (cellp = irdtp->cellp())) {
|
||||
varp->user1p(cellp);
|
||||
const string alias = m_scope + "__DOT__" + pinp->name();
|
||||
cellp->addIntfRefsp(new AstIntfRef{pinp->fileline(), alias});
|
||||
}
|
||||
AstCell* cellp;
|
||||
if ((cellp = VN_CAST(fromVarp->user1p(), Cell)) || (cellp = irdtp->cellp())) {
|
||||
varp->user1p(cellp);
|
||||
const string alias = m_scope + "__DOT__" + pinp->name();
|
||||
cellp->addIntfRefsp(new AstIntfRef{pinp->fileline(), alias});
|
||||
}
|
||||
|
||||
iterateChildren(modp);
|
||||
}
|
||||
|
||||
iterateChildren(modp);
|
||||
}
|
||||
void visit(AstAssignVarScope* nodep) override {
|
||||
// Reference
|
||||
|
|
|
|||
|
|
@ -24,14 +24,13 @@
|
|||
|
||||
#include "V3TraceDecl.h"
|
||||
|
||||
#include "verilated_trace_defs.h" // For VLT_TRACE_SCOPE_*
|
||||
|
||||
#include "V3Config.h"
|
||||
#include "V3EmitCBase.h"
|
||||
#include "V3Stats.h"
|
||||
|
||||
#include <functional>
|
||||
#include <limits>
|
||||
#include <tuple>
|
||||
#include <vector>
|
||||
|
||||
VL_DEFINE_DEBUG_FUNCTIONS;
|
||||
|
|
@ -59,7 +58,7 @@ public:
|
|||
++toPop;
|
||||
m_stack.pop_back();
|
||||
}
|
||||
if (toPop) m_emit(new AstTracePopNamePrefix{m_flp, toPop});
|
||||
while (toPop--) m_emit(new AstTracePopPrefix{m_flp});
|
||||
// Move down, one path element at a time
|
||||
if (newPath != m_stack.back()) {
|
||||
const string& extraPrefix = newPath.substr(m_stack.back().size());
|
||||
|
|
@ -67,14 +66,14 @@ public:
|
|||
while (true) {
|
||||
const size_t end = extraPrefix.find(SEPARATOR, begin);
|
||||
if (end == string::npos) break;
|
||||
const string& extra = extraPrefix.substr(begin, end + 1 - begin);
|
||||
m_emit(new AstTracePushNamePrefix{m_flp, extra});
|
||||
m_stack.push_back(m_stack.back() + extra);
|
||||
const string& extra = extraPrefix.substr(begin, end - begin);
|
||||
m_emit(new AstTracePushPrefix{m_flp, extra, VTracePrefixType::SCOPE_MODULE});
|
||||
m_stack.push_back(m_stack.back() + extra + SEPARATOR);
|
||||
begin = end + 1;
|
||||
}
|
||||
const string& extra = extraPrefix.substr(begin);
|
||||
if (!extra.empty()) {
|
||||
m_emit(new AstTracePushNamePrefix{m_flp, extra + SEPARATOR});
|
||||
m_emit(new AstTracePushPrefix{m_flp, extra, VTracePrefixType::SCOPE_MODULE});
|
||||
m_stack.push_back(m_stack.back() + extra);
|
||||
}
|
||||
}
|
||||
|
|
@ -82,8 +81,8 @@ public:
|
|||
|
||||
// Emit Prefix adjustments to unwind the path back to its original state
|
||||
void unwind() {
|
||||
const unsigned toPop = m_stack.size() - 1;
|
||||
if (toPop) m_emit(new AstTracePopNamePrefix{m_flp, toPop});
|
||||
unsigned toPop = m_stack.size() - 1;
|
||||
while (toPop--) m_emit(new AstTracePopPrefix{m_flp});
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -105,25 +104,58 @@ private:
|
|||
const int m_funcSizeLimit // Maximum size of a function
|
||||
= v3Global.opt.outputSplitCTrace() ? v3Global.opt.outputSplitCTrace()
|
||||
: std::numeric_limits<int>::max();
|
||||
// Trace init sub functions to invoke for path names in the hierarchy. Note path names and
|
||||
// AstScope instances are not one to one due to the presence of AstIntfRef.
|
||||
std::map<std::string, std::vector<AstCFunc*>> m_scopeSubFuncps;
|
||||
// Trace init functions to for each scope
|
||||
std::unordered_map<const AstScope*, std::vector<AstCFunc*>> m_scopeInitFuncps;
|
||||
// Map from hierarchical scope name to the corresponding AstScope. Note that
|
||||
// this is a many-to-one mapping for interfaces, due to interface refs.
|
||||
std::unordered_map<std::string, const AstScope*> m_pathToScopep;
|
||||
// Cell initialization placeholders:
|
||||
// (parent scope, cell under parent scope, statement)
|
||||
std::vector<std::tuple<AstScope*, AstCell*, AstNodeStmt*>> m_cellInitPlaceholders;
|
||||
// Interface refs initialization placeholders:
|
||||
// (Interface ref variable, placeholder statement)
|
||||
std::vector<std::tuple<AstVarScope*, AstNodeStmt*>> m_ifaceRefInitPlaceholders;
|
||||
|
||||
struct Signal final {
|
||||
AstVarScope* m_vscp; // AstVarScope being traced (non const to allow copy during sorting)
|
||||
std::string m_path; // Path to enclosing module in hierarchy
|
||||
std::string m_name; // Name of signal
|
||||
explicit Signal(AstVarScope* vscp)
|
||||
: m_vscp{vscp} {
|
||||
// Compute path in hierarchy and signal name
|
||||
const string& vcdName = AstNode::vcdName(vscp->varp()->name());
|
||||
// A trace entry under a scope is either:
|
||||
// - A variable (including interface references)
|
||||
// - A sub scope (stored as the cell corresponding to the sub scope)
|
||||
// Note: members are non-const to allow copy during sorting
|
||||
class TraceEntry final {
|
||||
// AstVarScope under scope being traced
|
||||
AstVarScope* m_vscp{nullptr};
|
||||
// Sub scope (as AstCell) under scope being traced
|
||||
AstCell* m_cellp{nullptr};
|
||||
// Path to enclosing module in original hierarchy (non-trivail due to inlining)
|
||||
std::string m_path;
|
||||
// Name of signal/subscope
|
||||
std::string m_name;
|
||||
|
||||
void init(const std::string& name) {
|
||||
// Compute path in hierarchy and item name
|
||||
const std::string& vcdName = AstNode::vcdName(name);
|
||||
const size_t pos = vcdName.rfind(' ');
|
||||
const size_t pathLen = pos == string::npos ? 0 : pos + 1;
|
||||
const size_t pathLen = pos == std::string::npos ? 0 : pos + 1;
|
||||
m_path = vcdName.substr(0, pathLen);
|
||||
m_name = vcdName.substr(pathLen);
|
||||
}
|
||||
|
||||
public:
|
||||
explicit TraceEntry(AstVarScope* vscp)
|
||||
: m_vscp{vscp} {
|
||||
init(vscp->varp()->name());
|
||||
}
|
||||
explicit TraceEntry(AstCell* cellp)
|
||||
: m_cellp{cellp} {
|
||||
init(cellp->name());
|
||||
}
|
||||
|
||||
AstVarScope* vscp() const { return m_vscp; }
|
||||
AstCell* cellp() const { return m_cellp; }
|
||||
const std::string& path() const { return m_path; }
|
||||
const std::string& name() const { return m_name; }
|
||||
FileLine& fileline() const { return m_vscp ? *m_vscp->fileline() : *m_cellp->fileline(); }
|
||||
};
|
||||
std::vector<Signal> m_signals; // Signals under current scope
|
||||
std::vector<TraceEntry> m_entries; // Trace entries under current scope
|
||||
AstVarScope* m_traVscp = nullptr; // Current AstVarScope we are constructing AstTraceDecls for
|
||||
AstNodeExpr* m_traValuep = nullptr; // Value expression for current signal
|
||||
string m_traName; // Name component for current signal
|
||||
|
|
@ -192,35 +224,6 @@ private:
|
|||
m_subFuncSize += stmtp->nodeCount();
|
||||
}
|
||||
|
||||
std::string getScopeChar(VltTraceScope sct) {
|
||||
if (v3Global.opt.traceFormat().fst()) {
|
||||
return std::string(1, static_cast<char>(0x80 + sct));
|
||||
} else {
|
||||
return std::string();
|
||||
}
|
||||
}
|
||||
|
||||
std::string addAboveInterface(const std::string& scopeName) {
|
||||
std::string out;
|
||||
// Hierarchical interfaces didn't know if interface vs module
|
||||
// above them. so convert a scope string to have the interface character.
|
||||
// Uses list of scopes to see what's an interface above.
|
||||
size_t begin = 0;
|
||||
while (true) {
|
||||
const size_t end = scopeName.find(' ', begin);
|
||||
if (end == string::npos) break;
|
||||
const string& extra = scopeName.substr(begin, end - begin);
|
||||
out += extra;
|
||||
if (m_scopeSubFuncps.count(out + getScopeChar(VLT_TRACE_SCOPE_INTERFACE) + " ")) {
|
||||
out += getScopeChar(VLT_TRACE_SCOPE_INTERFACE) + " ";
|
||||
} else {
|
||||
out += " ";
|
||||
}
|
||||
begin = end + 1;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
void addTraceDecl(const VNumRange& arrayRange,
|
||||
int widthOverride) { // If !=0, is packed struct/array where basicp size
|
||||
// misreflects one element
|
||||
|
|
@ -240,97 +243,202 @@ private:
|
|||
++m_statIgnSigs;
|
||||
std::string cmt = std::string{"Tracing: "} + m_traName + " // Ignored: " + why;
|
||||
if (debug() > 3 && m_traVscp) std::cout << "- " << m_traVscp->fileline() << cmt << endl;
|
||||
addToSubFunc(new AstComment{m_traVscp->fileline(), cmt, true});
|
||||
}
|
||||
|
||||
void fixupPlaceholder(const std::string& path, AstNodeStmt* placeholderp) {
|
||||
// Find the scope for the path. As we are working based on cell names,
|
||||
// it is possible there is no corresponding scope (e.g.: for an empty
|
||||
// module).
|
||||
const auto it = m_pathToScopep.find(path);
|
||||
if (it != m_pathToScopep.end()) {
|
||||
const AstScope* const scopep = it->second;
|
||||
FileLine* const flp = placeholderp->fileline();
|
||||
|
||||
// Pick up the last path element. The prefixes have already been pushed
|
||||
// when building the initialization functions
|
||||
const size_t pos = path.rfind('.');
|
||||
const std::string name = path.substr(pos == string::npos ? 0 : pos + 1);
|
||||
|
||||
// Compute the type of the scope beign fixed up
|
||||
AstNodeModule* const modp = scopep->aboveCellp()->modp();
|
||||
const VTracePrefixType scopeType = VN_IS(modp, Iface)
|
||||
? VTracePrefixType::SCOPE_INTERFACE
|
||||
: VTracePrefixType::SCOPE_MODULE;
|
||||
|
||||
// Push the scope prefix
|
||||
AstNodeStmt* const pushp = new AstTracePushPrefix{flp, name, scopeType};
|
||||
|
||||
// Call the initialization functions for the scope
|
||||
for (AstCFunc* const subFuncp : m_scopeInitFuncps.at(scopep)) {
|
||||
AstCCall* const callp = new AstCCall{flp, subFuncp};
|
||||
callp->dtypeSetVoid();
|
||||
callp->argTypes("tracep");
|
||||
pushp->addNext(callp->makeStmt());
|
||||
}
|
||||
|
||||
// Pop the scope prefix
|
||||
pushp->addNext(new AstTracePopPrefix{flp});
|
||||
|
||||
// Add after the placeholder
|
||||
placeholderp->addNextHere(pushp);
|
||||
}
|
||||
// Delete the placeholder
|
||||
placeholderp->unlinkFrBack();
|
||||
VL_DO_DANGLING(placeholderp->deleteTree(), placeholderp);
|
||||
}
|
||||
|
||||
void fixupPlaceholders() {
|
||||
// Fix up cell initialization placehodlers
|
||||
for (const auto& item : m_cellInitPlaceholders) {
|
||||
const AstScope* const parentp = std::get<0>(item);
|
||||
const AstCell* const cellp = std::get<1>(item);
|
||||
AstNodeStmt* const placeholderp = std::get<2>(item);
|
||||
const std::string path = AstNode::prettyName(parentp->name() + "." + cellp->name());
|
||||
fixupPlaceholder(path, placeholderp);
|
||||
}
|
||||
|
||||
// Fix up interface reference initialization placeholders
|
||||
for (const auto& item : m_ifaceRefInitPlaceholders) {
|
||||
const AstVarScope* const vscp = std::get<0>(item);
|
||||
AstNodeStmt* const placeholderp = std::get<1>(item);
|
||||
const std::string path = vscp->prettyName();
|
||||
fixupPlaceholder(path, placeholderp);
|
||||
}
|
||||
}
|
||||
|
||||
void removeRedundantPrefixPushPop() {
|
||||
for (const auto& pair : m_scopeInitFuncps) {
|
||||
for (AstCFunc* const funcp : pair.second) {
|
||||
AstNode* prevp = nullptr;
|
||||
AstNode* currp = funcp->stmtsp();
|
||||
while (true) {
|
||||
AstNode* const nextp = currp->nextp();
|
||||
if (VN_IS(prevp, TracePushPrefix) && VN_IS(currp, TracePopPrefix)) {
|
||||
VL_DO_DANGLING(prevp->unlinkFrBack()->deleteTree(), prevp);
|
||||
VL_DO_DANGLING(currp->unlinkFrBack()->deleteTree(), currp);
|
||||
}
|
||||
if (!nextp) break;
|
||||
prevp = nextp->backp();
|
||||
currp = nextp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// VISITORS
|
||||
void visit(AstScope* nodep) override {
|
||||
UASSERT_OBJ(!m_currScopep, nodep, "Should not nest");
|
||||
UASSERT_OBJ(m_subFuncps.empty(), nodep, "Should not nest");
|
||||
UASSERT_OBJ(m_signals.empty(), nodep, "Should not nest");
|
||||
UASSERT_OBJ(m_entries.empty(), nodep, "Should not nest");
|
||||
UASSERT_OBJ(!m_traVscp, nodep, "Should not nest");
|
||||
UASSERT_OBJ(!m_traValuep, nodep, "Should not nest");
|
||||
UASSERT_OBJ(m_traName.empty(), nodep, "Should not nest");
|
||||
|
||||
VL_RESTORER(m_currScopep);
|
||||
m_currScopep = nodep;
|
||||
|
||||
// Gather all signals under this AstScope
|
||||
// Gather signals under this scope
|
||||
iterateChildrenConst(nodep);
|
||||
|
||||
// If nothing to trace in this scope, then job done
|
||||
if (m_signals.empty()) return;
|
||||
|
||||
// Sort signals, first by enclosing instance, then by source location, then by name
|
||||
std::stable_sort(m_signals.begin(), m_signals.end(), [](const Signal& a, const Signal& b) {
|
||||
if (const int cmp = a.m_path.compare(b.m_path)) return cmp < 0;
|
||||
const FileLine* const aflp = a.m_vscp->fileline();
|
||||
const FileLine* const bflp = b.m_vscp->fileline();
|
||||
if (const int cmp = aflp->operatorCompare(*bflp)) return cmp < 0;
|
||||
return a.m_name < b.m_name;
|
||||
});
|
||||
|
||||
// Build trace initialization functions for this AstScope
|
||||
FileLine* const flp = nodep->fileline();
|
||||
PathAdjustor pathAdjustor{flp, [&](AstNodeStmt* stmtp) { addToSubFunc(stmtp); }};
|
||||
for (const Signal& signal : m_signals) {
|
||||
// Adjust name prefix based on path in hierarchy
|
||||
pathAdjustor.adjust(signal.m_path);
|
||||
|
||||
// Build AstTraceDecl for this signal
|
||||
m_traVscp = signal.m_vscp;
|
||||
m_traName = signal.m_name;
|
||||
if (const char* const ignoreReasonp = vscIgnoreTrace(m_traVscp)) {
|
||||
addIgnore(ignoreReasonp);
|
||||
} else {
|
||||
++m_statSigs;
|
||||
m_traValuep = new AstVarRef{m_traVscp->fileline(), m_traVscp, VAccess::READ};
|
||||
// Recurse into data type of the signal. The visit methods will add AstTraceDecls.
|
||||
iterate(m_traVscp->varp()->dtypep()->skipRefToEnump());
|
||||
// Cleanup
|
||||
if (m_traValuep) VL_DO_CLEAR(m_traValuep->deleteTree(), m_traValuep = nullptr);
|
||||
}
|
||||
// Gather cells under this scope
|
||||
for (AstNode* stmtp = nodep->modp()->stmtsp(); stmtp; stmtp = stmtp->nextp()) {
|
||||
if (AstCell* const cellp = VN_CAST(stmtp, Cell)) { m_entries.emplace_back(cellp); }
|
||||
}
|
||||
pathAdjustor.unwind();
|
||||
m_traVscp = nullptr;
|
||||
m_traName.clear();
|
||||
UASSERT_OBJ(!m_traValuep, nodep, "Should have been deleted");
|
||||
m_signals.clear();
|
||||
|
||||
// Add sub functions to m_scopeSubFuncps
|
||||
if (!m_entries.empty()) {
|
||||
// Sort trace entries, first by enclosing instance (necessary for
|
||||
// single traversal of hierarchy during initialization), then by
|
||||
// source location, then by name.
|
||||
std::stable_sort(m_entries.begin(), m_entries.end(),
|
||||
[](const TraceEntry& a, const TraceEntry& b) {
|
||||
if (const int cmp = a.path().compare(b.path())) return cmp < 0;
|
||||
if (const int cmp = a.fileline().operatorCompare(b.fileline()))
|
||||
return cmp < 0;
|
||||
return a.name() < b.name();
|
||||
});
|
||||
|
||||
// Build trace initialization functions for this AstScope
|
||||
FileLine* const flp = nodep->fileline();
|
||||
PathAdjustor pathAdjustor{flp, [&](AstNodeStmt* stmtp) { addToSubFunc(stmtp); }};
|
||||
for (const TraceEntry& entry : m_entries) {
|
||||
// Adjust name prefix based on path in hierarchy
|
||||
pathAdjustor.adjust(entry.path());
|
||||
|
||||
m_traName = entry.name();
|
||||
|
||||
if (AstVarScope* const vscp = entry.vscp()) {
|
||||
// This is a signal: build AstTraceDecl for it
|
||||
m_traVscp = vscp;
|
||||
if (const char* const ignoreReasonp = vscIgnoreTrace(m_traVscp)) {
|
||||
addIgnore(ignoreReasonp);
|
||||
} else {
|
||||
++m_statSigs;
|
||||
// Create reference to whole signal. We will operate on this during the
|
||||
// traversal.
|
||||
m_traValuep
|
||||
= new AstVarRef{m_traVscp->fileline(), m_traVscp, VAccess::READ};
|
||||
// Recurse into data type of the signal. The visit methods will add
|
||||
// AstTraceDecls.
|
||||
iterate(m_traVscp->varp()->dtypep()->skipRefToEnump());
|
||||
// Delete reference created above. Traversal cloned it as required.
|
||||
if (m_traValuep) {
|
||||
VL_DO_DANGLING(m_traValuep->deleteTree(), m_traValuep);
|
||||
// Note: Sometimes VL_DANGLING is a no-op, but we have assertions
|
||||
// on m_traValuep being nullptr, so make sure it is.
|
||||
m_traValuep = nullptr;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// This is a subscope: insert a placeholder to be fixed up later
|
||||
AstCell* const cellp = entry.cellp();
|
||||
FileLine* const flp = cellp->fileline();
|
||||
AstNodeStmt* const stmtp
|
||||
= new AstComment{flp, "Cell init for: " + cellp->prettyName()};
|
||||
addToSubFunc(stmtp);
|
||||
m_cellInitPlaceholders.emplace_back(nodep, cellp, stmtp);
|
||||
}
|
||||
}
|
||||
pathAdjustor.unwind();
|
||||
m_traVscp = nullptr;
|
||||
m_traName.clear();
|
||||
UASSERT_OBJ(!m_traValuep, nodep, "Should have been deleted");
|
||||
m_entries.clear();
|
||||
}
|
||||
|
||||
// Save the initialization functions of this scope
|
||||
m_scopeInitFuncps.emplace(nodep, std::move(m_subFuncps));
|
||||
|
||||
// Save the hierarchical name of this scope
|
||||
const std::string path = nodep->prettyName();
|
||||
m_pathToScopep.emplace(path, nodep);
|
||||
|
||||
// Save the hierarchical names of interface references that reference this scope
|
||||
const AstCell* const cellp = nodep->aboveCellp();
|
||||
if (cellp && VN_IS(cellp->modp(), Iface)) {
|
||||
string scopeName = nodep->prettyName();
|
||||
const size_t lastDot = scopeName.find_last_of('.');
|
||||
const size_t lastDot = path.find_last_of('.');
|
||||
UASSERT_OBJ(lastDot != string::npos, nodep,
|
||||
"Expected an interface scope name to have at least one dot");
|
||||
scopeName = scopeName.substr(0, lastDot + 1);
|
||||
const size_t scopeLen = scopeName.length();
|
||||
const std::string parentPath = path.substr(0, lastDot + 1);
|
||||
|
||||
UASSERT_OBJ(cellp->intfRefsp(), cellp, "Interface without tracing reference");
|
||||
for (AstIntfRef *irp = cellp->intfRefsp(), *nextIrp; irp; irp = nextIrp) {
|
||||
nextIrp = VN_AS(irp->nextp(), IntfRef);
|
||||
for (AstIntfRef *intfRefp = cellp->intfRefsp(), *nextp; intfRefp; intfRefp = nextp) {
|
||||
nextp = VN_AS(intfRefp->nextp(), IntfRef);
|
||||
|
||||
const string irpName = irp->prettyName();
|
||||
if (scopeLen > irpName.length()) continue;
|
||||
const string intfScopeName = irpName.substr(0, scopeLen);
|
||||
if (scopeName != intfScopeName) continue;
|
||||
const std::string refName = intfRefp->prettyName();
|
||||
|
||||
string iscopeName = AstNode::vcdName(irp->name());
|
||||
if (iscopeName.substr(0, 4) == "TOP ") iscopeName.erase(0, 4);
|
||||
// Note this insert doesn't know what above is interfaces.
|
||||
// Perhaps all scopes should be changed to include the VLT_TRACE_SCOPE characters.
|
||||
// Instead we fix up when printing m_scopeSubFuncps
|
||||
iscopeName += getScopeChar(VLT_TRACE_SCOPE_INTERFACE) + ' ';
|
||||
m_scopeSubFuncps.emplace(iscopeName, m_subFuncps);
|
||||
// Assume only references under the same parent scope reference
|
||||
// the same interface.
|
||||
// TODO: This is not actually correct. An inteface can propagate
|
||||
// upwards and sideways when passed to a port via a downward
|
||||
// hierarchical reference, which we will miss here.
|
||||
if (!VString::startsWith(refName, parentPath)) continue;
|
||||
|
||||
VL_DO_DANGLING(irp->unlinkFrBack(), irp);
|
||||
// Save the mapping from the path of the reference to the scope
|
||||
m_pathToScopep.emplace(refName, nodep);
|
||||
|
||||
// No more need for AstIntfRef
|
||||
intfRefp->unlinkFrBack();
|
||||
VL_DO_DANGLING(intfRefp->deleteTree(), intfRefp);
|
||||
}
|
||||
|
||||
m_subFuncps.clear();
|
||||
} else {
|
||||
string scopeName = AstNode::vcdName(nodep->name()) + ' ';
|
||||
if (VString::startsWith(scopeName, "TOP ")) scopeName.erase(0, 4);
|
||||
m_scopeSubFuncps.emplace(scopeName, std::move(m_subFuncps));
|
||||
}
|
||||
}
|
||||
void visit(AstVarScope* nodep) override {
|
||||
|
|
@ -344,142 +452,174 @@ private:
|
|||
if (nodep->varp()->isFuncLocal()) return;
|
||||
|
||||
// Add to traced signal list
|
||||
m_signals.emplace_back(nodep);
|
||||
m_entries.emplace_back(nodep);
|
||||
}
|
||||
|
||||
// VISITORS - Data types when tracing
|
||||
void visit(AstConstDType* nodep) override {
|
||||
if (m_traVscp) iterate(nodep->subDTypep()->skipRefToEnump());
|
||||
if (!m_traVscp) return;
|
||||
iterate(nodep->subDTypep()->skipRefToEnump());
|
||||
}
|
||||
void visit(AstRefDType* nodep) override {
|
||||
if (m_traVscp) iterate(nodep->subDTypep()->skipRefToEnump());
|
||||
if (!m_traVscp) return;
|
||||
iterate(nodep->subDTypep()->skipRefToEnump());
|
||||
}
|
||||
void visit(AstIfaceRefDType* nodep) override {
|
||||
if (!m_traVscp) return;
|
||||
// Insert a placeholder to be fixed up later
|
||||
FileLine* const flp = m_traVscp->fileline();
|
||||
AstNodeStmt* const stmtp
|
||||
= new AstComment{flp, "Interface ref init for: " + m_traVscp->prettyName()};
|
||||
addToSubFunc(stmtp);
|
||||
m_ifaceRefInitPlaceholders.emplace_back(m_traVscp, stmtp);
|
||||
}
|
||||
void visit(AstUnpackArrayDType* nodep) override {
|
||||
// Note more specific dtypes above
|
||||
if (m_traVscp) {
|
||||
if (static_cast<int>(nodep->arrayUnpackedElements()) > v3Global.opt.traceMaxArray()) {
|
||||
addIgnore("Wide memory > --trace-max-array ents");
|
||||
} else if (VN_IS(nodep->subDTypep()->skipRefToEnump(),
|
||||
BasicDType) // Nothing lower than this array
|
||||
&& m_traVscp->dtypep()->skipRefToEnump()
|
||||
== nodep) { // Nothing above this array
|
||||
// Simple 1-D array, use existing V3EmitC runtime loop rather than unrolling
|
||||
// This will put "(index)" at end of signal name for us
|
||||
if (m_traVscp->dtypep()->skipRefToEnump()->isString()) {
|
||||
addIgnore("Unsupported: strings");
|
||||
} else {
|
||||
addTraceDecl(nodep->declRange(), 0);
|
||||
}
|
||||
if (!m_traVscp) return;
|
||||
|
||||
if (static_cast<int>(nodep->arrayUnpackedElements()) > v3Global.opt.traceMaxArray()) {
|
||||
addIgnore("Wide memory > --trace-max-array ents");
|
||||
return;
|
||||
}
|
||||
|
||||
VL_RESTORER(m_traName);
|
||||
FileLine* const flp = nodep->fileline();
|
||||
|
||||
addToSubFunc(new AstTracePushPrefix{flp, m_traName, VTracePrefixType::ARRAY_UNPACKED});
|
||||
|
||||
if (VN_IS(nodep->subDTypep()->skipRefToEnump(),
|
||||
BasicDType) // Nothing lower than this array
|
||||
&& m_traVscp->dtypep()->skipRefToEnump() == nodep) { // Nothing above this array
|
||||
// Simple 1-D array, use existing V3EmitC runtime loop rather than unrolling
|
||||
// This will put "(index)" at end of signal name for us
|
||||
if (m_traVscp->dtypep()->skipRefToEnump()->isString()) {
|
||||
addIgnore("Unsupported: strings");
|
||||
} else {
|
||||
// Unroll now, as have no other method to get right signal names
|
||||
FileLine* const flp = nodep->fileline();
|
||||
AstNodeDType* const subtypep = nodep->subDTypep()->skipRefToEnump();
|
||||
VL_RESTORER(m_traName);
|
||||
addToSubFunc(new AstTracePushNamePrefix{flp, m_traName});
|
||||
for (int i = nodep->lo(); i <= nodep->hi(); ++i) {
|
||||
VL_RESTORER(m_traValuep);
|
||||
m_traName = std::string{"["} + cvtToStr(i) + std::string{"]"};
|
||||
m_traValuep = m_traValuep->cloneTree(false);
|
||||
m_traValuep = new AstArraySel{flp, m_traValuep, i - nodep->lo()};
|
||||
m_traValuep->dtypep(subtypep);
|
||||
iterate(subtypep);
|
||||
VL_DO_CLEAR(m_traValuep->deleteTree(), m_traValuep = nullptr);
|
||||
}
|
||||
addToSubFunc(new AstTracePopNamePrefix{flp, 1});
|
||||
m_traName = "";
|
||||
addTraceDecl(nodep->declRange(), 0);
|
||||
}
|
||||
} else {
|
||||
AstNodeDType* const subtypep = nodep->subDTypep()->skipRefToEnump();
|
||||
for (int i = nodep->lo(); i <= nodep->hi(); ++i) {
|
||||
VL_RESTORER(m_traValuep);
|
||||
m_traName = '[' + std::to_string(i) + ']';
|
||||
m_traValuep = m_traValuep->cloneTree(false);
|
||||
m_traValuep = new AstArraySel{flp, m_traValuep, i - nodep->lo()};
|
||||
m_traValuep->dtypep(subtypep);
|
||||
iterate(subtypep);
|
||||
VL_DO_DANGLING(m_traValuep->deleteTree(), m_traValuep);
|
||||
}
|
||||
}
|
||||
|
||||
addToSubFunc(new AstTracePopPrefix{flp});
|
||||
}
|
||||
void visit(AstPackArrayDType* nodep) override {
|
||||
if (m_traVscp) {
|
||||
if (!v3Global.opt.traceStructs()) {
|
||||
// Everything downstream is packed, so deal with as one trace unit.
|
||||
// This may not be the nicest for user presentation, but is
|
||||
// a much faster way to trace
|
||||
addTraceDecl(VNumRange{}, nodep->width());
|
||||
} else {
|
||||
FileLine* const flp = nodep->fileline();
|
||||
AstNodeDType* const subtypep = nodep->subDTypep()->skipRefToEnump();
|
||||
VL_RESTORER(m_traName);
|
||||
addToSubFunc(new AstTracePushNamePrefix{flp, m_traName});
|
||||
for (int i = nodep->lo(); i <= nodep->hi(); ++i) {
|
||||
VL_RESTORER(m_traValuep);
|
||||
m_traName = std::string{"["} + cvtToStr(i) + std::string{"]"};
|
||||
const int lsb = (i - nodep->lo()) * subtypep->width();
|
||||
m_traValuep = m_traValuep->cloneTree(false);
|
||||
m_traValuep = new AstSel{flp, m_traValuep, lsb, subtypep->width()};
|
||||
m_traValuep->dtypep(subtypep);
|
||||
iterate(subtypep);
|
||||
VL_DO_CLEAR(m_traValuep->deleteTree(), m_traValuep = nullptr);
|
||||
}
|
||||
addToSubFunc(new AstTracePopNamePrefix{flp, 1});
|
||||
if (!m_traVscp) return;
|
||||
|
||||
if (!v3Global.opt.traceStructs()) {
|
||||
// Everything downstream is packed, so deal with as one trace unit.
|
||||
// This may not be the nicest for user presentation, but is
|
||||
// a much faster way to trace
|
||||
addTraceDecl(VNumRange{}, nodep->width());
|
||||
return;
|
||||
}
|
||||
|
||||
VL_RESTORER(m_traName);
|
||||
FileLine* const flp = nodep->fileline();
|
||||
addToSubFunc(new AstTracePushPrefix{flp, m_traName, VTracePrefixType::ARRAY_PACKED});
|
||||
|
||||
AstNodeDType* const subtypep = nodep->subDTypep()->skipRefToEnump();
|
||||
for (int i = nodep->lo(); i <= nodep->hi(); ++i) {
|
||||
VL_RESTORER(m_traValuep);
|
||||
m_traName = '[' + std::to_string(i) + ']';
|
||||
const int lsb = (i - nodep->lo()) * subtypep->width();
|
||||
m_traValuep = m_traValuep->cloneTree(false);
|
||||
m_traValuep = new AstSel{flp, m_traValuep, lsb, subtypep->width()};
|
||||
m_traValuep->dtypep(subtypep);
|
||||
iterate(subtypep);
|
||||
VL_DO_CLEAR(m_traValuep->deleteTree(), m_traValuep = nullptr);
|
||||
}
|
||||
|
||||
addToSubFunc(new AstTracePopPrefix{flp});
|
||||
}
|
||||
void visit(AstStructDType* nodep) override {
|
||||
if (!m_traVscp) return;
|
||||
|
||||
if (nodep->packed() && !v3Global.opt.traceStructs()) {
|
||||
// Everything downstream is packed, so deal with as one trace unit
|
||||
// This may not be the nicest for user presentation, but is
|
||||
// a much faster way to trace
|
||||
addTraceDecl(VNumRange{}, nodep->width());
|
||||
return;
|
||||
}
|
||||
|
||||
VL_RESTORER(m_traName);
|
||||
FileLine* const flp = nodep->fileline();
|
||||
|
||||
if (!nodep->packed()) {
|
||||
addToSubFunc(
|
||||
new AstTracePushPrefix{flp, m_traName, VTracePrefixType::STRUCT_UNPACKED});
|
||||
for (const AstMemberDType *itemp = nodep->membersp(), *nextp; itemp; itemp = nextp) {
|
||||
nextp = VN_AS(itemp->nextp(), MemberDType);
|
||||
AstNodeDType* const subtypep = itemp->subDTypep()->skipRefToEnump();
|
||||
m_traName = itemp->prettyName();
|
||||
VL_RESTORER(m_traValuep);
|
||||
m_traValuep = m_traValuep->cloneTree(false);
|
||||
m_traValuep = new AstStructSel{flp, m_traValuep, itemp->name()};
|
||||
m_traValuep->dtypep(subtypep);
|
||||
iterate(subtypep);
|
||||
VL_DO_DANGLING(m_traValuep->deleteTree(), m_traValuep);
|
||||
}
|
||||
addToSubFunc(new AstTracePopPrefix{flp});
|
||||
} else {
|
||||
addToSubFunc(new AstTracePushPrefix{flp, m_traName, VTracePrefixType::STRUCT_PACKED});
|
||||
for (const AstMemberDType *itemp = nodep->membersp(), *nextp; itemp; itemp = nextp) {
|
||||
nextp = VN_AS(itemp->nextp(), MemberDType);
|
||||
AstNodeDType* const subtypep = itemp->subDTypep()->skipRefToEnump();
|
||||
m_traName = itemp->prettyName();
|
||||
VL_RESTORER(m_traValuep);
|
||||
m_traValuep = m_traValuep->cloneTree(false);
|
||||
m_traValuep = new AstSel{flp, m_traValuep, itemp->lsb(), subtypep->width()};
|
||||
m_traValuep->dtypep(subtypep);
|
||||
iterate(subtypep);
|
||||
VL_DO_DANGLING(m_traValuep->deleteTree(), m_traValuep);
|
||||
}
|
||||
addToSubFunc(new AstTracePopPrefix{flp});
|
||||
}
|
||||
}
|
||||
void visit(AstNodeUOrStructDType* nodep) override {
|
||||
if (m_traVscp) {
|
||||
if (nodep->packed() && !v3Global.opt.traceStructs()) {
|
||||
// Everything downstream is packed, so deal with as one trace unit
|
||||
// This may not be the nicest for user presentation, but is
|
||||
// a much faster way to trace
|
||||
addTraceDecl(VNumRange{}, nodep->width());
|
||||
} else if (!nodep->packed()) {
|
||||
if (VN_IS(nodep, UnionDType)) {
|
||||
addIgnore("Unsupported: Unpacked union");
|
||||
} else {
|
||||
FileLine* const flp = nodep->fileline();
|
||||
VL_RESTORER(m_traName);
|
||||
string prefix{m_traName};
|
||||
prefix += getScopeChar(VLT_TRACE_SCOPE_STRUCT);
|
||||
addToSubFunc(new AstTracePushNamePrefix{flp, prefix + ' '});
|
||||
for (const AstMemberDType* itemp = nodep->membersp(); itemp;
|
||||
itemp = VN_AS(itemp->nextp(), MemberDType)) {
|
||||
AstNodeDType* const subtypep = itemp->subDTypep()->skipRefToEnump();
|
||||
m_traName = itemp->prettyName();
|
||||
VL_RESTORER(m_traValuep);
|
||||
m_traValuep = m_traValuep->cloneTree(false);
|
||||
m_traName = itemp->prettyName();
|
||||
m_traValuep = new AstStructSel{flp, m_traValuep, itemp->name()};
|
||||
m_traValuep->dtypep(subtypep);
|
||||
iterate(subtypep);
|
||||
VL_DO_CLEAR(m_traValuep->deleteTree(), m_traValuep = nullptr);
|
||||
}
|
||||
addToSubFunc(new AstTracePopNamePrefix{flp, 1});
|
||||
}
|
||||
} else {
|
||||
FileLine* const flp = nodep->fileline();
|
||||
const bool isStruct = VN_IS(nodep, StructDType); // Otherwise union
|
||||
VL_RESTORER(m_traName);
|
||||
string prefix{m_traName};
|
||||
prefix += isStruct ? getScopeChar(VLT_TRACE_SCOPE_STRUCT) // Mark scope type
|
||||
: getScopeChar(VLT_TRACE_SCOPE_UNION);
|
||||
addToSubFunc(new AstTracePushNamePrefix{flp, prefix + ' '});
|
||||
for (const AstMemberDType* itemp = nodep->membersp(); itemp;
|
||||
itemp = VN_AS(itemp->nextp(), MemberDType)) {
|
||||
AstNodeDType* const subtypep = itemp->subDTypep()->skipRefToEnump();
|
||||
m_traName = itemp->prettyName();
|
||||
if (isStruct) {
|
||||
VL_RESTORER(m_traValuep);
|
||||
m_traValuep = m_traValuep->cloneTree(false);
|
||||
m_traValuep
|
||||
= new AstSel{flp, m_traValuep, itemp->lsb(), subtypep->width()};
|
||||
m_traValuep->dtypep(subtypep);
|
||||
iterate(subtypep);
|
||||
VL_DO_CLEAR(m_traValuep->deleteTree(), m_traValuep = nullptr);
|
||||
} else { // Else union, replicate fields
|
||||
iterate(subtypep);
|
||||
}
|
||||
}
|
||||
addToSubFunc(new AstTracePopNamePrefix{flp, 1});
|
||||
void visit(AstUnionDType* nodep) override {
|
||||
if (!m_traVscp) return;
|
||||
|
||||
if (nodep->packed() && !v3Global.opt.traceStructs()) {
|
||||
// Everything downstream is packed, so deal with as one trace unit
|
||||
// This may not be the nicest for user presentation, but is
|
||||
// a much faster way to trace
|
||||
addTraceDecl(VNumRange{}, nodep->width());
|
||||
return;
|
||||
}
|
||||
|
||||
VL_RESTORER(m_traName);
|
||||
FileLine* const flp = nodep->fileline();
|
||||
|
||||
if (!nodep->packed()) {
|
||||
addIgnore("Unsupported: Unpacked union");
|
||||
} else {
|
||||
addToSubFunc(new AstTracePushPrefix{flp, m_traName, VTracePrefixType::UNION_PACKED});
|
||||
for (const AstMemberDType *itemp = nodep->membersp(), *nextp; itemp; itemp = nextp) {
|
||||
nextp = VN_AS(itemp->nextp(), MemberDType);
|
||||
AstNodeDType* const subtypep = itemp->subDTypep()->skipRefToEnump();
|
||||
m_traName = itemp->prettyName();
|
||||
iterate(subtypep);
|
||||
}
|
||||
addToSubFunc(new AstTracePopPrefix{flp});
|
||||
}
|
||||
}
|
||||
void visit(AstBasicDType* nodep) override {
|
||||
if (m_traVscp) {
|
||||
if (nodep->isString()) {
|
||||
addIgnore("Unsupported: strings");
|
||||
} else {
|
||||
addTraceDecl(VNumRange{}, 0);
|
||||
}
|
||||
if (!m_traVscp) return;
|
||||
if (nodep->isString()) {
|
||||
addIgnore("Unsupported: strings");
|
||||
} else {
|
||||
addTraceDecl(VNumRange{}, 0);
|
||||
}
|
||||
}
|
||||
void visit(AstEnumDType* nodep) override { iterate(nodep->skipRefp()); }
|
||||
|
|
@ -498,26 +638,27 @@ public:
|
|||
: m_topScopep{nodep->topScopep()} {
|
||||
FileLine* const flp = nodep->fileline();
|
||||
|
||||
// Iterate modules to build per scope initialization sub functions
|
||||
// Iterate modules to build per scope initialization functions
|
||||
iterateAndNextConstNull(nodep->modulesp());
|
||||
UASSERT_OBJ(m_subFuncps.empty(), nodep, "Should have been emptied");
|
||||
|
||||
// Build top level trace initialization functions
|
||||
PathAdjustor pathAdjustor{flp, [&](AstNodeStmt* stmtp) { addToTopFunc(stmtp); }};
|
||||
for (const auto& item : m_scopeSubFuncps) {
|
||||
const std::string scopeName = item.first;
|
||||
const std::string scopeNameInterfaced = addAboveInterface(scopeName);
|
||||
// Adjust name prefix based on path in hierarchy
|
||||
pathAdjustor.adjust(scopeNameInterfaced);
|
||||
// Call all sub functions for this path
|
||||
for (AstCFunc* const subFuncp : item.second) {
|
||||
AstCCall* const callp = new AstCCall{flp, subFuncp};
|
||||
callp->dtypeSetVoid();
|
||||
callp->argTypes("tracep");
|
||||
addToTopFunc(callp->makeStmt());
|
||||
}
|
||||
// Fix up the placeholders in the initialization functions
|
||||
fixupPlaceholders();
|
||||
|
||||
// Now that we have everything ready, remove redundant pushPrefix/popPrefix
|
||||
// pairs. While functionally this is not really necessary (the trace files
|
||||
// might have some empty scope declarations), we do it to preserve previous
|
||||
// behaviour. Note: unfortunately generating these without the redundant
|
||||
// push/pop pairs is a bit hard. It is cleaner to remove them.
|
||||
removeRedundantPrefixPushPop();
|
||||
|
||||
// Call the initialization functions of the root scope from the top function
|
||||
for (AstCFunc* const funcp : m_scopeInitFuncps.at(m_topScopep->scopep())) {
|
||||
AstCCall* const callp = new AstCCall{flp, funcp};
|
||||
callp->dtypeSetVoid();
|
||||
callp->argTypes("tracep");
|
||||
addToTopFunc(callp->makeStmt());
|
||||
}
|
||||
pathAdjustor.unwind();
|
||||
|
||||
// Ensure a top function exists, in case there was nothing to trace at all
|
||||
if (m_topFuncps.empty()) addToTopFunc(new AstComment{flp, "Empty"});
|
||||
|
|
|
|||
|
|
@ -1,174 +1,172 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Fri Jun 22 19:23:24 2018
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 1 % res $end
|
||||
$var wire 16 ' res16 [15:0] $end
|
||||
$var wire 8 & res8 [7:0] $end
|
||||
$scope module $unit $end
|
||||
$var wire 32 + ID_MSB [31:0] $end
|
||||
$upscope $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ res $end
|
||||
$var wire 8 % res8 [7:0] $end
|
||||
$var wire 16 & res16 [15:0] $end
|
||||
$scope module t $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 8 ( clkSet [7:0] $end
|
||||
$var wire 1 $ clk_1 $end
|
||||
$var wire 3 ) clk_3 [2:0] $end
|
||||
$var wire 4 * clk_4 [3:0] $end
|
||||
$var wire 1 $ clk_final $end
|
||||
$var wire 8 # count [7:0] $end
|
||||
$var wire 1 % res $end
|
||||
$var wire 16 ' res16 [15:0] $end
|
||||
$var wire 8 & res8 [7:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ res $end
|
||||
$var wire 8 % res8 [7:0] $end
|
||||
$var wire 16 & res16 [15:0] $end
|
||||
$var wire 8 ' clkSet [7:0] $end
|
||||
$var wire 1 # clk_1 $end
|
||||
$var wire 3 ( clk_3 [2:0] $end
|
||||
$var wire 4 ) clk_4 [3:0] $end
|
||||
$var wire 1 # clk_final $end
|
||||
$var wire 8 * count [7:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
||||
|
||||
#0
|
||||
b00000000 #
|
||||
0#
|
||||
0$
|
||||
0%
|
||||
b00000000 &
|
||||
b0000000000000000 '
|
||||
b00000000 (
|
||||
b000 )
|
||||
b0000 *
|
||||
b00000000 %
|
||||
b0000000000000000 &
|
||||
b00000000 '
|
||||
b000 (
|
||||
b0000 )
|
||||
b00000000 *
|
||||
b00000000000000000000000000000001 +
|
||||
#10
|
||||
b00000001 #
|
||||
1#
|
||||
1$
|
||||
1%
|
||||
b11101111 &
|
||||
b0000000111111111 '
|
||||
b11111111 (
|
||||
b111 )
|
||||
b1111 *
|
||||
b11101111 %
|
||||
b0000000111111111 &
|
||||
b11111111 '
|
||||
b111 (
|
||||
b1111 )
|
||||
b00000001 *
|
||||
#15
|
||||
b00000010 #
|
||||
0#
|
||||
0$
|
||||
0%
|
||||
b00000000 &
|
||||
b0000001000000000 '
|
||||
b00000000 (
|
||||
b000 )
|
||||
b0000 *
|
||||
b00000000 %
|
||||
b0000001000000000 &
|
||||
b00000000 '
|
||||
b000 (
|
||||
b0000 )
|
||||
b00000010 *
|
||||
#20
|
||||
b00000011 #
|
||||
1#
|
||||
1$
|
||||
1%
|
||||
b11101111 &
|
||||
b0000001111111111 '
|
||||
b11111111 (
|
||||
b111 )
|
||||
b1111 *
|
||||
b11101111 %
|
||||
b0000001111111111 &
|
||||
b11111111 '
|
||||
b111 (
|
||||
b1111 )
|
||||
b00000011 *
|
||||
#25
|
||||
b00000100 #
|
||||
0#
|
||||
0$
|
||||
0%
|
||||
b00000000 &
|
||||
b0000010000000000 '
|
||||
b00000000 (
|
||||
b000 )
|
||||
b0000 *
|
||||
b00000000 %
|
||||
b0000010000000000 &
|
||||
b00000000 '
|
||||
b000 (
|
||||
b0000 )
|
||||
b00000100 *
|
||||
#30
|
||||
b00000101 #
|
||||
1#
|
||||
1$
|
||||
1%
|
||||
b11101111 &
|
||||
b0000010111111111 '
|
||||
b11111111 (
|
||||
b111 )
|
||||
b1111 *
|
||||
b11101111 %
|
||||
b0000010111111111 &
|
||||
b11111111 '
|
||||
b111 (
|
||||
b1111 )
|
||||
b00000101 *
|
||||
#35
|
||||
b00000110 #
|
||||
0#
|
||||
0$
|
||||
0%
|
||||
b00000000 &
|
||||
b0000011000000000 '
|
||||
b00000000 (
|
||||
b000 )
|
||||
b0000 *
|
||||
b00000000 %
|
||||
b0000011000000000 &
|
||||
b00000000 '
|
||||
b000 (
|
||||
b0000 )
|
||||
b00000110 *
|
||||
#40
|
||||
b00000111 #
|
||||
1#
|
||||
1$
|
||||
1%
|
||||
b11101111 &
|
||||
b0000011111111111 '
|
||||
b11111111 (
|
||||
b111 )
|
||||
b1111 *
|
||||
b11101111 %
|
||||
b0000011111111111 &
|
||||
b11111111 '
|
||||
b111 (
|
||||
b1111 )
|
||||
b00000111 *
|
||||
#45
|
||||
b00001000 #
|
||||
0#
|
||||
0$
|
||||
0%
|
||||
b00000000 &
|
||||
b0000100000000000 '
|
||||
b00000000 (
|
||||
b000 )
|
||||
b0000 *
|
||||
b00000000 %
|
||||
b0000100000000000 &
|
||||
b00000000 '
|
||||
b000 (
|
||||
b0000 )
|
||||
b00001000 *
|
||||
#50
|
||||
b00001001 #
|
||||
1#
|
||||
1$
|
||||
1%
|
||||
b11101111 &
|
||||
b0000100111111111 '
|
||||
b11111111 (
|
||||
b111 )
|
||||
b1111 *
|
||||
b11101111 %
|
||||
b0000100111111111 &
|
||||
b11111111 '
|
||||
b111 (
|
||||
b1111 )
|
||||
b00001001 *
|
||||
#55
|
||||
b00001010 #
|
||||
0#
|
||||
0$
|
||||
0%
|
||||
b00000000 &
|
||||
b0000101000000000 '
|
||||
b00000000 (
|
||||
b000 )
|
||||
b0000 *
|
||||
b00000000 %
|
||||
b0000101000000000 &
|
||||
b00000000 '
|
||||
b000 (
|
||||
b0000 )
|
||||
b00001010 *
|
||||
#60
|
||||
b00001011 #
|
||||
1#
|
||||
1$
|
||||
1%
|
||||
b11101111 &
|
||||
b0000101111111111 '
|
||||
b11111111 (
|
||||
b111 )
|
||||
b1111 *
|
||||
b11101111 %
|
||||
b0000101111111111 &
|
||||
b11111111 '
|
||||
b111 (
|
||||
b1111 )
|
||||
b00001011 *
|
||||
#65
|
||||
b00001100 #
|
||||
0#
|
||||
0$
|
||||
0%
|
||||
b00000000 &
|
||||
b0000110000000000 '
|
||||
b00000000 (
|
||||
b000 )
|
||||
b0000 *
|
||||
b00000000 %
|
||||
b0000110000000000 &
|
||||
b00000000 '
|
||||
b000 (
|
||||
b0000 )
|
||||
b00001100 *
|
||||
#70
|
||||
b00001101 #
|
||||
1#
|
||||
1$
|
||||
1%
|
||||
b11101111 &
|
||||
b0000110111111111 '
|
||||
b11111111 (
|
||||
b111 )
|
||||
b1111 *
|
||||
b11101111 %
|
||||
b0000110111111111 &
|
||||
b11111111 '
|
||||
b111 (
|
||||
b1111 )
|
||||
b00001101 *
|
||||
#75
|
||||
b00001110 #
|
||||
0#
|
||||
0$
|
||||
0%
|
||||
b00000000 &
|
||||
b0000111000000000 '
|
||||
b00000000 (
|
||||
b000 )
|
||||
b0000 *
|
||||
b00000000 %
|
||||
b0000111000000000 &
|
||||
b00000000 '
|
||||
b000 (
|
||||
b0000 )
|
||||
b00001110 *
|
||||
#80
|
||||
b00001111 #
|
||||
1#
|
||||
1$
|
||||
1%
|
||||
b11101111 &
|
||||
b0000111111111111 '
|
||||
b11111111 (
|
||||
b111 )
|
||||
b1111 *
|
||||
b11101111 %
|
||||
b0000111111111111 &
|
||||
b11111111 '
|
||||
b111 (
|
||||
b1111 )
|
||||
b00001111 *
|
||||
|
|
|
|||
|
|
@ -2,19 +2,44 @@ $version Generated by VerilatedVcd $end
|
|||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 X clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 X clk $end
|
||||
$var wire 32 ' cyc [31:0] $end
|
||||
$var wire 8 ( cyc_copy [7:0] $end
|
||||
$var wire 1 & toggle $end
|
||||
$var wire 32 < vlCoverageLineTrace_t_cover_line__102_elsif [31:0] $end
|
||||
$var wire 32 = vlCoverageLineTrace_t_cover_line__105_elsif [31:0] $end
|
||||
$var wire 32 > vlCoverageLineTrace_t_cover_line__112_else [31:0] $end
|
||||
$var wire 32 ? vlCoverageLineTrace_t_cover_line__112_if [31:0] $end
|
||||
$var wire 32 Y vlCoverageLineTrace_t_cover_line__119_block [31:0] $end
|
||||
$var wire 1 X clk $end
|
||||
$var wire 1 & toggle $end
|
||||
$var wire 32 # vlCoverageLineTrace_t_cover_line__15_block [31:0] $end
|
||||
$var wire 32 ' cyc [31:0] $end
|
||||
$var wire 32 $ vlCoverageLineTrace_t_cover_line__18_block [31:0] $end
|
||||
$var wire 8 ( cyc_copy [7:0] $end
|
||||
$scope module b1 $end
|
||||
$var wire 1 X clk $end
|
||||
$var wire 1 & toggle $end
|
||||
$var wire 32 L vlCoverageLineTrace_t_cover_line__156_block [31:0] $end
|
||||
$var wire 32 M vlCoverageLineTrace_t_cover_line__158_else [31:0] $end
|
||||
$var wire 32 c vlCoverageLineTrace_t_cover_line__158_if [31:0] $end
|
||||
$var wire 32 N vlCoverageLineTrace_t_cover_line__162_else [31:0] $end
|
||||
$var wire 32 O vlCoverageLineTrace_t_cover_line__162_if [31:0] $end
|
||||
$var wire 32 P vlCoverageLineTrace_t_cover_line__166_else [31:0] $end
|
||||
$upscope $end
|
||||
$scope module b2 $end
|
||||
$var wire 1 X clk $end
|
||||
$var wire 1 & toggle $end
|
||||
$var wire 32 Q vlCoverageLineTrace_t_cover_line__156_block [31:0] $end
|
||||
$var wire 32 R vlCoverageLineTrace_t_cover_line__158_else [31:0] $end
|
||||
$var wire 32 d vlCoverageLineTrace_t_cover_line__158_if [31:0] $end
|
||||
$var wire 32 S vlCoverageLineTrace_t_cover_line__162_else [31:0] $end
|
||||
$var wire 32 T vlCoverageLineTrace_t_cover_line__162_if [31:0] $end
|
||||
$var wire 32 U vlCoverageLineTrace_t_cover_line__166_else [31:0] $end
|
||||
$upscope $end
|
||||
$scope module t1 $end
|
||||
$var wire 1 X clk $end
|
||||
$var wire 1 & toggle $end
|
||||
$var wire 32 V vlCoverageLineTrace_t_cover_line__207_block [31:0] $end
|
||||
$var wire 32 Z vlCoverageLineTrace_t_cover_line__211_block [31:0] $end
|
||||
$var wire 32 [ vlCoverageLineTrace_t_cover_line__214_else [31:0] $end
|
||||
$var wire 32 \ vlCoverageLineTrace_t_cover_line__214_if [31:0] $end
|
||||
$var wire 32 W vlCoverageLineTrace_t_cover_line__217_else [31:0] $end
|
||||
$var wire 32 ] vlCoverageLineTrace_t_cover_line__217_if [31:0] $end
|
||||
$var wire 32 % vlCoverageLineTrace_t_cover_line__222_block [31:0] $end
|
||||
$upscope $end
|
||||
$var wire 32 ) vlCoverageLineTrace_t_cover_line__47_block [31:0] $end
|
||||
$var wire 32 * vlCoverageLineTrace_t_cover_line__48_else [31:0] $end
|
||||
$var wire 32 + vlCoverageLineTrace_t_cover_line__48_if [31:0] $end
|
||||
|
|
@ -38,63 +63,38 @@ $timescale 1ps $end
|
|||
$var wire 32 _ vlCoverageLineTrace_t_cover_line__93_block [31:0] $end
|
||||
$var wire 32 ` vlCoverageLineTrace_t_cover_line__96_block [31:0] $end
|
||||
$var wire 32 a vlCoverageLineTrace_t_cover_line__97_block [31:0] $end
|
||||
$var wire 32 < vlCoverageLineTrace_t_cover_line__102_elsif [31:0] $end
|
||||
$var wire 32 = vlCoverageLineTrace_t_cover_line__105_elsif [31:0] $end
|
||||
$var wire 32 > vlCoverageLineTrace_t_cover_line__112_else [31:0] $end
|
||||
$var wire 32 ? vlCoverageLineTrace_t_cover_line__112_if [31:0] $end
|
||||
$var wire 32 Y vlCoverageLineTrace_t_cover_line__119_block [31:0] $end
|
||||
$scope module a1 $end
|
||||
$var wire 1 X clk $end
|
||||
$var wire 1 & toggle $end
|
||||
$var wire 1 X clk $end
|
||||
$var wire 1 & toggle $end
|
||||
$var wire 32 @ vlCoverageLineTrace_t_cover_line__132_block [31:0] $end
|
||||
$var wire 32 A vlCoverageLineTrace_t_cover_line__133_else [31:0] $end
|
||||
$var wire 32 B vlCoverageLineTrace_t_cover_line__133_if [31:0] $end
|
||||
$var wire 32 C vlCoverageLineTrace_t_cover_line__137_else [31:0] $end
|
||||
$upscope $end
|
||||
$scope module a2 $end
|
||||
$var wire 1 X clk $end
|
||||
$var wire 1 & toggle $end
|
||||
$var wire 1 X clk $end
|
||||
$var wire 1 & toggle $end
|
||||
$var wire 32 D vlCoverageLineTrace_t_cover_line__132_block [31:0] $end
|
||||
$var wire 32 E vlCoverageLineTrace_t_cover_line__133_else [31:0] $end
|
||||
$var wire 32 F vlCoverageLineTrace_t_cover_line__133_if [31:0] $end
|
||||
$var wire 32 G vlCoverageLineTrace_t_cover_line__137_else [31:0] $end
|
||||
$upscope $end
|
||||
$scope module b1 $end
|
||||
$var wire 1 X clk $end
|
||||
$var wire 1 & toggle $end
|
||||
$var wire 32 L vlCoverageLineTrace_t_cover_line__156_block [31:0] $end
|
||||
$var wire 32 M vlCoverageLineTrace_t_cover_line__158_else [31:0] $end
|
||||
$var wire 32 c vlCoverageLineTrace_t_cover_line__158_if [31:0] $end
|
||||
$var wire 32 N vlCoverageLineTrace_t_cover_line__162_else [31:0] $end
|
||||
$var wire 32 O vlCoverageLineTrace_t_cover_line__162_if [31:0] $end
|
||||
$var wire 32 P vlCoverageLineTrace_t_cover_line__166_else [31:0] $end
|
||||
$upscope $end
|
||||
$scope module b2 $end
|
||||
$var wire 1 X clk $end
|
||||
$var wire 1 & toggle $end
|
||||
$var wire 32 Q vlCoverageLineTrace_t_cover_line__156_block [31:0] $end
|
||||
$var wire 32 R vlCoverageLineTrace_t_cover_line__158_else [31:0] $end
|
||||
$var wire 32 d vlCoverageLineTrace_t_cover_line__158_if [31:0] $end
|
||||
$var wire 32 S vlCoverageLineTrace_t_cover_line__162_else [31:0] $end
|
||||
$var wire 32 T vlCoverageLineTrace_t_cover_line__162_if [31:0] $end
|
||||
$var wire 32 U vlCoverageLineTrace_t_cover_line__166_else [31:0] $end
|
||||
$upscope $end
|
||||
$scope module o1 $end
|
||||
$var wire 1 X clk $end
|
||||
$var wire 1 & toggle $end
|
||||
$var wire 1 X clk $end
|
||||
$var wire 1 & toggle $end
|
||||
$var wire 32 H vlCoverageLineTrace_t_cover_line__245_block [31:0] $end
|
||||
$var wire 32 I vlCoverageLineTrace_t_cover_line__246_else [31:0] $end
|
||||
$var wire 32 J vlCoverageLineTrace_t_cover_line__246_if [31:0] $end
|
||||
$var wire 32 K vlCoverageLineTrace_t_cover_line__249_else [31:0] $end
|
||||
$var wire 32 b vlCoverageLineTrace_t_cover_line__249_if [31:0] $end
|
||||
$upscope $end
|
||||
$scope module t1 $end
|
||||
$var wire 1 X clk $end
|
||||
$var wire 1 & toggle $end
|
||||
$var wire 32 V vlCoverageLineTrace_t_cover_line__207_block [31:0] $end
|
||||
$var wire 32 Z vlCoverageLineTrace_t_cover_line__211_block [31:0] $end
|
||||
$var wire 32 [ vlCoverageLineTrace_t_cover_line__214_else [31:0] $end
|
||||
$var wire 32 \ vlCoverageLineTrace_t_cover_line__214_if [31:0] $end
|
||||
$var wire 32 W vlCoverageLineTrace_t_cover_line__217_else [31:0] $end
|
||||
$var wire 32 ] vlCoverageLineTrace_t_cover_line__217_if [31:0] $end
|
||||
$var wire 32 % vlCoverageLineTrace_t_cover_line__222_block [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$var wire 1 X clk $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
||||
|
|
|
|||
|
|
@ -1,31 +1,29 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Thu Oct 24 09:44:07 2019
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 ) clk $end
|
||||
$var wire 1 ) clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 ) clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 1 % toggle $end
|
||||
$var wire 1 ) clk $end
|
||||
$var wire 1 # toggle $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$scope module suba $end
|
||||
$var wire 1 ) clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$var wire 1 ) clk $end
|
||||
$var wire 1 # toggle $end
|
||||
$var wire 32 % cyc [31:0] $end
|
||||
$var wire 32 & cyc_eq_5_vlCoverageUserTrace [31:0] $end
|
||||
$var wire 1 % toggle $end
|
||||
$upscope $end
|
||||
$scope module subb $end
|
||||
$var wire 1 ) clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$var wire 1 ) clk $end
|
||||
$var wire 1 # toggle $end
|
||||
$var wire 32 % cyc [31:0] $end
|
||||
$var wire 32 ' cyc_eq_5_vlCoverageUserTrace [31:0] $end
|
||||
$var wire 1 % toggle $end
|
||||
$upscope $end
|
||||
$scope module subc $end
|
||||
$var wire 1 ) clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$var wire 1 ) clk $end
|
||||
$var wire 1 # toggle $end
|
||||
$var wire 32 % cyc [31:0] $end
|
||||
$var wire 32 ( cyc_eq_5_vlCoverageUserTrace [31:0] $end
|
||||
$var wire 1 % toggle $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -33,44 +31,44 @@ $enddefinitions $end
|
|||
|
||||
|
||||
#0
|
||||
b00000000000000000000000000000001 #
|
||||
0#
|
||||
b00000000000000000000000000000001 $
|
||||
0%
|
||||
b00000000000000000000000000000001 %
|
||||
b00000000000000000000000000000000 &
|
||||
b00000000000000000000000000000000 '
|
||||
b00000000000000000000000000000000 (
|
||||
0)
|
||||
#10
|
||||
b00000000000000000000000000000010 #
|
||||
b00000000000000000000000000000010 $
|
||||
b00000000000000000000000000000010 %
|
||||
1)
|
||||
#15
|
||||
0)
|
||||
#20
|
||||
b00000000000000000000000000000011 #
|
||||
1#
|
||||
b00000000000000000000000000000011 $
|
||||
1%
|
||||
b00000000000000000000000000000011 %
|
||||
1)
|
||||
#25
|
||||
0)
|
||||
#30
|
||||
b00000000000000000000000000000100 #
|
||||
0#
|
||||
b00000000000000000000000000000100 $
|
||||
0%
|
||||
b00000000000000000000000000000100 %
|
||||
1)
|
||||
#35
|
||||
0)
|
||||
#40
|
||||
b00000000000000000000000000000101 #
|
||||
1#
|
||||
b00000000000000000000000000000101 $
|
||||
1%
|
||||
b00000000000000000000000000000101 %
|
||||
1)
|
||||
#45
|
||||
0)
|
||||
#50
|
||||
b00000000000000000000000000000110 #
|
||||
0#
|
||||
b00000000000000000000000000000110 $
|
||||
0%
|
||||
b00000000000000000000000000000110 %
|
||||
b00000000000000000000000000000001 &
|
||||
b00000000000000000000000000000001 '
|
||||
b00000000000000000000000000000001 (
|
||||
|
|
@ -78,35 +76,35 @@ b00000000000000000000000000000001 (
|
|||
#55
|
||||
0)
|
||||
#60
|
||||
b00000000000000000000000000000111 #
|
||||
1#
|
||||
b00000000000000000000000000000111 $
|
||||
1%
|
||||
b00000000000000000000000000000111 %
|
||||
1)
|
||||
#65
|
||||
0)
|
||||
#70
|
||||
b00000000000000000000000000001000 #
|
||||
0#
|
||||
b00000000000000000000000000001000 $
|
||||
0%
|
||||
b00000000000000000000000000001000 %
|
||||
1)
|
||||
#75
|
||||
0)
|
||||
#80
|
||||
b00000000000000000000000000001001 #
|
||||
1#
|
||||
b00000000000000000000000000001001 $
|
||||
1%
|
||||
b00000000000000000000000000001001 %
|
||||
1)
|
||||
#85
|
||||
0)
|
||||
#90
|
||||
b00000000000000000000000000001010 #
|
||||
0#
|
||||
b00000000000000000000000000001010 $
|
||||
0%
|
||||
b00000000000000000000000000001010 %
|
||||
1)
|
||||
#95
|
||||
0)
|
||||
#100
|
||||
b00000000000000000000000000001011 #
|
||||
1#
|
||||
b00000000000000000000000000001011 $
|
||||
1%
|
||||
b00000000000000000000000000001011 %
|
||||
1)
|
||||
|
|
|
|||
|
|
@ -1,213 +1,212 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sun Dec 19 14:44:51 2021 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 & clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$var wire 1 % net_1 $end
|
||||
$var wire 8 & net_8 [7:0] $end
|
||||
$var wire 1 & clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 1 $ net_1 $end
|
||||
$var wire 8 % net_8 [7:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
||||
|
||||
#0
|
||||
0#
|
||||
b00000000000000000000000000000000 $
|
||||
1%
|
||||
b11111111 &
|
||||
b00000000000000000000000000000000 #
|
||||
1$
|
||||
b11111111 %
|
||||
0&
|
||||
#10
|
||||
1#
|
||||
b00000000000000000000000000000001 $
|
||||
0%
|
||||
b00000000000000000000000000000001 #
|
||||
0$
|
||||
1&
|
||||
#15
|
||||
0#
|
||||
0&
|
||||
#20
|
||||
1#
|
||||
b00000000000000000000000000000010 $
|
||||
1%
|
||||
b11111110 &
|
||||
b00000000000000000000000000000010 #
|
||||
1$
|
||||
b11111110 %
|
||||
1&
|
||||
#25
|
||||
0#
|
||||
0&
|
||||
#30
|
||||
1#
|
||||
b00000000000000000000000000000011 $
|
||||
0%
|
||||
b00000000000000000000000000000011 #
|
||||
0$
|
||||
1&
|
||||
#35
|
||||
0#
|
||||
0&
|
||||
#40
|
||||
1#
|
||||
b00000000000000000000000000000100 $
|
||||
b11111101 &
|
||||
b00000000000000000000000000000100 #
|
||||
b11111101 %
|
||||
1&
|
||||
#45
|
||||
0#
|
||||
0&
|
||||
#50
|
||||
1#
|
||||
b00000000000000000000000000000101 $
|
||||
b01011111 &
|
||||
b00000000000000000000000000000101 #
|
||||
b01011111 %
|
||||
1&
|
||||
#55
|
||||
0#
|
||||
0&
|
||||
#60
|
||||
1#
|
||||
b00000000000000000000000000000110 $
|
||||
1%
|
||||
b00000000000000000000000000000110 #
|
||||
1$
|
||||
1&
|
||||
#65
|
||||
0#
|
||||
0&
|
||||
#70
|
||||
1#
|
||||
b00000000000000000000000000000111 $
|
||||
b11110101 &
|
||||
b00000000000000000000000000000111 #
|
||||
b11110101 %
|
||||
1&
|
||||
#75
|
||||
0#
|
||||
0&
|
||||
#80
|
||||
1#
|
||||
b00000000000000000000000000001000 $
|
||||
b00000000000000000000000000001000 #
|
||||
1&
|
||||
#85
|
||||
0#
|
||||
0&
|
||||
#90
|
||||
1#
|
||||
b00000000000000000000000000001001 $
|
||||
0%
|
||||
b00000000000000000000000000001001 #
|
||||
0$
|
||||
1&
|
||||
#95
|
||||
0#
|
||||
0&
|
||||
#100
|
||||
1#
|
||||
b00000000000000000000000000001010 $
|
||||
1%
|
||||
b11111010 &
|
||||
b00000000000000000000000000001010 #
|
||||
1$
|
||||
b11111010 %
|
||||
1&
|
||||
#105
|
||||
0#
|
||||
0&
|
||||
#110
|
||||
1#
|
||||
b00000000000000000000000000001011 $
|
||||
b01011010 &
|
||||
b00000000000000000000000000001011 #
|
||||
b01011010 %
|
||||
1&
|
||||
#115
|
||||
0#
|
||||
0&
|
||||
#120
|
||||
1#
|
||||
b00000000000000000000000000001100 $
|
||||
b00000000000000000000000000001100 #
|
||||
1&
|
||||
#125
|
||||
0#
|
||||
0&
|
||||
#130
|
||||
1#
|
||||
b00000000000000000000000000001101 $
|
||||
0%
|
||||
b10100101 &
|
||||
b00000000000000000000000000001101 #
|
||||
0$
|
||||
b10100101 %
|
||||
1&
|
||||
#135
|
||||
0#
|
||||
0&
|
||||
#140
|
||||
1#
|
||||
b00000000000000000000000000001110 $
|
||||
b00000000000000000000000000001110 #
|
||||
1&
|
||||
#145
|
||||
0#
|
||||
0&
|
||||
#150
|
||||
1#
|
||||
b00000000000000000000000000001111 $
|
||||
b11111000 &
|
||||
b00000000000000000000000000001111 #
|
||||
b11111000 %
|
||||
1&
|
||||
#155
|
||||
0#
|
||||
0&
|
||||
#160
|
||||
1#
|
||||
b00000000000000000000000000010000 $
|
||||
1%
|
||||
b11110111 &
|
||||
b00000000000000000000000000010000 #
|
||||
1$
|
||||
b11110111 %
|
||||
1&
|
||||
#165
|
||||
0#
|
||||
0&
|
||||
#170
|
||||
1#
|
||||
b00000000000000000000000000010001 $
|
||||
0%
|
||||
b00000000000000000000000000010001 #
|
||||
0$
|
||||
1&
|
||||
#175
|
||||
0#
|
||||
0&
|
||||
#180
|
||||
1#
|
||||
b00000000000000000000000000010010 $
|
||||
1%
|
||||
b11110110 &
|
||||
b00000000000000000000000000010010 #
|
||||
1$
|
||||
b11110110 %
|
||||
1&
|
||||
#185
|
||||
0#
|
||||
0&
|
||||
#190
|
||||
1#
|
||||
b00000000000000000000000000010011 $
|
||||
0%
|
||||
b00000000000000000000000000010011 #
|
||||
0$
|
||||
1&
|
||||
#195
|
||||
0#
|
||||
0&
|
||||
#200
|
||||
1#
|
||||
b00000000000000000000000000010100 $
|
||||
1%
|
||||
b11110101 &
|
||||
b00000000000000000000000000010100 #
|
||||
1$
|
||||
b11110101 %
|
||||
1&
|
||||
#205
|
||||
0#
|
||||
0&
|
||||
#210
|
||||
1#
|
||||
b00000000000000000000000000010101 $
|
||||
0%
|
||||
b00000000000000000000000000010101 #
|
||||
0$
|
||||
1&
|
||||
#215
|
||||
0#
|
||||
0&
|
||||
#220
|
||||
1#
|
||||
b00000000000000000000000000010110 $
|
||||
1%
|
||||
b11110100 &
|
||||
b00000000000000000000000000010110 #
|
||||
1$
|
||||
b11110100 %
|
||||
1&
|
||||
#225
|
||||
0#
|
||||
0&
|
||||
#230
|
||||
1#
|
||||
b00000000000000000000000000010111 $
|
||||
0%
|
||||
b00000000000000000000000000010111 #
|
||||
0$
|
||||
1&
|
||||
#235
|
||||
0#
|
||||
0&
|
||||
#240
|
||||
1#
|
||||
b00000000000000000000000000011000 $
|
||||
1%
|
||||
b11110011 &
|
||||
b00000000000000000000000000011000 #
|
||||
1$
|
||||
b11110011 %
|
||||
1&
|
||||
#245
|
||||
0#
|
||||
0&
|
||||
#250
|
||||
1#
|
||||
b00000000000000000000000000011001 $
|
||||
0%
|
||||
b00000000000000000000000000011001 #
|
||||
0$
|
||||
1&
|
||||
#255
|
||||
0#
|
||||
0&
|
||||
#260
|
||||
1#
|
||||
b00000000000000000000000000011010 $
|
||||
1%
|
||||
b11110010 &
|
||||
b00000000000000000000000000011010 #
|
||||
1$
|
||||
b11110010 %
|
||||
1&
|
||||
#265
|
||||
0#
|
||||
0&
|
||||
#270
|
||||
1#
|
||||
b00000000000000000000000000011011 $
|
||||
0%
|
||||
b00000000000000000000000000011011 #
|
||||
0$
|
||||
1&
|
||||
#275
|
||||
0#
|
||||
0&
|
||||
#280
|
||||
1#
|
||||
b00000000000000000000000000011100 $
|
||||
1%
|
||||
b11110001 &
|
||||
b00000000000000000000000000011100 #
|
||||
1$
|
||||
b11110001 %
|
||||
1&
|
||||
#285
|
||||
0#
|
||||
0&
|
||||
#290
|
||||
1#
|
||||
b00000000000000000000000000011101 $
|
||||
0%
|
||||
b00000000000000000000000000011101 #
|
||||
0$
|
||||
1&
|
||||
#295
|
||||
0#
|
||||
0&
|
||||
#300
|
||||
1#
|
||||
b00000000000000000000000000011110 $
|
||||
1%
|
||||
b11110000 &
|
||||
b00000000000000000000000000011110 #
|
||||
1$
|
||||
b11110000 %
|
||||
1&
|
||||
#305
|
||||
0#
|
||||
0&
|
||||
#310
|
||||
1#
|
||||
b00000000000000000000000000011111 $
|
||||
0%
|
||||
b00000000000000000000000000011111 #
|
||||
0$
|
||||
1&
|
||||
|
|
|
|||
|
|
@ -1,211 +1,210 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sun Dec 19 14:45:16 2021 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 & clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$var wire 1 % var_1 $end
|
||||
$var wire 8 & var_8 [7:0] $end
|
||||
$var wire 1 & clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 1 $ var_1 $end
|
||||
$var wire 8 % var_8 [7:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
||||
|
||||
#0
|
||||
0#
|
||||
b00000000000000000000000000000000 $
|
||||
0%
|
||||
b00000000 &
|
||||
b00000000000000000000000000000000 #
|
||||
0$
|
||||
b00000000 %
|
||||
0&
|
||||
#10
|
||||
1#
|
||||
b00000000000000000000000000000001 $
|
||||
b00000000000000000000000000000001 #
|
||||
1&
|
||||
#15
|
||||
0#
|
||||
0&
|
||||
#20
|
||||
1#
|
||||
b00000000000000000000000000000010 $
|
||||
1%
|
||||
b00000000000000000000000000000010 #
|
||||
1$
|
||||
1&
|
||||
#25
|
||||
0#
|
||||
0&
|
||||
#30
|
||||
1#
|
||||
b00000000000000000000000000000011 $
|
||||
0%
|
||||
b00000001 &
|
||||
b00000000000000000000000000000011 #
|
||||
0$
|
||||
b00000001 %
|
||||
1&
|
||||
#35
|
||||
0#
|
||||
0&
|
||||
#40
|
||||
1#
|
||||
b00000000000000000000000000000100 $
|
||||
1%
|
||||
b00000000000000000000000000000100 #
|
||||
1$
|
||||
1&
|
||||
#45
|
||||
0#
|
||||
0&
|
||||
#50
|
||||
1#
|
||||
b00000000000000000000000000000101 $
|
||||
0%
|
||||
b00000010 &
|
||||
b00000000000000000000000000000101 #
|
||||
0$
|
||||
b00000010 %
|
||||
1&
|
||||
#55
|
||||
0#
|
||||
0&
|
||||
#60
|
||||
1#
|
||||
b00000000000000000000000000000110 $
|
||||
1%
|
||||
b00000000000000000000000000000110 #
|
||||
1$
|
||||
1&
|
||||
#65
|
||||
0#
|
||||
0&
|
||||
#70
|
||||
1#
|
||||
b00000000000000000000000000000111 $
|
||||
0%
|
||||
b00000011 &
|
||||
b00000000000000000000000000000111 #
|
||||
0$
|
||||
b00000011 %
|
||||
1&
|
||||
#75
|
||||
0#
|
||||
0&
|
||||
#80
|
||||
1#
|
||||
b00000000000000000000000000001000 $
|
||||
1%
|
||||
b00000000000000000000000000001000 #
|
||||
1$
|
||||
1&
|
||||
#85
|
||||
0#
|
||||
0&
|
||||
#90
|
||||
1#
|
||||
b00000000000000000000000000001001 $
|
||||
0%
|
||||
b00000100 &
|
||||
b00000000000000000000000000001001 #
|
||||
0$
|
||||
b00000100 %
|
||||
1&
|
||||
#95
|
||||
0#
|
||||
0&
|
||||
#100
|
||||
1#
|
||||
b00000000000000000000000000001010 $
|
||||
1%
|
||||
b00000000000000000000000000001010 #
|
||||
1$
|
||||
1&
|
||||
#105
|
||||
0#
|
||||
0&
|
||||
#110
|
||||
1#
|
||||
b00000000000000000000000000001011 $
|
||||
0%
|
||||
b00000101 &
|
||||
b00000000000000000000000000001011 #
|
||||
0$
|
||||
b00000101 %
|
||||
1&
|
||||
#115
|
||||
0#
|
||||
0&
|
||||
#120
|
||||
1#
|
||||
b00000000000000000000000000001100 $
|
||||
1%
|
||||
b00000000000000000000000000001100 #
|
||||
1$
|
||||
1&
|
||||
#125
|
||||
0#
|
||||
0&
|
||||
#130
|
||||
1#
|
||||
b00000000000000000000000000001101 $
|
||||
0%
|
||||
b00000110 &
|
||||
b00000000000000000000000000001101 #
|
||||
0$
|
||||
b00000110 %
|
||||
1&
|
||||
#135
|
||||
0#
|
||||
0&
|
||||
#140
|
||||
1#
|
||||
b00000000000000000000000000001110 $
|
||||
1%
|
||||
b00000000000000000000000000001110 #
|
||||
1$
|
||||
1&
|
||||
#145
|
||||
0#
|
||||
0&
|
||||
#150
|
||||
1#
|
||||
b00000000000000000000000000001111 $
|
||||
b11110101 &
|
||||
b00000000000000000000000000001111 #
|
||||
b11110101 %
|
||||
1&
|
||||
#155
|
||||
0#
|
||||
0&
|
||||
#160
|
||||
1#
|
||||
b00000000000000000000000000010000 $
|
||||
0%
|
||||
b00000000000000000000000000010000 #
|
||||
0$
|
||||
1&
|
||||
#165
|
||||
0#
|
||||
0&
|
||||
#170
|
||||
1#
|
||||
b00000000000000000000000000010001 $
|
||||
b01011111 &
|
||||
b00000000000000000000000000010001 #
|
||||
b01011111 %
|
||||
1&
|
||||
#175
|
||||
0#
|
||||
0&
|
||||
#180
|
||||
1#
|
||||
b00000000000000000000000000010010 $
|
||||
b00000000000000000000000000010010 #
|
||||
1&
|
||||
#185
|
||||
0#
|
||||
0&
|
||||
#190
|
||||
1#
|
||||
b00000000000000000000000000010011 $
|
||||
b00000000000000000000000000010011 #
|
||||
1&
|
||||
#195
|
||||
0#
|
||||
0&
|
||||
#200
|
||||
1#
|
||||
b00000000000000000000000000010100 $
|
||||
1%
|
||||
b00001001 &
|
||||
b00000000000000000000000000010100 #
|
||||
1$
|
||||
b00001001 %
|
||||
1&
|
||||
#205
|
||||
0#
|
||||
0&
|
||||
#210
|
||||
1#
|
||||
b00000000000000000000000000010101 $
|
||||
b01011010 &
|
||||
b00000000000000000000000000010101 #
|
||||
b01011010 %
|
||||
1&
|
||||
#215
|
||||
0#
|
||||
0&
|
||||
#220
|
||||
1#
|
||||
b00000000000000000000000000010110 $
|
||||
b00000000000000000000000000010110 #
|
||||
1&
|
||||
#225
|
||||
0#
|
||||
0&
|
||||
#230
|
||||
1#
|
||||
b00000000000000000000000000010111 $
|
||||
0%
|
||||
b10100101 &
|
||||
b00000000000000000000000000010111 #
|
||||
0$
|
||||
b10100101 %
|
||||
1&
|
||||
#235
|
||||
0#
|
||||
0&
|
||||
#240
|
||||
1#
|
||||
b00000000000000000000000000011000 $
|
||||
b00000000000000000000000000011000 #
|
||||
1&
|
||||
#245
|
||||
0#
|
||||
0&
|
||||
#250
|
||||
1#
|
||||
b00000000000000000000000000011001 $
|
||||
b00001100 &
|
||||
b00000000000000000000000000011001 #
|
||||
b00001100 %
|
||||
1&
|
||||
#255
|
||||
0#
|
||||
0&
|
||||
#260
|
||||
1#
|
||||
b00000000000000000000000000011010 $
|
||||
1%
|
||||
b00000000000000000000000000011010 #
|
||||
1$
|
||||
1&
|
||||
#265
|
||||
0#
|
||||
0&
|
||||
#270
|
||||
1#
|
||||
b00000000000000000000000000011011 $
|
||||
0%
|
||||
b00001101 &
|
||||
b00000000000000000000000000011011 #
|
||||
0$
|
||||
b00001101 %
|
||||
1&
|
||||
#275
|
||||
0#
|
||||
0&
|
||||
#280
|
||||
1#
|
||||
b00000000000000000000000000011100 $
|
||||
1%
|
||||
b00000000000000000000000000011100 #
|
||||
1$
|
||||
1&
|
||||
#285
|
||||
0#
|
||||
0&
|
||||
#290
|
||||
1#
|
||||
b00000000000000000000000000011101 $
|
||||
0%
|
||||
b00001110 &
|
||||
b00000000000000000000000000011101 #
|
||||
0$
|
||||
b00001110 %
|
||||
1&
|
||||
#295
|
||||
0#
|
||||
0&
|
||||
#300
|
||||
1#
|
||||
b00000000000000000000000000011110 $
|
||||
1%
|
||||
b00000000000000000000000000011110 #
|
||||
1$
|
||||
1&
|
||||
#305
|
||||
0#
|
||||
0&
|
||||
#310
|
||||
1#
|
||||
b00000000000000000000000000011111 $
|
||||
0%
|
||||
b00001111 &
|
||||
b00000000000000000000000000011111 #
|
||||
0$
|
||||
b00001111 %
|
||||
1&
|
||||
|
|
|
|||
|
|
@ -1,17 +1,16 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sun Dec 19 19:39:17 2021 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ rst $end
|
||||
$var wire 32 % cyc [31:0] $end
|
||||
$var wire 1 $ rst $end
|
||||
$scope module t $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ rst $end
|
||||
$var wire 32 % cyc [31:0] $end
|
||||
$var wire 1 & net_1 $end
|
||||
$var wire 8 ' net_8 [7:0] $end
|
||||
$var wire 1 $ rst $end
|
||||
$var wire 1 & net_1 $end
|
||||
$var wire 8 ' net_8 [7:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
|
|
|||
|
|
@ -1,17 +1,16 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sun Dec 19 19:26:33 2021 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ rst $end
|
||||
$var wire 32 % cyc [31:0] $end
|
||||
$var wire 1 $ rst $end
|
||||
$scope module t $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ rst $end
|
||||
$var wire 32 % cyc [31:0] $end
|
||||
$var wire 1 $ rst $end
|
||||
$var wire 1 & var_1 $end
|
||||
$var wire 8 ' var_8 [7:0] $end
|
||||
$var wire 1 & var_1 $end
|
||||
$var wire 8 ' var_8 [7:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -1,234 +1,297 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Thu Apr 14 07:06:40 2022 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 1 0 clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$scope module a $end
|
||||
$scope module ac1 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_1 $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module ac2 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac3 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 * value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 + val100 [31:0] $end
|
||||
$var wire 32 , val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module as3 $end
|
||||
$scope module intf_for_struct $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 * value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 + val100 [31:0] $end
|
||||
$var wire 32 , val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_in_sub_all $end
|
||||
$var wire 1 0 clk $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 * value [31:0] $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 3 value [31:0] $end
|
||||
$upscope $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 + val100 [31:0] $end
|
||||
$var wire 32 , val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_one $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_two $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module abcdefghijklmnopqrstuvwxyz $end
|
||||
$scope module ac1 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_2 $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module ac2 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac3 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 - value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 . val100 [31:0] $end
|
||||
$var wire 32 / val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module as3 $end
|
||||
$scope module intf_for_struct $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 - value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 . val100 [31:0] $end
|
||||
$var wire 32 / val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_in_sub_all $end
|
||||
$var wire 1 0 clk $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 - value [31:0] $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 4 value [31:0] $end
|
||||
$upscope $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 . val100 [31:0] $end
|
||||
$var wire 32 / val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_one $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_two $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module c1 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module c2 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_1 $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_2 $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module s1 $end
|
||||
$scope module intf_for_struct $end
|
||||
$var wire 1 0 clk $end
|
||||
$scope module a $end
|
||||
$scope module intf_one $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module s2 $end
|
||||
$scope module intf_for_struct $end
|
||||
$var wire 1 0 clk $end
|
||||
$scope module intf_two $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_in_sub_all $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 * value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 + val100 [31:0] $end
|
||||
$var wire 32 , val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 3 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac1 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac2 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac3 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 * value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 + val100 [31:0] $end
|
||||
$var wire 32 , val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 3 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module as3 $end
|
||||
$scope module intf_for_struct $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 * value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 + val100 [31:0] $end
|
||||
$var wire 32 , val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 3 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module abcdefghijklmnopqrstuvwxyz $end
|
||||
$scope module intf_one $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_two $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_in_sub_all $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 - value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 . val100 [31:0] $end
|
||||
$var wire 32 / val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 4 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac1 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac2 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac3 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 - value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 . val100 [31:0] $end
|
||||
$var wire 32 / val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 4 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module as3 $end
|
||||
$scope module intf_for_struct $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 - value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 . val100 [31:0] $end
|
||||
$var wire 32 / val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 4 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module s1 $end
|
||||
$scope module intf_for_struct $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module s2 $end
|
||||
$scope module intf_for_struct $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
$date
|
||||
Thu Apr 14 07:06:50 2022
|
||||
Tue Oct 24 11:00:16 2023
|
||||
|
||||
$end
|
||||
$version
|
||||
|
|
@ -13,15 +13,84 @@ $var wire 1 ! clk $end
|
|||
$scope module t $end
|
||||
$var wire 1 ! clk $end
|
||||
$var integer 32 " cyc [31:0] $end
|
||||
$scope interface intf_1 $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 $ val100 [31:0] $end
|
||||
$var integer 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_2 $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 ' value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 ( val100 [31:0] $end
|
||||
$var integer 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 * value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module a $end
|
||||
$scope interface intf_one $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 $ val100 [31:0] $end
|
||||
$var integer 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_two $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 ' value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 ( val100 [31:0] $end
|
||||
$var integer 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 * value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_in_sub_all $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 + value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 , val100 [31:0] $end
|
||||
$var integer 32 - val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 . value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac1 $end
|
||||
$scope interface intf_for_check $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 $ val100 [31:0] $end
|
||||
$var logic 32 % val200 [31:0] $end
|
||||
$var integer 32 $ val100 [31:0] $end
|
||||
$var integer 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -29,10 +98,14 @@ $scope module ac2 $end
|
|||
$scope interface intf_for_check $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$var integer 32 ' value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 ' val100 [31:0] $end
|
||||
$var logic 32 ( val200 [31:0] $end
|
||||
$var integer 32 ( val100 [31:0] $end
|
||||
$var integer 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 * value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -40,10 +113,14 @@ $scope module ac3 $end
|
|||
$scope interface intf_for_check $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 ) value [31:0] $end
|
||||
$var integer 32 + value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 * val100 [31:0] $end
|
||||
$var logic 32 + val200 [31:0] $end
|
||||
$var integer 32 , val100 [31:0] $end
|
||||
$var integer 32 - val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 . value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -51,54 +128,70 @@ $scope module as3 $end
|
|||
$scope interface intf_for_struct $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 ) value [31:0] $end
|
||||
$var integer 32 + value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 * val100 [31:0] $end
|
||||
$var logic 32 + val200 [31:0] $end
|
||||
$var integer 32 , val100 [31:0] $end
|
||||
$var integer 32 - val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_in_sub_all $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 , value [31:0] $end
|
||||
$var integer 32 . value [31:0] $end
|
||||
$upscope $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 ) value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 * val100 [31:0] $end
|
||||
$var logic 32 + val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_one $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 $ val100 [31:0] $end
|
||||
$var logic 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_two $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 ' val100 [31:0] $end
|
||||
$var logic 32 ( val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module abcdefghijklmnopqrstuvwxyz $end
|
||||
$scope interface intf_one $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 ' value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 ( val100 [31:0] $end
|
||||
$var integer 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 * value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_two $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 $ val100 [31:0] $end
|
||||
$var integer 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_in_sub_all $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 / value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 0 val100 [31:0] $end
|
||||
$var integer 32 1 val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac1 $end
|
||||
$scope interface intf_for_check $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$var integer 32 ' value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 ' val100 [31:0] $end
|
||||
$var logic 32 ( val200 [31:0] $end
|
||||
$var integer 32 ( val100 [31:0] $end
|
||||
$var integer 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 * value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -108,8 +201,12 @@ $var wire 1 ! clk $end
|
|||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 $ val100 [31:0] $end
|
||||
$var logic 32 % val200 [31:0] $end
|
||||
$var integer 32 $ val100 [31:0] $end
|
||||
$var integer 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -117,10 +214,14 @@ $scope module ac3 $end
|
|||
$scope interface intf_for_check $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 - value [31:0] $end
|
||||
$var integer 32 / value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 . val100 [31:0] $end
|
||||
$var logic 32 / val200 [31:0] $end
|
||||
$var integer 32 0 val100 [31:0] $end
|
||||
$var integer 32 1 val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -128,42 +229,15 @@ $scope module as3 $end
|
|||
$scope interface intf_for_struct $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 - value [31:0] $end
|
||||
$var integer 32 / value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 . val100 [31:0] $end
|
||||
$var logic 32 / val200 [31:0] $end
|
||||
$var integer 32 0 val100 [31:0] $end
|
||||
$var integer 32 1 val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_in_sub_all $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 0 value [31:0] $end
|
||||
$var integer 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 - value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 . val100 [31:0] $end
|
||||
$var logic 32 / val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_one $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 ' val100 [31:0] $end
|
||||
$var logic 32 ( val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_two $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 $ val100 [31:0] $end
|
||||
$var logic 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -173,8 +247,12 @@ $var wire 1 ! clk $end
|
|||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 $ val100 [31:0] $end
|
||||
$var logic 32 % val200 [31:0] $end
|
||||
$var integer 32 $ val100 [31:0] $end
|
||||
$var integer 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -182,37 +260,15 @@ $scope module c2 $end
|
|||
$scope interface intf_for_check $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$var integer 32 ' value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 ' val100 [31:0] $end
|
||||
$var logic 32 ( val200 [31:0] $end
|
||||
$var integer 32 ( val100 [31:0] $end
|
||||
$var integer 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_1 $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 1 value [31:0] $end
|
||||
$var integer 32 * value [31:0] $end
|
||||
$upscope $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 $ val100 [31:0] $end
|
||||
$var logic 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_2 $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 ' val100 [31:0] $end
|
||||
$var logic 32 ( val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module s1 $end
|
||||
|
|
@ -221,8 +277,12 @@ $var wire 1 ! clk $end
|
|||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 $ val100 [31:0] $end
|
||||
$var logic 32 % val200 [31:0] $end
|
||||
$var integer 32 $ val100 [31:0] $end
|
||||
$var integer 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -230,10 +290,14 @@ $scope module s2 $end
|
|||
$scope interface intf_for_struct $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$var integer 32 ' value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 ' val100 [31:0] $end
|
||||
$var logic 32 ( val200 [31:0] $end
|
||||
$var integer 32 ( val100 [31:0] $end
|
||||
$var integer 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 * value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -243,18 +307,18 @@ $enddefinitions $end
|
|||
#0
|
||||
$dumpvars
|
||||
b00000000000000000000000000000000 2
|
||||
b00000000000000000000000000000000 1
|
||||
b00000000000000000000000000000000 0
|
||||
b00000000000000000000010010110010 /
|
||||
b00000000000000000000010001001110 .
|
||||
b00000000000000000000001111101010 -
|
||||
b00000000000000000000000000000000 ,
|
||||
b00000000000000000000010010110001 +
|
||||
b00000000000000000000010001001101 *
|
||||
b00000000000000000000001111101001 )
|
||||
b00000000000000000000000011001010 (
|
||||
b00000000000000000000000001100110 '
|
||||
b00000000000000000000000000000010 &
|
||||
b00000000000000000000010010110010 1
|
||||
b00000000000000000000010001001110 0
|
||||
b00000000000000000000001111101010 /
|
||||
b00000000000000000000000000000000 .
|
||||
b00000000000000000000010010110001 -
|
||||
b00000000000000000000010001001101 ,
|
||||
b00000000000000000000001111101001 +
|
||||
b00000000000000000000000000000000 *
|
||||
b00000000000000000000000011001010 )
|
||||
b00000000000000000000000001100110 (
|
||||
b00000000000000000000000000000010 '
|
||||
b00000000000000000000000000000000 &
|
||||
b00000000000000000000000011001001 %
|
||||
b00000000000000000000000001100101 $
|
||||
b00000000000000000000000000000001 #
|
||||
|
|
@ -267,28 +331,28 @@ b00000000000000000000000000000001 "
|
|||
b00000000000000000000000000000010 #
|
||||
b00000000000000000000000001100110 $
|
||||
b00000000000000000000000011001010 %
|
||||
b00000000000000000000000000000011 &
|
||||
b00000000000000000000000001100111 '
|
||||
b00000000000000000000000011001011 (
|
||||
b00000000000000000000001111101010 )
|
||||
b00000000000000000000010001001110 *
|
||||
b00000000000000000000010010110010 +
|
||||
b00000000000000000000001111101011 -
|
||||
b00000000000000000000010001001111 .
|
||||
b00000000000000000000010010110011 /
|
||||
b00000000000000000000000000000011 '
|
||||
b00000000000000000000000001100111 (
|
||||
b00000000000000000000000011001011 )
|
||||
b00000000000000000000001111101010 +
|
||||
b00000000000000000000010001001110 ,
|
||||
b00000000000000000000010010110010 -
|
||||
b00000000000000000000001111101011 /
|
||||
b00000000000000000000010001001111 0
|
||||
b00000000000000000000010010110011 1
|
||||
#15
|
||||
0!
|
||||
#20
|
||||
1!
|
||||
b00000000000000000000010010110100 /
|
||||
b00000000000000000000010001010000 .
|
||||
b00000000000000000000001111101100 -
|
||||
b00000000000000000000010010110011 +
|
||||
b00000000000000000000010001001111 *
|
||||
b00000000000000000000001111101011 )
|
||||
b00000000000000000000000011001100 (
|
||||
b00000000000000000000000001101000 '
|
||||
b00000000000000000000000000000100 &
|
||||
b00000000000000000000010010110100 1
|
||||
b00000000000000000000010001010000 0
|
||||
b00000000000000000000001111101100 /
|
||||
b00000000000000000000010010110011 -
|
||||
b00000000000000000000010001001111 ,
|
||||
b00000000000000000000001111101011 +
|
||||
b00000000000000000000000011001100 )
|
||||
b00000000000000000000000001101000 (
|
||||
b00000000000000000000000000000100 '
|
||||
b00000000000000000000000011001011 %
|
||||
b00000000000000000000000001100111 $
|
||||
b00000000000000000000000000000011 #
|
||||
|
|
@ -301,28 +365,28 @@ b00000000000000000000000000000011 "
|
|||
b00000000000000000000000000000100 #
|
||||
b00000000000000000000000001101000 $
|
||||
b00000000000000000000000011001100 %
|
||||
b00000000000000000000000000000101 &
|
||||
b00000000000000000000000001101001 '
|
||||
b00000000000000000000000011001101 (
|
||||
b00000000000000000000001111101100 )
|
||||
b00000000000000000000010001010000 *
|
||||
b00000000000000000000010010110100 +
|
||||
b00000000000000000000001111101101 -
|
||||
b00000000000000000000010001010001 .
|
||||
b00000000000000000000010010110101 /
|
||||
b00000000000000000000000000000101 '
|
||||
b00000000000000000000000001101001 (
|
||||
b00000000000000000000000011001101 )
|
||||
b00000000000000000000001111101100 +
|
||||
b00000000000000000000010001010000 ,
|
||||
b00000000000000000000010010110100 -
|
||||
b00000000000000000000001111101101 /
|
||||
b00000000000000000000010001010001 0
|
||||
b00000000000000000000010010110101 1
|
||||
#35
|
||||
0!
|
||||
#40
|
||||
1!
|
||||
b00000000000000000000010010110110 /
|
||||
b00000000000000000000010001010010 .
|
||||
b00000000000000000000001111101110 -
|
||||
b00000000000000000000010010110101 +
|
||||
b00000000000000000000010001010001 *
|
||||
b00000000000000000000001111101101 )
|
||||
b00000000000000000000000011001110 (
|
||||
b00000000000000000000000001101010 '
|
||||
b00000000000000000000000000000110 &
|
||||
b00000000000000000000010010110110 1
|
||||
b00000000000000000000010001010010 0
|
||||
b00000000000000000000001111101110 /
|
||||
b00000000000000000000010010110101 -
|
||||
b00000000000000000000010001010001 ,
|
||||
b00000000000000000000001111101101 +
|
||||
b00000000000000000000000011001110 )
|
||||
b00000000000000000000000001101010 (
|
||||
b00000000000000000000000000000110 '
|
||||
b00000000000000000000000011001101 %
|
||||
b00000000000000000000000001101001 $
|
||||
b00000000000000000000000000000101 #
|
||||
|
|
@ -335,28 +399,28 @@ b00000000000000000000000000000101 "
|
|||
b00000000000000000000000000000110 #
|
||||
b00000000000000000000000001101010 $
|
||||
b00000000000000000000000011001110 %
|
||||
b00000000000000000000000000000111 &
|
||||
b00000000000000000000000001101011 '
|
||||
b00000000000000000000000011001111 (
|
||||
b00000000000000000000001111101110 )
|
||||
b00000000000000000000010001010010 *
|
||||
b00000000000000000000010010110110 +
|
||||
b00000000000000000000001111101111 -
|
||||
b00000000000000000000010001010011 .
|
||||
b00000000000000000000010010110111 /
|
||||
b00000000000000000000000000000111 '
|
||||
b00000000000000000000000001101011 (
|
||||
b00000000000000000000000011001111 )
|
||||
b00000000000000000000001111101110 +
|
||||
b00000000000000000000010001010010 ,
|
||||
b00000000000000000000010010110110 -
|
||||
b00000000000000000000001111101111 /
|
||||
b00000000000000000000010001010011 0
|
||||
b00000000000000000000010010110111 1
|
||||
#55
|
||||
0!
|
||||
#60
|
||||
1!
|
||||
b00000000000000000000010010111000 /
|
||||
b00000000000000000000010001010100 .
|
||||
b00000000000000000000001111110000 -
|
||||
b00000000000000000000010010110111 +
|
||||
b00000000000000000000010001010011 *
|
||||
b00000000000000000000001111101111 )
|
||||
b00000000000000000000000011010000 (
|
||||
b00000000000000000000000001101100 '
|
||||
b00000000000000000000000000001000 &
|
||||
b00000000000000000000010010111000 1
|
||||
b00000000000000000000010001010100 0
|
||||
b00000000000000000000001111110000 /
|
||||
b00000000000000000000010010110111 -
|
||||
b00000000000000000000010001010011 ,
|
||||
b00000000000000000000001111101111 +
|
||||
b00000000000000000000000011010000 )
|
||||
b00000000000000000000000001101100 (
|
||||
b00000000000000000000000000001000 '
|
||||
b00000000000000000000000011001111 %
|
||||
b00000000000000000000000001101011 $
|
||||
b00000000000000000000000000000111 #
|
||||
|
|
@ -369,28 +433,28 @@ b00000000000000000000000000000111 "
|
|||
b00000000000000000000000000001000 #
|
||||
b00000000000000000000000001101100 $
|
||||
b00000000000000000000000011010000 %
|
||||
b00000000000000000000000000001001 &
|
||||
b00000000000000000000000001101101 '
|
||||
b00000000000000000000000011010001 (
|
||||
b00000000000000000000001111110000 )
|
||||
b00000000000000000000010001010100 *
|
||||
b00000000000000000000010010111000 +
|
||||
b00000000000000000000001111110001 -
|
||||
b00000000000000000000010001010101 .
|
||||
b00000000000000000000010010111001 /
|
||||
b00000000000000000000000000001001 '
|
||||
b00000000000000000000000001101101 (
|
||||
b00000000000000000000000011010001 )
|
||||
b00000000000000000000001111110000 +
|
||||
b00000000000000000000010001010100 ,
|
||||
b00000000000000000000010010111000 -
|
||||
b00000000000000000000001111110001 /
|
||||
b00000000000000000000010001010101 0
|
||||
b00000000000000000000010010111001 1
|
||||
#75
|
||||
0!
|
||||
#80
|
||||
1!
|
||||
b00000000000000000000010010111010 /
|
||||
b00000000000000000000010001010110 .
|
||||
b00000000000000000000001111110010 -
|
||||
b00000000000000000000010010111001 +
|
||||
b00000000000000000000010001010101 *
|
||||
b00000000000000000000001111110001 )
|
||||
b00000000000000000000000011010010 (
|
||||
b00000000000000000000000001101110 '
|
||||
b00000000000000000000000000001010 &
|
||||
b00000000000000000000010010111010 1
|
||||
b00000000000000000000010001010110 0
|
||||
b00000000000000000000001111110010 /
|
||||
b00000000000000000000010010111001 -
|
||||
b00000000000000000000010001010101 ,
|
||||
b00000000000000000000001111110001 +
|
||||
b00000000000000000000000011010010 )
|
||||
b00000000000000000000000001101110 (
|
||||
b00000000000000000000000000001010 '
|
||||
b00000000000000000000000011010001 %
|
||||
b00000000000000000000000001101101 $
|
||||
b00000000000000000000000000001001 #
|
||||
|
|
@ -403,28 +467,28 @@ b00000000000000000000000000001001 "
|
|||
b00000000000000000000000000001010 #
|
||||
b00000000000000000000000001101110 $
|
||||
b00000000000000000000000011010010 %
|
||||
b00000000000000000000000000001011 &
|
||||
b00000000000000000000000001101111 '
|
||||
b00000000000000000000000011010011 (
|
||||
b00000000000000000000001111110010 )
|
||||
b00000000000000000000010001010110 *
|
||||
b00000000000000000000010010111010 +
|
||||
b00000000000000000000001111110011 -
|
||||
b00000000000000000000010001010111 .
|
||||
b00000000000000000000010010111011 /
|
||||
b00000000000000000000000000001011 '
|
||||
b00000000000000000000000001101111 (
|
||||
b00000000000000000000000011010011 )
|
||||
b00000000000000000000001111110010 +
|
||||
b00000000000000000000010001010110 ,
|
||||
b00000000000000000000010010111010 -
|
||||
b00000000000000000000001111110011 /
|
||||
b00000000000000000000010001010111 0
|
||||
b00000000000000000000010010111011 1
|
||||
#95
|
||||
0!
|
||||
#100
|
||||
1!
|
||||
b00000000000000000000010010111100 /
|
||||
b00000000000000000000010001011000 .
|
||||
b00000000000000000000001111110100 -
|
||||
b00000000000000000000010010111011 +
|
||||
b00000000000000000000010001010111 *
|
||||
b00000000000000000000001111110011 )
|
||||
b00000000000000000000000011010100 (
|
||||
b00000000000000000000000001110000 '
|
||||
b00000000000000000000000000001100 &
|
||||
b00000000000000000000010010111100 1
|
||||
b00000000000000000000010001011000 0
|
||||
b00000000000000000000001111110100 /
|
||||
b00000000000000000000010010111011 -
|
||||
b00000000000000000000010001010111 ,
|
||||
b00000000000000000000001111110011 +
|
||||
b00000000000000000000000011010100 )
|
||||
b00000000000000000000000001110000 (
|
||||
b00000000000000000000000000001100 '
|
||||
b00000000000000000000000011010011 %
|
||||
b00000000000000000000000001101111 $
|
||||
b00000000000000000000000000001011 #
|
||||
|
|
@ -437,28 +501,28 @@ b00000000000000000000000000001011 "
|
|||
b00000000000000000000000000001100 #
|
||||
b00000000000000000000000001110000 $
|
||||
b00000000000000000000000011010100 %
|
||||
b00000000000000000000000000001101 &
|
||||
b00000000000000000000000001110001 '
|
||||
b00000000000000000000000011010101 (
|
||||
b00000000000000000000001111110100 )
|
||||
b00000000000000000000010001011000 *
|
||||
b00000000000000000000010010111100 +
|
||||
b00000000000000000000001111110101 -
|
||||
b00000000000000000000010001011001 .
|
||||
b00000000000000000000010010111101 /
|
||||
b00000000000000000000000000001101 '
|
||||
b00000000000000000000000001110001 (
|
||||
b00000000000000000000000011010101 )
|
||||
b00000000000000000000001111110100 +
|
||||
b00000000000000000000010001011000 ,
|
||||
b00000000000000000000010010111100 -
|
||||
b00000000000000000000001111110101 /
|
||||
b00000000000000000000010001011001 0
|
||||
b00000000000000000000010010111101 1
|
||||
#115
|
||||
0!
|
||||
#120
|
||||
1!
|
||||
b00000000000000000000010010111110 /
|
||||
b00000000000000000000010001011010 .
|
||||
b00000000000000000000001111110110 -
|
||||
b00000000000000000000010010111101 +
|
||||
b00000000000000000000010001011001 *
|
||||
b00000000000000000000001111110101 )
|
||||
b00000000000000000000000011010110 (
|
||||
b00000000000000000000000001110010 '
|
||||
b00000000000000000000000000001110 &
|
||||
b00000000000000000000010010111110 1
|
||||
b00000000000000000000010001011010 0
|
||||
b00000000000000000000001111110110 /
|
||||
b00000000000000000000010010111101 -
|
||||
b00000000000000000000010001011001 ,
|
||||
b00000000000000000000001111110101 +
|
||||
b00000000000000000000000011010110 )
|
||||
b00000000000000000000000001110010 (
|
||||
b00000000000000000000000000001110 '
|
||||
b00000000000000000000000011010101 %
|
||||
b00000000000000000000000001110001 $
|
||||
b00000000000000000000000000001101 #
|
||||
|
|
@ -471,28 +535,28 @@ b00000000000000000000000000001101 "
|
|||
b00000000000000000000000000001110 #
|
||||
b00000000000000000000000001110010 $
|
||||
b00000000000000000000000011010110 %
|
||||
b00000000000000000000000000001111 &
|
||||
b00000000000000000000000001110011 '
|
||||
b00000000000000000000000011010111 (
|
||||
b00000000000000000000001111110110 )
|
||||
b00000000000000000000010001011010 *
|
||||
b00000000000000000000010010111110 +
|
||||
b00000000000000000000001111110111 -
|
||||
b00000000000000000000010001011011 .
|
||||
b00000000000000000000010010111111 /
|
||||
b00000000000000000000000000001111 '
|
||||
b00000000000000000000000001110011 (
|
||||
b00000000000000000000000011010111 )
|
||||
b00000000000000000000001111110110 +
|
||||
b00000000000000000000010001011010 ,
|
||||
b00000000000000000000010010111110 -
|
||||
b00000000000000000000001111110111 /
|
||||
b00000000000000000000010001011011 0
|
||||
b00000000000000000000010010111111 1
|
||||
#135
|
||||
0!
|
||||
#140
|
||||
1!
|
||||
b00000000000000000000010011000000 /
|
||||
b00000000000000000000010001011100 .
|
||||
b00000000000000000000001111111000 -
|
||||
b00000000000000000000010010111111 +
|
||||
b00000000000000000000010001011011 *
|
||||
b00000000000000000000001111110111 )
|
||||
b00000000000000000000000011011000 (
|
||||
b00000000000000000000000001110100 '
|
||||
b00000000000000000000000000010000 &
|
||||
b00000000000000000000010011000000 1
|
||||
b00000000000000000000010001011100 0
|
||||
b00000000000000000000001111111000 /
|
||||
b00000000000000000000010010111111 -
|
||||
b00000000000000000000010001011011 ,
|
||||
b00000000000000000000001111110111 +
|
||||
b00000000000000000000000011011000 )
|
||||
b00000000000000000000000001110100 (
|
||||
b00000000000000000000000000010000 '
|
||||
b00000000000000000000000011010111 %
|
||||
b00000000000000000000000001110011 $
|
||||
b00000000000000000000000000001111 #
|
||||
|
|
@ -505,28 +569,28 @@ b00000000000000000000000000001111 "
|
|||
b00000000000000000000000000010000 #
|
||||
b00000000000000000000000001110100 $
|
||||
b00000000000000000000000011011000 %
|
||||
b00000000000000000000000000010001 &
|
||||
b00000000000000000000000001110101 '
|
||||
b00000000000000000000000011011001 (
|
||||
b00000000000000000000001111111000 )
|
||||
b00000000000000000000010001011100 *
|
||||
b00000000000000000000010011000000 +
|
||||
b00000000000000000000001111111001 -
|
||||
b00000000000000000000010001011101 .
|
||||
b00000000000000000000010011000001 /
|
||||
b00000000000000000000000000010001 '
|
||||
b00000000000000000000000001110101 (
|
||||
b00000000000000000000000011011001 )
|
||||
b00000000000000000000001111111000 +
|
||||
b00000000000000000000010001011100 ,
|
||||
b00000000000000000000010011000000 -
|
||||
b00000000000000000000001111111001 /
|
||||
b00000000000000000000010001011101 0
|
||||
b00000000000000000000010011000001 1
|
||||
#155
|
||||
0!
|
||||
#160
|
||||
1!
|
||||
b00000000000000000000010011000010 /
|
||||
b00000000000000000000010001011110 .
|
||||
b00000000000000000000001111111010 -
|
||||
b00000000000000000000010011000001 +
|
||||
b00000000000000000000010001011101 *
|
||||
b00000000000000000000001111111001 )
|
||||
b00000000000000000000000011011010 (
|
||||
b00000000000000000000000001110110 '
|
||||
b00000000000000000000000000010010 &
|
||||
b00000000000000000000010011000010 1
|
||||
b00000000000000000000010001011110 0
|
||||
b00000000000000000000001111111010 /
|
||||
b00000000000000000000010011000001 -
|
||||
b00000000000000000000010001011101 ,
|
||||
b00000000000000000000001111111001 +
|
||||
b00000000000000000000000011011010 )
|
||||
b00000000000000000000000001110110 (
|
||||
b00000000000000000000000000010010 '
|
||||
b00000000000000000000000011011001 %
|
||||
b00000000000000000000000001110101 $
|
||||
b00000000000000000000000000010001 #
|
||||
|
|
@ -539,28 +603,28 @@ b00000000000000000000000000010001 "
|
|||
b00000000000000000000000000010010 #
|
||||
b00000000000000000000000001110110 $
|
||||
b00000000000000000000000011011010 %
|
||||
b00000000000000000000000000010011 &
|
||||
b00000000000000000000000001110111 '
|
||||
b00000000000000000000000011011011 (
|
||||
b00000000000000000000001111111010 )
|
||||
b00000000000000000000010001011110 *
|
||||
b00000000000000000000010011000010 +
|
||||
b00000000000000000000001111111011 -
|
||||
b00000000000000000000010001011111 .
|
||||
b00000000000000000000010011000011 /
|
||||
b00000000000000000000000000010011 '
|
||||
b00000000000000000000000001110111 (
|
||||
b00000000000000000000000011011011 )
|
||||
b00000000000000000000001111111010 +
|
||||
b00000000000000000000010001011110 ,
|
||||
b00000000000000000000010011000010 -
|
||||
b00000000000000000000001111111011 /
|
||||
b00000000000000000000010001011111 0
|
||||
b00000000000000000000010011000011 1
|
||||
#175
|
||||
0!
|
||||
#180
|
||||
1!
|
||||
b00000000000000000000010011000100 /
|
||||
b00000000000000000000010001100000 .
|
||||
b00000000000000000000001111111100 -
|
||||
b00000000000000000000010011000011 +
|
||||
b00000000000000000000010001011111 *
|
||||
b00000000000000000000001111111011 )
|
||||
b00000000000000000000000011011100 (
|
||||
b00000000000000000000000001111000 '
|
||||
b00000000000000000000000000010100 &
|
||||
b00000000000000000000010011000100 1
|
||||
b00000000000000000000010001100000 0
|
||||
b00000000000000000000001111111100 /
|
||||
b00000000000000000000010011000011 -
|
||||
b00000000000000000000010001011111 ,
|
||||
b00000000000000000000001111111011 +
|
||||
b00000000000000000000000011011100 )
|
||||
b00000000000000000000000001111000 (
|
||||
b00000000000000000000000000010100 '
|
||||
b00000000000000000000000011011011 %
|
||||
b00000000000000000000000001110111 $
|
||||
b00000000000000000000000000010011 #
|
||||
|
|
@ -573,28 +637,28 @@ b00000000000000000000000000010011 "
|
|||
b00000000000000000000000000010100 #
|
||||
b00000000000000000000000001111000 $
|
||||
b00000000000000000000000011011100 %
|
||||
b00000000000000000000000000010101 &
|
||||
b00000000000000000000000001111001 '
|
||||
b00000000000000000000000011011101 (
|
||||
b00000000000000000000001111111100 )
|
||||
b00000000000000000000010001100000 *
|
||||
b00000000000000000000010011000100 +
|
||||
b00000000000000000000001111111101 -
|
||||
b00000000000000000000010001100001 .
|
||||
b00000000000000000000010011000101 /
|
||||
b00000000000000000000000000010101 '
|
||||
b00000000000000000000000001111001 (
|
||||
b00000000000000000000000011011101 )
|
||||
b00000000000000000000001111111100 +
|
||||
b00000000000000000000010001100000 ,
|
||||
b00000000000000000000010011000100 -
|
||||
b00000000000000000000001111111101 /
|
||||
b00000000000000000000010001100001 0
|
||||
b00000000000000000000010011000101 1
|
||||
#195
|
||||
0!
|
||||
#200
|
||||
1!
|
||||
b00000000000000000000010011000110 /
|
||||
b00000000000000000000010001100010 .
|
||||
b00000000000000000000001111111110 -
|
||||
b00000000000000000000010011000101 +
|
||||
b00000000000000000000010001100001 *
|
||||
b00000000000000000000001111111101 )
|
||||
b00000000000000000000000011011110 (
|
||||
b00000000000000000000000001111010 '
|
||||
b00000000000000000000000000010110 &
|
||||
b00000000000000000000010011000110 1
|
||||
b00000000000000000000010001100010 0
|
||||
b00000000000000000000001111111110 /
|
||||
b00000000000000000000010011000101 -
|
||||
b00000000000000000000010001100001 ,
|
||||
b00000000000000000000001111111101 +
|
||||
b00000000000000000000000011011110 )
|
||||
b00000000000000000000000001111010 (
|
||||
b00000000000000000000000000010110 '
|
||||
b00000000000000000000000011011101 %
|
||||
b00000000000000000000000001111001 $
|
||||
b00000000000000000000000000010101 #
|
||||
|
|
@ -607,12 +671,12 @@ b00000000000000000000000000010101 "
|
|||
b00000000000000000000000000010110 #
|
||||
b00000000000000000000000001111010 $
|
||||
b00000000000000000000000011011110 %
|
||||
b00000000000000000000000000010111 &
|
||||
b00000000000000000000000001111011 '
|
||||
b00000000000000000000000011011111 (
|
||||
b00000000000000000000001111111110 )
|
||||
b00000000000000000000010001100010 *
|
||||
b00000000000000000000010011000110 +
|
||||
b00000000000000000000001111111111 -
|
||||
b00000000000000000000010001100011 .
|
||||
b00000000000000000000010011000111 /
|
||||
b00000000000000000000000000010111 '
|
||||
b00000000000000000000000001111011 (
|
||||
b00000000000000000000000011011111 )
|
||||
b00000000000000000000001111111110 +
|
||||
b00000000000000000000010001100010 ,
|
||||
b00000000000000000000010011000110 -
|
||||
b00000000000000000000001111111111 /
|
||||
b00000000000000000000010001100011 0
|
||||
b00000000000000000000010011000111 1
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
$date
|
||||
Thu Apr 14 07:06:59 2022
|
||||
Tue Oct 24 11:06:23 2023
|
||||
|
||||
$end
|
||||
$version
|
||||
|
|
@ -12,15 +12,84 @@ $scope module top $end
|
|||
$scope module t $end
|
||||
$var wire 1 ! clk $end
|
||||
$var integer 32 " cyc [31:0] $end
|
||||
$scope interface intf_1 $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 $ val100 [31:0] $end
|
||||
$var integer 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_2 $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 ' value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 ( val100 [31:0] $end
|
||||
$var integer 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 * value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module a $end
|
||||
$scope interface intf_one $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 $ val100 [31:0] $end
|
||||
$var integer 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_two $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 ' value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 ( val100 [31:0] $end
|
||||
$var integer 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 * value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_in_sub_all $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 + value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 , val100 [31:0] $end
|
||||
$var integer 32 - val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 . value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac1 $end
|
||||
$scope interface intf_for_check $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 $ val100 [31:0] $end
|
||||
$var logic 32 % val200 [31:0] $end
|
||||
$var integer 32 $ val100 [31:0] $end
|
||||
$var integer 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -28,10 +97,14 @@ $scope module ac2 $end
|
|||
$scope interface intf_for_check $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$var integer 32 ' value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 ' val100 [31:0] $end
|
||||
$var logic 32 ( val200 [31:0] $end
|
||||
$var integer 32 ( val100 [31:0] $end
|
||||
$var integer 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 * value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -39,10 +112,14 @@ $scope module ac3 $end
|
|||
$scope interface intf_for_check $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 ) value [31:0] $end
|
||||
$var integer 32 + value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 * val100 [31:0] $end
|
||||
$var logic 32 + val200 [31:0] $end
|
||||
$var integer 32 , val100 [31:0] $end
|
||||
$var integer 32 - val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 . value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -50,54 +127,70 @@ $scope module as3 $end
|
|||
$scope interface intf_for_struct $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 ) value [31:0] $end
|
||||
$var integer 32 + value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 * val100 [31:0] $end
|
||||
$var logic 32 + val200 [31:0] $end
|
||||
$var integer 32 , val100 [31:0] $end
|
||||
$var integer 32 - val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_in_sub_all $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 , value [31:0] $end
|
||||
$var integer 32 . value [31:0] $end
|
||||
$upscope $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 ) value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 * val100 [31:0] $end
|
||||
$var logic 32 + val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_one $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 $ val100 [31:0] $end
|
||||
$var logic 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_two $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 ' val100 [31:0] $end
|
||||
$var logic 32 ( val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module abcdefghijklmnopqrstuvwxyz $end
|
||||
$scope interface intf_one $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 ' value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 ( val100 [31:0] $end
|
||||
$var integer 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 * value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_two $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 $ val100 [31:0] $end
|
||||
$var integer 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_in_sub_all $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 / value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var integer 32 0 val100 [31:0] $end
|
||||
$var integer 32 1 val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac1 $end
|
||||
$scope interface intf_for_check $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$var integer 32 ' value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 ' val100 [31:0] $end
|
||||
$var logic 32 ( val200 [31:0] $end
|
||||
$var integer 32 ( val100 [31:0] $end
|
||||
$var integer 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 * value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -107,8 +200,12 @@ $var wire 1 ! clk $end
|
|||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 $ val100 [31:0] $end
|
||||
$var logic 32 % val200 [31:0] $end
|
||||
$var integer 32 $ val100 [31:0] $end
|
||||
$var integer 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -116,10 +213,14 @@ $scope module ac3 $end
|
|||
$scope interface intf_for_check $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 - value [31:0] $end
|
||||
$var integer 32 / value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 . val100 [31:0] $end
|
||||
$var logic 32 / val200 [31:0] $end
|
||||
$var integer 32 0 val100 [31:0] $end
|
||||
$var integer 32 1 val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -127,42 +228,15 @@ $scope module as3 $end
|
|||
$scope interface intf_for_struct $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 - value [31:0] $end
|
||||
$var integer 32 / value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 . val100 [31:0] $end
|
||||
$var logic 32 / val200 [31:0] $end
|
||||
$var integer 32 0 val100 [31:0] $end
|
||||
$var integer 32 1 val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_in_sub_all $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 0 value [31:0] $end
|
||||
$var integer 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 - value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 . val100 [31:0] $end
|
||||
$var logic 32 / val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_one $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 ' val100 [31:0] $end
|
||||
$var logic 32 ( val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_two $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 $ val100 [31:0] $end
|
||||
$var logic 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -172,8 +246,12 @@ $var wire 1 ! clk $end
|
|||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 $ val100 [31:0] $end
|
||||
$var logic 32 % val200 [31:0] $end
|
||||
$var integer 32 $ val100 [31:0] $end
|
||||
$var integer 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -181,37 +259,15 @@ $scope module c2 $end
|
|||
$scope interface intf_for_check $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$var integer 32 ' value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 ' val100 [31:0] $end
|
||||
$var logic 32 ( val200 [31:0] $end
|
||||
$var integer 32 ( val100 [31:0] $end
|
||||
$var integer 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_1 $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 1 value [31:0] $end
|
||||
$var integer 32 * value [31:0] $end
|
||||
$upscope $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 $ val100 [31:0] $end
|
||||
$var logic 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope interface intf_2 $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 ' val100 [31:0] $end
|
||||
$var logic 32 ( val200 [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module s1 $end
|
||||
|
|
@ -220,8 +276,12 @@ $var wire 1 ! clk $end
|
|||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 # value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 $ val100 [31:0] $end
|
||||
$var logic 32 % val200 [31:0] $end
|
||||
$var integer 32 $ val100 [31:0] $end
|
||||
$var integer 32 % val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -229,10 +289,14 @@ $scope module s2 $end
|
|||
$scope interface intf_for_struct $end
|
||||
$var wire 1 ! clk $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 & value [31:0] $end
|
||||
$var integer 32 ' value [31:0] $end
|
||||
$scope struct the_struct $end
|
||||
$var logic 32 ' val100 [31:0] $end
|
||||
$var logic 32 ( val200 [31:0] $end
|
||||
$var integer 32 ( val100 [31:0] $end
|
||||
$var integer 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope interface inner $end
|
||||
$var wire 32 " cyc [31:0] $end
|
||||
$var integer 32 * value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -242,18 +306,18 @@ $enddefinitions $end
|
|||
#0
|
||||
$dumpvars
|
||||
b00000000000000000000000000000000 2
|
||||
b00000000000000000000000000000000 1
|
||||
b00000000000000000000000000000000 0
|
||||
b00000000000000000000010010110010 /
|
||||
b00000000000000000000010001001110 .
|
||||
b00000000000000000000001111101010 -
|
||||
b00000000000000000000000000000000 ,
|
||||
b00000000000000000000010010110001 +
|
||||
b00000000000000000000010001001101 *
|
||||
b00000000000000000000001111101001 )
|
||||
b00000000000000000000000011001010 (
|
||||
b00000000000000000000000001100110 '
|
||||
b00000000000000000000000000000010 &
|
||||
b00000000000000000000010010110010 1
|
||||
b00000000000000000000010001001110 0
|
||||
b00000000000000000000001111101010 /
|
||||
b00000000000000000000000000000000 .
|
||||
b00000000000000000000010010110001 -
|
||||
b00000000000000000000010001001101 ,
|
||||
b00000000000000000000001111101001 +
|
||||
b00000000000000000000000000000000 *
|
||||
b00000000000000000000000011001010 )
|
||||
b00000000000000000000000001100110 (
|
||||
b00000000000000000000000000000010 '
|
||||
b00000000000000000000000000000000 &
|
||||
b00000000000000000000000011001001 %
|
||||
b00000000000000000000000001100101 $
|
||||
b00000000000000000000000000000001 #
|
||||
|
|
@ -266,15 +330,15 @@ b00000000000000000000000000000001 "
|
|||
b00000000000000000000000000000010 #
|
||||
b00000000000000000000000001100110 $
|
||||
b00000000000000000000000011001010 %
|
||||
b00000000000000000000000000000011 &
|
||||
b00000000000000000000000001100111 '
|
||||
b00000000000000000000000011001011 (
|
||||
b00000000000000000000001111101010 )
|
||||
b00000000000000000000010001001110 *
|
||||
b00000000000000000000010010110010 +
|
||||
b00000000000000000000001111101011 -
|
||||
b00000000000000000000010001001111 .
|
||||
b00000000000000000000010010110011 /
|
||||
b00000000000000000000000000000011 '
|
||||
b00000000000000000000000001100111 (
|
||||
b00000000000000000000000011001011 )
|
||||
b00000000000000000000001111101010 +
|
||||
b00000000000000000000010001001110 ,
|
||||
b00000000000000000000010010110010 -
|
||||
b00000000000000000000001111101011 /
|
||||
b00000000000000000000010001001111 0
|
||||
b00000000000000000000010010110011 1
|
||||
#11
|
||||
#12
|
||||
#13
|
||||
|
|
@ -287,15 +351,15 @@ b00000000000000000000010010110011 /
|
|||
#19
|
||||
#20
|
||||
1!
|
||||
b00000000000000000000010010110100 /
|
||||
b00000000000000000000010001010000 .
|
||||
b00000000000000000000001111101100 -
|
||||
b00000000000000000000010010110011 +
|
||||
b00000000000000000000010001001111 *
|
||||
b00000000000000000000001111101011 )
|
||||
b00000000000000000000000011001100 (
|
||||
b00000000000000000000000001101000 '
|
||||
b00000000000000000000000000000100 &
|
||||
b00000000000000000000010010110100 1
|
||||
b00000000000000000000010001010000 0
|
||||
b00000000000000000000001111101100 /
|
||||
b00000000000000000000010010110011 -
|
||||
b00000000000000000000010001001111 ,
|
||||
b00000000000000000000001111101011 +
|
||||
b00000000000000000000000011001100 )
|
||||
b00000000000000000000000001101000 (
|
||||
b00000000000000000000000000000100 '
|
||||
b00000000000000000000000011001011 %
|
||||
b00000000000000000000000001100111 $
|
||||
b00000000000000000000000000000011 #
|
||||
|
|
@ -316,15 +380,15 @@ b00000000000000000000000000000011 "
|
|||
b00000000000000000000000000000100 #
|
||||
b00000000000000000000000001101000 $
|
||||
b00000000000000000000000011001100 %
|
||||
b00000000000000000000000000000101 &
|
||||
b00000000000000000000000001101001 '
|
||||
b00000000000000000000000011001101 (
|
||||
b00000000000000000000001111101100 )
|
||||
b00000000000000000000010001010000 *
|
||||
b00000000000000000000010010110100 +
|
||||
b00000000000000000000001111101101 -
|
||||
b00000000000000000000010001010001 .
|
||||
b00000000000000000000010010110101 /
|
||||
b00000000000000000000000000000101 '
|
||||
b00000000000000000000000001101001 (
|
||||
b00000000000000000000000011001101 )
|
||||
b00000000000000000000001111101100 +
|
||||
b00000000000000000000010001010000 ,
|
||||
b00000000000000000000010010110100 -
|
||||
b00000000000000000000001111101101 /
|
||||
b00000000000000000000010001010001 0
|
||||
b00000000000000000000010010110101 1
|
||||
#31
|
||||
#32
|
||||
#33
|
||||
|
|
@ -337,15 +401,15 @@ b00000000000000000000010010110101 /
|
|||
#39
|
||||
#40
|
||||
1!
|
||||
b00000000000000000000010010110110 /
|
||||
b00000000000000000000010001010010 .
|
||||
b00000000000000000000001111101110 -
|
||||
b00000000000000000000010010110101 +
|
||||
b00000000000000000000010001010001 *
|
||||
b00000000000000000000001111101101 )
|
||||
b00000000000000000000000011001110 (
|
||||
b00000000000000000000000001101010 '
|
||||
b00000000000000000000000000000110 &
|
||||
b00000000000000000000010010110110 1
|
||||
b00000000000000000000010001010010 0
|
||||
b00000000000000000000001111101110 /
|
||||
b00000000000000000000010010110101 -
|
||||
b00000000000000000000010001010001 ,
|
||||
b00000000000000000000001111101101 +
|
||||
b00000000000000000000000011001110 )
|
||||
b00000000000000000000000001101010 (
|
||||
b00000000000000000000000000000110 '
|
||||
b00000000000000000000000011001101 %
|
||||
b00000000000000000000000001101001 $
|
||||
b00000000000000000000000000000101 #
|
||||
|
|
@ -366,15 +430,15 @@ b00000000000000000000000000000101 "
|
|||
b00000000000000000000000000000110 #
|
||||
b00000000000000000000000001101010 $
|
||||
b00000000000000000000000011001110 %
|
||||
b00000000000000000000000000000111 &
|
||||
b00000000000000000000000001101011 '
|
||||
b00000000000000000000000011001111 (
|
||||
b00000000000000000000001111101110 )
|
||||
b00000000000000000000010001010010 *
|
||||
b00000000000000000000010010110110 +
|
||||
b00000000000000000000001111101111 -
|
||||
b00000000000000000000010001010011 .
|
||||
b00000000000000000000010010110111 /
|
||||
b00000000000000000000000000000111 '
|
||||
b00000000000000000000000001101011 (
|
||||
b00000000000000000000000011001111 )
|
||||
b00000000000000000000001111101110 +
|
||||
b00000000000000000000010001010010 ,
|
||||
b00000000000000000000010010110110 -
|
||||
b00000000000000000000001111101111 /
|
||||
b00000000000000000000010001010011 0
|
||||
b00000000000000000000010010110111 1
|
||||
#51
|
||||
#52
|
||||
#53
|
||||
|
|
@ -387,15 +451,15 @@ b00000000000000000000010010110111 /
|
|||
#59
|
||||
#60
|
||||
1!
|
||||
b00000000000000000000010010111000 /
|
||||
b00000000000000000000010001010100 .
|
||||
b00000000000000000000001111110000 -
|
||||
b00000000000000000000010010110111 +
|
||||
b00000000000000000000010001010011 *
|
||||
b00000000000000000000001111101111 )
|
||||
b00000000000000000000000011010000 (
|
||||
b00000000000000000000000001101100 '
|
||||
b00000000000000000000000000001000 &
|
||||
b00000000000000000000010010111000 1
|
||||
b00000000000000000000010001010100 0
|
||||
b00000000000000000000001111110000 /
|
||||
b00000000000000000000010010110111 -
|
||||
b00000000000000000000010001010011 ,
|
||||
b00000000000000000000001111101111 +
|
||||
b00000000000000000000000011010000 )
|
||||
b00000000000000000000000001101100 (
|
||||
b00000000000000000000000000001000 '
|
||||
b00000000000000000000000011001111 %
|
||||
b00000000000000000000000001101011 $
|
||||
b00000000000000000000000000000111 #
|
||||
|
|
@ -416,15 +480,15 @@ b00000000000000000000000000000111 "
|
|||
b00000000000000000000000000001000 #
|
||||
b00000000000000000000000001101100 $
|
||||
b00000000000000000000000011010000 %
|
||||
b00000000000000000000000000001001 &
|
||||
b00000000000000000000000001101101 '
|
||||
b00000000000000000000000011010001 (
|
||||
b00000000000000000000001111110000 )
|
||||
b00000000000000000000010001010100 *
|
||||
b00000000000000000000010010111000 +
|
||||
b00000000000000000000001111110001 -
|
||||
b00000000000000000000010001010101 .
|
||||
b00000000000000000000010010111001 /
|
||||
b00000000000000000000000000001001 '
|
||||
b00000000000000000000000001101101 (
|
||||
b00000000000000000000000011010001 )
|
||||
b00000000000000000000001111110000 +
|
||||
b00000000000000000000010001010100 ,
|
||||
b00000000000000000000010010111000 -
|
||||
b00000000000000000000001111110001 /
|
||||
b00000000000000000000010001010101 0
|
||||
b00000000000000000000010010111001 1
|
||||
#71
|
||||
#72
|
||||
#73
|
||||
|
|
@ -437,15 +501,15 @@ b00000000000000000000010010111001 /
|
|||
#79
|
||||
#80
|
||||
1!
|
||||
b00000000000000000000010010111010 /
|
||||
b00000000000000000000010001010110 .
|
||||
b00000000000000000000001111110010 -
|
||||
b00000000000000000000010010111001 +
|
||||
b00000000000000000000010001010101 *
|
||||
b00000000000000000000001111110001 )
|
||||
b00000000000000000000000011010010 (
|
||||
b00000000000000000000000001101110 '
|
||||
b00000000000000000000000000001010 &
|
||||
b00000000000000000000010010111010 1
|
||||
b00000000000000000000010001010110 0
|
||||
b00000000000000000000001111110010 /
|
||||
b00000000000000000000010010111001 -
|
||||
b00000000000000000000010001010101 ,
|
||||
b00000000000000000000001111110001 +
|
||||
b00000000000000000000000011010010 )
|
||||
b00000000000000000000000001101110 (
|
||||
b00000000000000000000000000001010 '
|
||||
b00000000000000000000000011010001 %
|
||||
b00000000000000000000000001101101 $
|
||||
b00000000000000000000000000001001 #
|
||||
|
|
@ -466,15 +530,15 @@ b00000000000000000000000000001001 "
|
|||
b00000000000000000000000000001010 #
|
||||
b00000000000000000000000001101110 $
|
||||
b00000000000000000000000011010010 %
|
||||
b00000000000000000000000000001011 &
|
||||
b00000000000000000000000001101111 '
|
||||
b00000000000000000000000011010011 (
|
||||
b00000000000000000000001111110010 )
|
||||
b00000000000000000000010001010110 *
|
||||
b00000000000000000000010010111010 +
|
||||
b00000000000000000000001111110011 -
|
||||
b00000000000000000000010001010111 .
|
||||
b00000000000000000000010010111011 /
|
||||
b00000000000000000000000000001011 '
|
||||
b00000000000000000000000001101111 (
|
||||
b00000000000000000000000011010011 )
|
||||
b00000000000000000000001111110010 +
|
||||
b00000000000000000000010001010110 ,
|
||||
b00000000000000000000010010111010 -
|
||||
b00000000000000000000001111110011 /
|
||||
b00000000000000000000010001010111 0
|
||||
b00000000000000000000010010111011 1
|
||||
#91
|
||||
#92
|
||||
#93
|
||||
|
|
@ -487,15 +551,15 @@ b00000000000000000000010010111011 /
|
|||
#99
|
||||
#100
|
||||
1!
|
||||
b00000000000000000000010010111100 /
|
||||
b00000000000000000000010001011000 .
|
||||
b00000000000000000000001111110100 -
|
||||
b00000000000000000000010010111011 +
|
||||
b00000000000000000000010001010111 *
|
||||
b00000000000000000000001111110011 )
|
||||
b00000000000000000000000011010100 (
|
||||
b00000000000000000000000001110000 '
|
||||
b00000000000000000000000000001100 &
|
||||
b00000000000000000000010010111100 1
|
||||
b00000000000000000000010001011000 0
|
||||
b00000000000000000000001111110100 /
|
||||
b00000000000000000000010010111011 -
|
||||
b00000000000000000000010001010111 ,
|
||||
b00000000000000000000001111110011 +
|
||||
b00000000000000000000000011010100 )
|
||||
b00000000000000000000000001110000 (
|
||||
b00000000000000000000000000001100 '
|
||||
b00000000000000000000000011010011 %
|
||||
b00000000000000000000000001101111 $
|
||||
b00000000000000000000000000001011 #
|
||||
|
|
@ -516,15 +580,15 @@ b00000000000000000000000000001011 "
|
|||
b00000000000000000000000000001100 #
|
||||
b00000000000000000000000001110000 $
|
||||
b00000000000000000000000011010100 %
|
||||
b00000000000000000000000000001101 &
|
||||
b00000000000000000000000001110001 '
|
||||
b00000000000000000000000011010101 (
|
||||
b00000000000000000000001111110100 )
|
||||
b00000000000000000000010001011000 *
|
||||
b00000000000000000000010010111100 +
|
||||
b00000000000000000000001111110101 -
|
||||
b00000000000000000000010001011001 .
|
||||
b00000000000000000000010010111101 /
|
||||
b00000000000000000000000000001101 '
|
||||
b00000000000000000000000001110001 (
|
||||
b00000000000000000000000011010101 )
|
||||
b00000000000000000000001111110100 +
|
||||
b00000000000000000000010001011000 ,
|
||||
b00000000000000000000010010111100 -
|
||||
b00000000000000000000001111110101 /
|
||||
b00000000000000000000010001011001 0
|
||||
b00000000000000000000010010111101 1
|
||||
#111
|
||||
#112
|
||||
#113
|
||||
|
|
@ -537,15 +601,15 @@ b00000000000000000000010010111101 /
|
|||
#119
|
||||
#120
|
||||
1!
|
||||
b00000000000000000000010010111110 /
|
||||
b00000000000000000000010001011010 .
|
||||
b00000000000000000000001111110110 -
|
||||
b00000000000000000000010010111101 +
|
||||
b00000000000000000000010001011001 *
|
||||
b00000000000000000000001111110101 )
|
||||
b00000000000000000000000011010110 (
|
||||
b00000000000000000000000001110010 '
|
||||
b00000000000000000000000000001110 &
|
||||
b00000000000000000000010010111110 1
|
||||
b00000000000000000000010001011010 0
|
||||
b00000000000000000000001111110110 /
|
||||
b00000000000000000000010010111101 -
|
||||
b00000000000000000000010001011001 ,
|
||||
b00000000000000000000001111110101 +
|
||||
b00000000000000000000000011010110 )
|
||||
b00000000000000000000000001110010 (
|
||||
b00000000000000000000000000001110 '
|
||||
b00000000000000000000000011010101 %
|
||||
b00000000000000000000000001110001 $
|
||||
b00000000000000000000000000001101 #
|
||||
|
|
@ -566,15 +630,15 @@ b00000000000000000000000000001101 "
|
|||
b00000000000000000000000000001110 #
|
||||
b00000000000000000000000001110010 $
|
||||
b00000000000000000000000011010110 %
|
||||
b00000000000000000000000000001111 &
|
||||
b00000000000000000000000001110011 '
|
||||
b00000000000000000000000011010111 (
|
||||
b00000000000000000000001111110110 )
|
||||
b00000000000000000000010001011010 *
|
||||
b00000000000000000000010010111110 +
|
||||
b00000000000000000000001111110111 -
|
||||
b00000000000000000000010001011011 .
|
||||
b00000000000000000000010010111111 /
|
||||
b00000000000000000000000000001111 '
|
||||
b00000000000000000000000001110011 (
|
||||
b00000000000000000000000011010111 )
|
||||
b00000000000000000000001111110110 +
|
||||
b00000000000000000000010001011010 ,
|
||||
b00000000000000000000010010111110 -
|
||||
b00000000000000000000001111110111 /
|
||||
b00000000000000000000010001011011 0
|
||||
b00000000000000000000010010111111 1
|
||||
#131
|
||||
#132
|
||||
#133
|
||||
|
|
@ -587,15 +651,15 @@ b00000000000000000000010010111111 /
|
|||
#139
|
||||
#140
|
||||
1!
|
||||
b00000000000000000000010011000000 /
|
||||
b00000000000000000000010001011100 .
|
||||
b00000000000000000000001111111000 -
|
||||
b00000000000000000000010010111111 +
|
||||
b00000000000000000000010001011011 *
|
||||
b00000000000000000000001111110111 )
|
||||
b00000000000000000000000011011000 (
|
||||
b00000000000000000000000001110100 '
|
||||
b00000000000000000000000000010000 &
|
||||
b00000000000000000000010011000000 1
|
||||
b00000000000000000000010001011100 0
|
||||
b00000000000000000000001111111000 /
|
||||
b00000000000000000000010010111111 -
|
||||
b00000000000000000000010001011011 ,
|
||||
b00000000000000000000001111110111 +
|
||||
b00000000000000000000000011011000 )
|
||||
b00000000000000000000000001110100 (
|
||||
b00000000000000000000000000010000 '
|
||||
b00000000000000000000000011010111 %
|
||||
b00000000000000000000000001110011 $
|
||||
b00000000000000000000000000001111 #
|
||||
|
|
@ -616,15 +680,15 @@ b00000000000000000000000000001111 "
|
|||
b00000000000000000000000000010000 #
|
||||
b00000000000000000000000001110100 $
|
||||
b00000000000000000000000011011000 %
|
||||
b00000000000000000000000000010001 &
|
||||
b00000000000000000000000001110101 '
|
||||
b00000000000000000000000011011001 (
|
||||
b00000000000000000000001111111000 )
|
||||
b00000000000000000000010001011100 *
|
||||
b00000000000000000000010011000000 +
|
||||
b00000000000000000000001111111001 -
|
||||
b00000000000000000000010001011101 .
|
||||
b00000000000000000000010011000001 /
|
||||
b00000000000000000000000000010001 '
|
||||
b00000000000000000000000001110101 (
|
||||
b00000000000000000000000011011001 )
|
||||
b00000000000000000000001111111000 +
|
||||
b00000000000000000000010001011100 ,
|
||||
b00000000000000000000010011000000 -
|
||||
b00000000000000000000001111111001 /
|
||||
b00000000000000000000010001011101 0
|
||||
b00000000000000000000010011000001 1
|
||||
#151
|
||||
#152
|
||||
#153
|
||||
|
|
@ -637,15 +701,15 @@ b00000000000000000000010011000001 /
|
|||
#159
|
||||
#160
|
||||
1!
|
||||
b00000000000000000000010011000010 /
|
||||
b00000000000000000000010001011110 .
|
||||
b00000000000000000000001111111010 -
|
||||
b00000000000000000000010011000001 +
|
||||
b00000000000000000000010001011101 *
|
||||
b00000000000000000000001111111001 )
|
||||
b00000000000000000000000011011010 (
|
||||
b00000000000000000000000001110110 '
|
||||
b00000000000000000000000000010010 &
|
||||
b00000000000000000000010011000010 1
|
||||
b00000000000000000000010001011110 0
|
||||
b00000000000000000000001111111010 /
|
||||
b00000000000000000000010011000001 -
|
||||
b00000000000000000000010001011101 ,
|
||||
b00000000000000000000001111111001 +
|
||||
b00000000000000000000000011011010 )
|
||||
b00000000000000000000000001110110 (
|
||||
b00000000000000000000000000010010 '
|
||||
b00000000000000000000000011011001 %
|
||||
b00000000000000000000000001110101 $
|
||||
b00000000000000000000000000010001 #
|
||||
|
|
@ -666,15 +730,15 @@ b00000000000000000000000000010001 "
|
|||
b00000000000000000000000000010010 #
|
||||
b00000000000000000000000001110110 $
|
||||
b00000000000000000000000011011010 %
|
||||
b00000000000000000000000000010011 &
|
||||
b00000000000000000000000001110111 '
|
||||
b00000000000000000000000011011011 (
|
||||
b00000000000000000000001111111010 )
|
||||
b00000000000000000000010001011110 *
|
||||
b00000000000000000000010011000010 +
|
||||
b00000000000000000000001111111011 -
|
||||
b00000000000000000000010001011111 .
|
||||
b00000000000000000000010011000011 /
|
||||
b00000000000000000000000000010011 '
|
||||
b00000000000000000000000001110111 (
|
||||
b00000000000000000000000011011011 )
|
||||
b00000000000000000000001111111010 +
|
||||
b00000000000000000000010001011110 ,
|
||||
b00000000000000000000010011000010 -
|
||||
b00000000000000000000001111111011 /
|
||||
b00000000000000000000010001011111 0
|
||||
b00000000000000000000010011000011 1
|
||||
#171
|
||||
#172
|
||||
#173
|
||||
|
|
@ -687,15 +751,15 @@ b00000000000000000000010011000011 /
|
|||
#179
|
||||
#180
|
||||
1!
|
||||
b00000000000000000000010011000100 /
|
||||
b00000000000000000000010001100000 .
|
||||
b00000000000000000000001111111100 -
|
||||
b00000000000000000000010011000011 +
|
||||
b00000000000000000000010001011111 *
|
||||
b00000000000000000000001111111011 )
|
||||
b00000000000000000000000011011100 (
|
||||
b00000000000000000000000001111000 '
|
||||
b00000000000000000000000000010100 &
|
||||
b00000000000000000000010011000100 1
|
||||
b00000000000000000000010001100000 0
|
||||
b00000000000000000000001111111100 /
|
||||
b00000000000000000000010011000011 -
|
||||
b00000000000000000000010001011111 ,
|
||||
b00000000000000000000001111111011 +
|
||||
b00000000000000000000000011011100 )
|
||||
b00000000000000000000000001111000 (
|
||||
b00000000000000000000000000010100 '
|
||||
b00000000000000000000000011011011 %
|
||||
b00000000000000000000000001110111 $
|
||||
b00000000000000000000000000010011 #
|
||||
|
|
@ -716,15 +780,15 @@ b00000000000000000000000000010011 "
|
|||
b00000000000000000000000000010100 #
|
||||
b00000000000000000000000001111000 $
|
||||
b00000000000000000000000011011100 %
|
||||
b00000000000000000000000000010101 &
|
||||
b00000000000000000000000001111001 '
|
||||
b00000000000000000000000011011101 (
|
||||
b00000000000000000000001111111100 )
|
||||
b00000000000000000000010001100000 *
|
||||
b00000000000000000000010011000100 +
|
||||
b00000000000000000000001111111101 -
|
||||
b00000000000000000000010001100001 .
|
||||
b00000000000000000000010011000101 /
|
||||
b00000000000000000000000000010101 '
|
||||
b00000000000000000000000001111001 (
|
||||
b00000000000000000000000011011101 )
|
||||
b00000000000000000000001111111100 +
|
||||
b00000000000000000000010001100000 ,
|
||||
b00000000000000000000010011000100 -
|
||||
b00000000000000000000001111111101 /
|
||||
b00000000000000000000010001100001 0
|
||||
b00000000000000000000010011000101 1
|
||||
#191
|
||||
#192
|
||||
#193
|
||||
|
|
@ -737,15 +801,15 @@ b00000000000000000000010011000101 /
|
|||
#199
|
||||
#200
|
||||
1!
|
||||
b00000000000000000000010011000110 /
|
||||
b00000000000000000000010001100010 .
|
||||
b00000000000000000000001111111110 -
|
||||
b00000000000000000000010011000101 +
|
||||
b00000000000000000000010001100001 *
|
||||
b00000000000000000000001111111101 )
|
||||
b00000000000000000000000011011110 (
|
||||
b00000000000000000000000001111010 '
|
||||
b00000000000000000000000000010110 &
|
||||
b00000000000000000000010011000110 1
|
||||
b00000000000000000000010001100010 0
|
||||
b00000000000000000000001111111110 /
|
||||
b00000000000000000000010011000101 -
|
||||
b00000000000000000000010001100001 ,
|
||||
b00000000000000000000001111111101 +
|
||||
b00000000000000000000000011011110 )
|
||||
b00000000000000000000000001111010 (
|
||||
b00000000000000000000000000010110 '
|
||||
b00000000000000000000000011011101 %
|
||||
b00000000000000000000000001111001 $
|
||||
b00000000000000000000000000010101 #
|
||||
|
|
@ -766,15 +830,15 @@ b00000000000000000000000000010101 "
|
|||
b00000000000000000000000000010110 #
|
||||
b00000000000000000000000001111010 $
|
||||
b00000000000000000000000011011110 %
|
||||
b00000000000000000000000000010111 &
|
||||
b00000000000000000000000001111011 '
|
||||
b00000000000000000000000011011111 (
|
||||
b00000000000000000000001111111110 )
|
||||
b00000000000000000000010001100010 *
|
||||
b00000000000000000000010011000110 +
|
||||
b00000000000000000000001111111111 -
|
||||
b00000000000000000000010001100011 .
|
||||
b00000000000000000000010011000111 /
|
||||
b00000000000000000000000000010111 '
|
||||
b00000000000000000000000001111011 (
|
||||
b00000000000000000000000011011111 )
|
||||
b00000000000000000000001111111110 +
|
||||
b00000000000000000000010001100010 ,
|
||||
b00000000000000000000010011000110 -
|
||||
b00000000000000000000001111111111 /
|
||||
b00000000000000000000010001100011 0
|
||||
b00000000000000000000010011000111 1
|
||||
#211
|
||||
#212
|
||||
#213
|
||||
|
|
|
|||
|
|
@ -0,0 +1,675 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$scope module t $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$scope module intf_1 $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_2 $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module s1 $end
|
||||
$scope module intf_for_struct $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module s2 $end
|
||||
$scope module intf_for_struct $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module c1 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module c2 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module a $end
|
||||
$scope module intf_one $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_two $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_in_sub_all $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 * value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 + val100 [31:0] $end
|
||||
$var wire 32 , val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 3 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac1 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac2 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module as3 $end
|
||||
$scope module intf_for_struct $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 * value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 + val100 [31:0] $end
|
||||
$var wire 32 , val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 3 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac3 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 * value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 + val100 [31:0] $end
|
||||
$var wire 32 , val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 3 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module abcdefghijklmnopqrstuvwxyz $end
|
||||
$scope module intf_one $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_two $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module intf_in_sub_all $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 - value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 . val100 [31:0] $end
|
||||
$var wire 32 / val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 4 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac1 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 ' value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 ( val100 [31:0] $end
|
||||
$var wire 32 ) val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 2 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac2 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 % val100 [31:0] $end
|
||||
$var wire 32 & val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 1 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module as3 $end
|
||||
$scope module intf_for_struct $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 - value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 . val100 [31:0] $end
|
||||
$var wire 32 / val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 4 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module ac3 $end
|
||||
$scope module intf_for_check $end
|
||||
$var wire 1 0 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 - value [31:0] $end
|
||||
$scope module the_struct $end
|
||||
$var wire 32 . val100 [31:0] $end
|
||||
$var wire 32 / val200 [31:0] $end
|
||||
$upscope $end
|
||||
$scope module inner $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 4 value [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$var wire 1 0 clk $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
||||
|
||||
#0
|
||||
b00000000000000000000000000000000 #
|
||||
b00000000000000000000000000000001 $
|
||||
b00000000000000000000000001100101 %
|
||||
b00000000000000000000000011001001 &
|
||||
b00000000000000000000000000000010 '
|
||||
b00000000000000000000000001100110 (
|
||||
b00000000000000000000000011001010 )
|
||||
b00000000000000000000001111101001 *
|
||||
b00000000000000000000010001001101 +
|
||||
b00000000000000000000010010110001 ,
|
||||
b00000000000000000000001111101010 -
|
||||
b00000000000000000000010001001110 .
|
||||
b00000000000000000000010010110010 /
|
||||
00
|
||||
b00000000000000000000000000000000 1
|
||||
b00000000000000000000000000000000 2
|
||||
b00000000000000000000000000000000 3
|
||||
b00000000000000000000000000000000 4
|
||||
#10
|
||||
b00000000000000000000000000000001 #
|
||||
b00000000000000000000000000000010 $
|
||||
b00000000000000000000000001100110 %
|
||||
b00000000000000000000000011001010 &
|
||||
b00000000000000000000000000000011 '
|
||||
b00000000000000000000000001100111 (
|
||||
b00000000000000000000000011001011 )
|
||||
b00000000000000000000001111101010 *
|
||||
b00000000000000000000010001001110 +
|
||||
b00000000000000000000010010110010 ,
|
||||
b00000000000000000000001111101011 -
|
||||
b00000000000000000000010001001111 .
|
||||
b00000000000000000000010010110011 /
|
||||
10
|
||||
#15
|
||||
00
|
||||
#20
|
||||
b00000000000000000000000000000010 #
|
||||
b00000000000000000000000000000011 $
|
||||
b00000000000000000000000001100111 %
|
||||
b00000000000000000000000011001011 &
|
||||
b00000000000000000000000000000100 '
|
||||
b00000000000000000000000001101000 (
|
||||
b00000000000000000000000011001100 )
|
||||
b00000000000000000000001111101011 *
|
||||
b00000000000000000000010001001111 +
|
||||
b00000000000000000000010010110011 ,
|
||||
b00000000000000000000001111101100 -
|
||||
b00000000000000000000010001010000 .
|
||||
b00000000000000000000010010110100 /
|
||||
10
|
||||
#25
|
||||
00
|
||||
#30
|
||||
b00000000000000000000000000000011 #
|
||||
b00000000000000000000000000000100 $
|
||||
b00000000000000000000000001101000 %
|
||||
b00000000000000000000000011001100 &
|
||||
b00000000000000000000000000000101 '
|
||||
b00000000000000000000000001101001 (
|
||||
b00000000000000000000000011001101 )
|
||||
b00000000000000000000001111101100 *
|
||||
b00000000000000000000010001010000 +
|
||||
b00000000000000000000010010110100 ,
|
||||
b00000000000000000000001111101101 -
|
||||
b00000000000000000000010001010001 .
|
||||
b00000000000000000000010010110101 /
|
||||
10
|
||||
#35
|
||||
00
|
||||
#40
|
||||
b00000000000000000000000000000100 #
|
||||
b00000000000000000000000000000101 $
|
||||
b00000000000000000000000001101001 %
|
||||
b00000000000000000000000011001101 &
|
||||
b00000000000000000000000000000110 '
|
||||
b00000000000000000000000001101010 (
|
||||
b00000000000000000000000011001110 )
|
||||
b00000000000000000000001111101101 *
|
||||
b00000000000000000000010001010001 +
|
||||
b00000000000000000000010010110101 ,
|
||||
b00000000000000000000001111101110 -
|
||||
b00000000000000000000010001010010 .
|
||||
b00000000000000000000010010110110 /
|
||||
10
|
||||
#45
|
||||
00
|
||||
#50
|
||||
b00000000000000000000000000000101 #
|
||||
b00000000000000000000000000000110 $
|
||||
b00000000000000000000000001101010 %
|
||||
b00000000000000000000000011001110 &
|
||||
b00000000000000000000000000000111 '
|
||||
b00000000000000000000000001101011 (
|
||||
b00000000000000000000000011001111 )
|
||||
b00000000000000000000001111101110 *
|
||||
b00000000000000000000010001010010 +
|
||||
b00000000000000000000010010110110 ,
|
||||
b00000000000000000000001111101111 -
|
||||
b00000000000000000000010001010011 .
|
||||
b00000000000000000000010010110111 /
|
||||
10
|
||||
#55
|
||||
00
|
||||
#60
|
||||
b00000000000000000000000000000110 #
|
||||
b00000000000000000000000000000111 $
|
||||
b00000000000000000000000001101011 %
|
||||
b00000000000000000000000011001111 &
|
||||
b00000000000000000000000000001000 '
|
||||
b00000000000000000000000001101100 (
|
||||
b00000000000000000000000011010000 )
|
||||
b00000000000000000000001111101111 *
|
||||
b00000000000000000000010001010011 +
|
||||
b00000000000000000000010010110111 ,
|
||||
b00000000000000000000001111110000 -
|
||||
b00000000000000000000010001010100 .
|
||||
b00000000000000000000010010111000 /
|
||||
10
|
||||
#65
|
||||
00
|
||||
#70
|
||||
b00000000000000000000000000000111 #
|
||||
b00000000000000000000000000001000 $
|
||||
b00000000000000000000000001101100 %
|
||||
b00000000000000000000000011010000 &
|
||||
b00000000000000000000000000001001 '
|
||||
b00000000000000000000000001101101 (
|
||||
b00000000000000000000000011010001 )
|
||||
b00000000000000000000001111110000 *
|
||||
b00000000000000000000010001010100 +
|
||||
b00000000000000000000010010111000 ,
|
||||
b00000000000000000000001111110001 -
|
||||
b00000000000000000000010001010101 .
|
||||
b00000000000000000000010010111001 /
|
||||
10
|
||||
#75
|
||||
00
|
||||
#80
|
||||
b00000000000000000000000000001000 #
|
||||
b00000000000000000000000000001001 $
|
||||
b00000000000000000000000001101101 %
|
||||
b00000000000000000000000011010001 &
|
||||
b00000000000000000000000000001010 '
|
||||
b00000000000000000000000001101110 (
|
||||
b00000000000000000000000011010010 )
|
||||
b00000000000000000000001111110001 *
|
||||
b00000000000000000000010001010101 +
|
||||
b00000000000000000000010010111001 ,
|
||||
b00000000000000000000001111110010 -
|
||||
b00000000000000000000010001010110 .
|
||||
b00000000000000000000010010111010 /
|
||||
10
|
||||
#85
|
||||
00
|
||||
#90
|
||||
b00000000000000000000000000001001 #
|
||||
b00000000000000000000000000001010 $
|
||||
b00000000000000000000000001101110 %
|
||||
b00000000000000000000000011010010 &
|
||||
b00000000000000000000000000001011 '
|
||||
b00000000000000000000000001101111 (
|
||||
b00000000000000000000000011010011 )
|
||||
b00000000000000000000001111110010 *
|
||||
b00000000000000000000010001010110 +
|
||||
b00000000000000000000010010111010 ,
|
||||
b00000000000000000000001111110011 -
|
||||
b00000000000000000000010001010111 .
|
||||
b00000000000000000000010010111011 /
|
||||
10
|
||||
#95
|
||||
00
|
||||
#100
|
||||
b00000000000000000000000000001010 #
|
||||
b00000000000000000000000000001011 $
|
||||
b00000000000000000000000001101111 %
|
||||
b00000000000000000000000011010011 &
|
||||
b00000000000000000000000000001100 '
|
||||
b00000000000000000000000001110000 (
|
||||
b00000000000000000000000011010100 )
|
||||
b00000000000000000000001111110011 *
|
||||
b00000000000000000000010001010111 +
|
||||
b00000000000000000000010010111011 ,
|
||||
b00000000000000000000001111110100 -
|
||||
b00000000000000000000010001011000 .
|
||||
b00000000000000000000010010111100 /
|
||||
10
|
||||
#105
|
||||
00
|
||||
#110
|
||||
b00000000000000000000000000001011 #
|
||||
b00000000000000000000000000001100 $
|
||||
b00000000000000000000000001110000 %
|
||||
b00000000000000000000000011010100 &
|
||||
b00000000000000000000000000001101 '
|
||||
b00000000000000000000000001110001 (
|
||||
b00000000000000000000000011010101 )
|
||||
b00000000000000000000001111110100 *
|
||||
b00000000000000000000010001011000 +
|
||||
b00000000000000000000010010111100 ,
|
||||
b00000000000000000000001111110101 -
|
||||
b00000000000000000000010001011001 .
|
||||
b00000000000000000000010010111101 /
|
||||
10
|
||||
#115
|
||||
00
|
||||
#120
|
||||
b00000000000000000000000000001100 #
|
||||
b00000000000000000000000000001101 $
|
||||
b00000000000000000000000001110001 %
|
||||
b00000000000000000000000011010101 &
|
||||
b00000000000000000000000000001110 '
|
||||
b00000000000000000000000001110010 (
|
||||
b00000000000000000000000011010110 )
|
||||
b00000000000000000000001111110101 *
|
||||
b00000000000000000000010001011001 +
|
||||
b00000000000000000000010010111101 ,
|
||||
b00000000000000000000001111110110 -
|
||||
b00000000000000000000010001011010 .
|
||||
b00000000000000000000010010111110 /
|
||||
10
|
||||
#125
|
||||
00
|
||||
#130
|
||||
b00000000000000000000000000001101 #
|
||||
b00000000000000000000000000001110 $
|
||||
b00000000000000000000000001110010 %
|
||||
b00000000000000000000000011010110 &
|
||||
b00000000000000000000000000001111 '
|
||||
b00000000000000000000000001110011 (
|
||||
b00000000000000000000000011010111 )
|
||||
b00000000000000000000001111110110 *
|
||||
b00000000000000000000010001011010 +
|
||||
b00000000000000000000010010111110 ,
|
||||
b00000000000000000000001111110111 -
|
||||
b00000000000000000000010001011011 .
|
||||
b00000000000000000000010010111111 /
|
||||
10
|
||||
#135
|
||||
00
|
||||
#140
|
||||
b00000000000000000000000000001110 #
|
||||
b00000000000000000000000000001111 $
|
||||
b00000000000000000000000001110011 %
|
||||
b00000000000000000000000011010111 &
|
||||
b00000000000000000000000000010000 '
|
||||
b00000000000000000000000001110100 (
|
||||
b00000000000000000000000011011000 )
|
||||
b00000000000000000000001111110111 *
|
||||
b00000000000000000000010001011011 +
|
||||
b00000000000000000000010010111111 ,
|
||||
b00000000000000000000001111111000 -
|
||||
b00000000000000000000010001011100 .
|
||||
b00000000000000000000010011000000 /
|
||||
10
|
||||
#145
|
||||
00
|
||||
#150
|
||||
b00000000000000000000000000001111 #
|
||||
b00000000000000000000000000010000 $
|
||||
b00000000000000000000000001110100 %
|
||||
b00000000000000000000000011011000 &
|
||||
b00000000000000000000000000010001 '
|
||||
b00000000000000000000000001110101 (
|
||||
b00000000000000000000000011011001 )
|
||||
b00000000000000000000001111111000 *
|
||||
b00000000000000000000010001011100 +
|
||||
b00000000000000000000010011000000 ,
|
||||
b00000000000000000000001111111001 -
|
||||
b00000000000000000000010001011101 .
|
||||
b00000000000000000000010011000001 /
|
||||
10
|
||||
#155
|
||||
00
|
||||
#160
|
||||
b00000000000000000000000000010000 #
|
||||
b00000000000000000000000000010001 $
|
||||
b00000000000000000000000001110101 %
|
||||
b00000000000000000000000011011001 &
|
||||
b00000000000000000000000000010010 '
|
||||
b00000000000000000000000001110110 (
|
||||
b00000000000000000000000011011010 )
|
||||
b00000000000000000000001111111001 *
|
||||
b00000000000000000000010001011101 +
|
||||
b00000000000000000000010011000001 ,
|
||||
b00000000000000000000001111111010 -
|
||||
b00000000000000000000010001011110 .
|
||||
b00000000000000000000010011000010 /
|
||||
10
|
||||
#165
|
||||
00
|
||||
#170
|
||||
b00000000000000000000000000010001 #
|
||||
b00000000000000000000000000010010 $
|
||||
b00000000000000000000000001110110 %
|
||||
b00000000000000000000000011011010 &
|
||||
b00000000000000000000000000010011 '
|
||||
b00000000000000000000000001110111 (
|
||||
b00000000000000000000000011011011 )
|
||||
b00000000000000000000001111111010 *
|
||||
b00000000000000000000010001011110 +
|
||||
b00000000000000000000010011000010 ,
|
||||
b00000000000000000000001111111011 -
|
||||
b00000000000000000000010001011111 .
|
||||
b00000000000000000000010011000011 /
|
||||
10
|
||||
#175
|
||||
00
|
||||
#180
|
||||
b00000000000000000000000000010010 #
|
||||
b00000000000000000000000000010011 $
|
||||
b00000000000000000000000001110111 %
|
||||
b00000000000000000000000011011011 &
|
||||
b00000000000000000000000000010100 '
|
||||
b00000000000000000000000001111000 (
|
||||
b00000000000000000000000011011100 )
|
||||
b00000000000000000000001111111011 *
|
||||
b00000000000000000000010001011111 +
|
||||
b00000000000000000000010011000011 ,
|
||||
b00000000000000000000001111111100 -
|
||||
b00000000000000000000010001100000 .
|
||||
b00000000000000000000010011000100 /
|
||||
10
|
||||
#185
|
||||
00
|
||||
#190
|
||||
b00000000000000000000000000010011 #
|
||||
b00000000000000000000000000010100 $
|
||||
b00000000000000000000000001111000 %
|
||||
b00000000000000000000000011011100 &
|
||||
b00000000000000000000000000010101 '
|
||||
b00000000000000000000000001111001 (
|
||||
b00000000000000000000000011011101 )
|
||||
b00000000000000000000001111111100 *
|
||||
b00000000000000000000010001100000 +
|
||||
b00000000000000000000010011000100 ,
|
||||
b00000000000000000000001111111101 -
|
||||
b00000000000000000000010001100001 .
|
||||
b00000000000000000000010011000101 /
|
||||
10
|
||||
#195
|
||||
00
|
||||
#200
|
||||
b00000000000000000000000000010100 #
|
||||
b00000000000000000000000000010101 $
|
||||
b00000000000000000000000001111001 %
|
||||
b00000000000000000000000011011101 &
|
||||
b00000000000000000000000000010110 '
|
||||
b00000000000000000000000001111010 (
|
||||
b00000000000000000000000011011110 )
|
||||
b00000000000000000000001111111101 *
|
||||
b00000000000000000000010001100001 +
|
||||
b00000000000000000000010011000101 ,
|
||||
b00000000000000000000001111111110 -
|
||||
b00000000000000000000010001100010 .
|
||||
b00000000000000000000010011000110 /
|
||||
10
|
||||
#205
|
||||
00
|
||||
#210
|
||||
b00000000000000000000000000010101 #
|
||||
b00000000000000000000000000010110 $
|
||||
b00000000000000000000000001111010 %
|
||||
b00000000000000000000000011011110 &
|
||||
b00000000000000000000000000010111 '
|
||||
b00000000000000000000000001111011 (
|
||||
b00000000000000000000000011011111 )
|
||||
b00000000000000000000001111111110 *
|
||||
b00000000000000000000010001100010 +
|
||||
b00000000000000000000010011000110 ,
|
||||
b00000000000000000000001111111111 -
|
||||
b00000000000000000000010001100011 .
|
||||
b00000000000000000000010011000111 /
|
||||
10
|
||||
|
|
@ -11,7 +11,9 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(simulator => 1);
|
||||
|
||||
top_filename("t/t_interface_ref_trace.v");
|
||||
golden_filename("t/t_interface_ref_trace.out");
|
||||
# Should be the same as the inlined version, but might have declarations
|
||||
# in a different order. Sadly vcddiff can't check equivalence
|
||||
# golden_filename("t/t_interface_ref_trace.out");
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ['-fno-inline --trace-structs --trace'],
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ $timescale 1ps $end
|
|||
|
||||
$scope module top $end
|
||||
$scope module t $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
|
|||
|
|
@ -1,36 +1,34 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Fri Jun 22 19:27:45 2018
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 / clk $end
|
||||
$var wire 1 # clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ c1_start $end
|
||||
$var wire 32 % c1_count [31:0] $end
|
||||
$var wire 1 # c1_start $end
|
||||
$var wire 32 ( c3_count [31:0] $end
|
||||
$var wire 1 ' c3_start $end
|
||||
$var wire 1 / clk $end
|
||||
$var wire 8 $ cyc [7:0] $end
|
||||
$var wire 1 $ s2_start $end
|
||||
$var wire 32 & s2_count [31:0] $end
|
||||
$var wire 1 # s2_start $end
|
||||
$var wire 1 ' c3_start $end
|
||||
$var wire 32 ( c3_count [31:0] $end
|
||||
$var wire 8 ) cyc [7:0] $end
|
||||
$scope module c1 $end
|
||||
$var wire 1 $ start $end
|
||||
$var wire 32 % count [31:0] $end
|
||||
$var wire 32 * runner [31:0] $end
|
||||
$var wire 32 ) runnerm1 [31:0] $end
|
||||
$var wire 1 # start $end
|
||||
$var wire 32 * runnerm1 [31:0] $end
|
||||
$var wire 32 + runner [31:0] $end
|
||||
$upscope $end
|
||||
$scope module c3 $end
|
||||
$var wire 1 ' start $end
|
||||
$var wire 32 ( count [31:0] $end
|
||||
$var wire 32 . runner [31:0] $end
|
||||
$var wire 32 - runnerm1 [31:0] $end
|
||||
$var wire 1 ' start $end
|
||||
$var wire 32 , runnerm1 [31:0] $end
|
||||
$var wire 32 - runner [31:0] $end
|
||||
$upscope $end
|
||||
$scope module s2 $end
|
||||
$var wire 1 $ start $end
|
||||
$var wire 32 & count [31:0] $end
|
||||
$var wire 32 , runner [31:0] $end
|
||||
$var wire 32 + runnerm1 [31:0] $end
|
||||
$var wire 1 # start $end
|
||||
$var wire 32 . runnerm1 [31:0] $end
|
||||
$var wire 32 / runner [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -39,38 +37,38 @@ $enddefinitions $end
|
|||
|
||||
#0
|
||||
0#
|
||||
b00000000 $
|
||||
0$
|
||||
b00000000000000000000000000000000 %
|
||||
b00000000000000000000000000000000 &
|
||||
0'
|
||||
b00000000000000000000000000000000 (
|
||||
b11111111111111111111111111111111 )
|
||||
b00000000000000000000000000000000 *
|
||||
b11111111111111111111111111111111 +
|
||||
b00000000000000000000000000000000 ,
|
||||
b11111111111111111111111111111111 -
|
||||
b00000000000000000000000000000000 .
|
||||
0/
|
||||
b00000000 )
|
||||
b11111111111111111111111111111111 *
|
||||
b00000000000000000000000000000000 +
|
||||
b11111111111111111111111111111111 ,
|
||||
b00000000000000000000000000000000 -
|
||||
b11111111111111111111111111111111 .
|
||||
b00000000000000000000000000000000 /
|
||||
#10
|
||||
b00000001 $
|
||||
1/
|
||||
1#
|
||||
b00000001 )
|
||||
#15
|
||||
0/
|
||||
0#
|
||||
#20
|
||||
1#
|
||||
b00000010 $
|
||||
1$
|
||||
b00000000000000000000000000000011 %
|
||||
b00000000000000000000000000000011 &
|
||||
1'
|
||||
b00000000000000000000000000000011 (
|
||||
1/
|
||||
b00000010 )
|
||||
#25
|
||||
0/
|
||||
0#
|
||||
#30
|
||||
b00000011 $
|
||||
1/
|
||||
1#
|
||||
b00000011 )
|
||||
#35
|
||||
0/
|
||||
0#
|
||||
#40
|
||||
1/
|
||||
b00000100 $
|
||||
1#
|
||||
b00000100 )
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -3,15 +3,15 @@ $timescale 1ps $end
|
|||
|
||||
$scope module TOP $end
|
||||
$scope module t $end
|
||||
$var wire 32 + CLK_HALF_PERIOD [31:0] $end
|
||||
$var wire 32 * CLK_PERIOD [31:0] $end
|
||||
$var wire 1 $ a $end
|
||||
$var wire 1 ) b $end
|
||||
$var wire 1 % c $end
|
||||
$var wire 1 ( clk $end
|
||||
$var wire 1 & d $end
|
||||
$var event 1 ' ev $end
|
||||
$var wire 1 # rst $end
|
||||
$var wire 32 + CLK_HALF_PERIOD [31:0] $end
|
||||
$var wire 1 # rst $end
|
||||
$var wire 1 ( clk $end
|
||||
$var wire 1 $ a $end
|
||||
$var wire 1 ) b $end
|
||||
$var wire 1 % c $end
|
||||
$var wire 1 & d $end
|
||||
$var event 1 ' ev $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
|
|
|||
|
|
@ -1,13 +1,11 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Wed Jun 10 17:27:15 2020
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 # clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 3 $ cyc [2:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 3 $ cyc [2:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Thu Jul 1 22:52:39 2021 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 ]b# clk $end
|
||||
$var wire 1 ]b# clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 ]b# clk $end
|
||||
$var wire 1 ]b# clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$scope module biggie $end
|
||||
$var wire 1048577 $ d [1048576:0] $end
|
||||
|
|
|
|||
|
|
@ -1,19 +1,17 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sun May 3 21:38:46 2020
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 } clk $end
|
||||
$var wire 1 } clk $end
|
||||
$scope module t $end
|
||||
$var wire 8 ~ P [0:7] $end
|
||||
$var wire 8 !! Q [0:7] $end
|
||||
$var wire 1 } clk $end
|
||||
$var wire 8 ~ P [0:7] $end
|
||||
$var wire 1 } clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 1 $ v_a [0:0] $end
|
||||
$var wire 2 % v_b [0:1] $end
|
||||
$var wire 8 & v_c [0:7] $end
|
||||
$var wire 9 ' v_d [0:8] $end
|
||||
$var wire 8 !! Q [0:7] $end
|
||||
$var wire 1 $ v_a [0:0] $end
|
||||
$var wire 2 % v_b [0:1] $end
|
||||
$var wire 8 & v_c [0:7] $end
|
||||
$var wire 9 ' v_d [0:8] $end
|
||||
$var wire 16 ( v_e [0:15] $end
|
||||
$var wire 17 ) v_f [0:16] $end
|
||||
$var wire 32 * v_g [0:31] $end
|
||||
|
|
@ -25,7 +23,7 @@ $timescale 1ps $end
|
|||
$var wire 256 ; v_m [0:255] $end
|
||||
$var wire 257 C v_n [0:256] $end
|
||||
$var wire 512 L v_o [0:511] $end
|
||||
$var wire 3 \ v_p [-1:1] $end
|
||||
$var wire 3 \ v_p [-1:1] $end
|
||||
$var wire 15 ] v_q [-7:7] $end
|
||||
$var wire 31 ^ v_r [-15:15] $end
|
||||
$var wire 63 _ v_s [-31:31] $end
|
||||
|
|
|
|||
|
|
@ -1,490 +1,488 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Thu Aug 30 16:11:10 2018
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 1 # clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
||||
|
||||
#0
|
||||
b00000000000000000000000000000000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000000 $
|
||||
#1
|
||||
0$
|
||||
0#
|
||||
#2
|
||||
b00000000000000000000000000000001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000001 $
|
||||
#3
|
||||
0$
|
||||
0#
|
||||
#4
|
||||
b00000000000000000000000000000010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000010 $
|
||||
#5
|
||||
0$
|
||||
0#
|
||||
#6
|
||||
b00000000000000000000000000000011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000011 $
|
||||
#7
|
||||
0$
|
||||
0#
|
||||
#8
|
||||
b00000000000000000000000000000100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000100 $
|
||||
#9
|
||||
0$
|
||||
0#
|
||||
#10
|
||||
b00000000000000000000000000000101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000101 $
|
||||
#11
|
||||
0$
|
||||
0#
|
||||
#12
|
||||
b00000000000000000000000000000110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000110 $
|
||||
#13
|
||||
0$
|
||||
0#
|
||||
#14
|
||||
b00000000000000000000000000000111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000111 $
|
||||
#15
|
||||
0$
|
||||
0#
|
||||
#16
|
||||
b00000000000000000000000000001000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001000 $
|
||||
#17
|
||||
0$
|
||||
0#
|
||||
#18
|
||||
b00000000000000000000000000001001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001001 $
|
||||
#19
|
||||
0$
|
||||
0#
|
||||
#20
|
||||
b00000000000000000000000000001010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001010 $
|
||||
#21
|
||||
0$
|
||||
0#
|
||||
#22
|
||||
b00000000000000000000000000001011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001011 $
|
||||
#23
|
||||
0$
|
||||
0#
|
||||
#24
|
||||
b00000000000000000000000000001100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001100 $
|
||||
#25
|
||||
0$
|
||||
0#
|
||||
#26
|
||||
b00000000000000000000000000001101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001101 $
|
||||
#27
|
||||
0$
|
||||
0#
|
||||
#28
|
||||
b00000000000000000000000000001110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001110 $
|
||||
#29
|
||||
0$
|
||||
0#
|
||||
#30
|
||||
b00000000000000000000000000001111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001111 $
|
||||
#31
|
||||
0$
|
||||
0#
|
||||
#32
|
||||
b00000000000000000000000000010000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010000 $
|
||||
#33
|
||||
0$
|
||||
0#
|
||||
#34
|
||||
b00000000000000000000000000010001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010001 $
|
||||
#35
|
||||
0$
|
||||
0#
|
||||
#36
|
||||
b00000000000000000000000000010010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010010 $
|
||||
#37
|
||||
0$
|
||||
0#
|
||||
#38
|
||||
b00000000000000000000000000010011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010011 $
|
||||
#39
|
||||
0$
|
||||
0#
|
||||
#40
|
||||
b00000000000000000000000000010100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010100 $
|
||||
#41
|
||||
0$
|
||||
0#
|
||||
#42
|
||||
b00000000000000000000000000010101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010101 $
|
||||
#43
|
||||
0$
|
||||
0#
|
||||
#44
|
||||
b00000000000000000000000000010110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010110 $
|
||||
#45
|
||||
0$
|
||||
0#
|
||||
#46
|
||||
b00000000000000000000000000010111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010111 $
|
||||
#47
|
||||
0$
|
||||
0#
|
||||
#48
|
||||
b00000000000000000000000000011000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011000 $
|
||||
#49
|
||||
0$
|
||||
0#
|
||||
#50
|
||||
b00000000000000000000000000011001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011001 $
|
||||
#51
|
||||
0$
|
||||
0#
|
||||
#52
|
||||
b00000000000000000000000000011010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011010 $
|
||||
#53
|
||||
0$
|
||||
0#
|
||||
#54
|
||||
b00000000000000000000000000011011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011011 $
|
||||
#55
|
||||
0$
|
||||
0#
|
||||
#56
|
||||
b00000000000000000000000000011100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011100 $
|
||||
#57
|
||||
0$
|
||||
0#
|
||||
#58
|
||||
b00000000000000000000000000011101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011101 $
|
||||
#59
|
||||
0$
|
||||
0#
|
||||
#60
|
||||
b00000000000000000000000000011110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011110 $
|
||||
#61
|
||||
0$
|
||||
0#
|
||||
#62
|
||||
b00000000000000000000000000011111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011111 $
|
||||
#63
|
||||
0$
|
||||
0#
|
||||
#64
|
||||
b00000000000000000000000000100000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100000 $
|
||||
#65
|
||||
0$
|
||||
0#
|
||||
#66
|
||||
b00000000000000000000000000100001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100001 $
|
||||
#67
|
||||
0$
|
||||
0#
|
||||
#68
|
||||
b00000000000000000000000000100010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100010 $
|
||||
#69
|
||||
0$
|
||||
0#
|
||||
#70
|
||||
b00000000000000000000000000100011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100011 $
|
||||
#71
|
||||
0$
|
||||
0#
|
||||
#72
|
||||
b00000000000000000000000000100100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100100 $
|
||||
#73
|
||||
0$
|
||||
0#
|
||||
#74
|
||||
b00000000000000000000000000100101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100101 $
|
||||
#75
|
||||
0$
|
||||
0#
|
||||
#76
|
||||
b00000000000000000000000000100110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100110 $
|
||||
#77
|
||||
0$
|
||||
0#
|
||||
#78
|
||||
b00000000000000000000000000100111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100111 $
|
||||
#79
|
||||
0$
|
||||
0#
|
||||
#80
|
||||
b00000000000000000000000000101000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101000 $
|
||||
#81
|
||||
0$
|
||||
0#
|
||||
#82
|
||||
b00000000000000000000000000101001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101001 $
|
||||
#83
|
||||
0$
|
||||
0#
|
||||
#84
|
||||
b00000000000000000000000000101010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101010 $
|
||||
#85
|
||||
0$
|
||||
0#
|
||||
#86
|
||||
b00000000000000000000000000101011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101011 $
|
||||
#87
|
||||
0$
|
||||
0#
|
||||
#88
|
||||
b00000000000000000000000000101100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101100 $
|
||||
#89
|
||||
0$
|
||||
0#
|
||||
#90
|
||||
b00000000000000000000000000101101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101101 $
|
||||
#91
|
||||
0$
|
||||
0#
|
||||
#92
|
||||
b00000000000000000000000000101110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101110 $
|
||||
#93
|
||||
0$
|
||||
0#
|
||||
#94
|
||||
b00000000000000000000000000101111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101111 $
|
||||
#95
|
||||
0$
|
||||
0#
|
||||
#96
|
||||
b00000000000000000000000000110000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110000 $
|
||||
#97
|
||||
0$
|
||||
0#
|
||||
#98
|
||||
b00000000000000000000000000110001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110001 $
|
||||
#99
|
||||
0$
|
||||
0#
|
||||
#100
|
||||
b00000000000000000000000000110010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110010 $
|
||||
#101
|
||||
0$
|
||||
0#
|
||||
#102
|
||||
b00000000000000000000000000110011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110011 $
|
||||
#103
|
||||
0$
|
||||
0#
|
||||
#104
|
||||
b00000000000000000000000000110100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110100 $
|
||||
#105
|
||||
0$
|
||||
0#
|
||||
#106
|
||||
b00000000000000000000000000110101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110101 $
|
||||
#107
|
||||
0$
|
||||
0#
|
||||
#108
|
||||
b00000000000000000000000000110110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110110 $
|
||||
#109
|
||||
0$
|
||||
0#
|
||||
#110
|
||||
b00000000000000000000000000110111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110111 $
|
||||
#111
|
||||
0$
|
||||
0#
|
||||
#112
|
||||
b00000000000000000000000000111000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111000 $
|
||||
#113
|
||||
0$
|
||||
0#
|
||||
#114
|
||||
b00000000000000000000000000111001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111001 $
|
||||
#115
|
||||
0$
|
||||
0#
|
||||
#116
|
||||
b00000000000000000000000000111010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111010 $
|
||||
#117
|
||||
0$
|
||||
0#
|
||||
#118
|
||||
b00000000000000000000000000111011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111011 $
|
||||
#119
|
||||
0$
|
||||
0#
|
||||
#120
|
||||
b00000000000000000000000000111100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111100 $
|
||||
#121
|
||||
0$
|
||||
0#
|
||||
#122
|
||||
b00000000000000000000000000111101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111101 $
|
||||
#123
|
||||
0$
|
||||
0#
|
||||
#124
|
||||
b00000000000000000000000000111110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111110 $
|
||||
#125
|
||||
0$
|
||||
0#
|
||||
#126
|
||||
b00000000000000000000000000111111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111111 $
|
||||
#127
|
||||
0$
|
||||
0#
|
||||
#128
|
||||
b00000000000000000000000001000000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000000 $
|
||||
#129
|
||||
0$
|
||||
0#
|
||||
#130
|
||||
b00000000000000000000000001000001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000001 $
|
||||
#131
|
||||
0$
|
||||
0#
|
||||
#132
|
||||
b00000000000000000000000001000010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000010 $
|
||||
#133
|
||||
0$
|
||||
0#
|
||||
#134
|
||||
b00000000000000000000000001000011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000011 $
|
||||
#135
|
||||
0$
|
||||
0#
|
||||
#136
|
||||
b00000000000000000000000001000100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000100 $
|
||||
#137
|
||||
0$
|
||||
0#
|
||||
#138
|
||||
b00000000000000000000000001000101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000101 $
|
||||
#139
|
||||
0$
|
||||
0#
|
||||
#140
|
||||
b00000000000000000000000001000110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000110 $
|
||||
#141
|
||||
0$
|
||||
0#
|
||||
#142
|
||||
b00000000000000000000000001000111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000111 $
|
||||
#143
|
||||
0$
|
||||
0#
|
||||
#144
|
||||
b00000000000000000000000001001000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001000 $
|
||||
#145
|
||||
0$
|
||||
0#
|
||||
#146
|
||||
b00000000000000000000000001001001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001001 $
|
||||
#147
|
||||
0$
|
||||
0#
|
||||
#148
|
||||
b00000000000000000000000001001010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001010 $
|
||||
#149
|
||||
0$
|
||||
0#
|
||||
#150
|
||||
b00000000000000000000000001001011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001011 $
|
||||
#151
|
||||
0$
|
||||
0#
|
||||
#152
|
||||
b00000000000000000000000001001100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001100 $
|
||||
#153
|
||||
0$
|
||||
0#
|
||||
#154
|
||||
b00000000000000000000000001001101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001101 $
|
||||
#155
|
||||
0$
|
||||
0#
|
||||
#156
|
||||
b00000000000000000000000001001110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001110 $
|
||||
#157
|
||||
0$
|
||||
0#
|
||||
#158
|
||||
b00000000000000000000000001001111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001111 $
|
||||
#159
|
||||
0$
|
||||
0#
|
||||
#160
|
||||
b00000000000000000000000001010000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010000 $
|
||||
#161
|
||||
0$
|
||||
0#
|
||||
#162
|
||||
b00000000000000000000000001010001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010001 $
|
||||
#163
|
||||
0$
|
||||
0#
|
||||
#164
|
||||
b00000000000000000000000001010010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010010 $
|
||||
#165
|
||||
0$
|
||||
0#
|
||||
#166
|
||||
b00000000000000000000000001010011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010011 $
|
||||
#167
|
||||
0$
|
||||
0#
|
||||
#168
|
||||
b00000000000000000000000001010100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010100 $
|
||||
#169
|
||||
0$
|
||||
0#
|
||||
#170
|
||||
b00000000000000000000000001010101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010101 $
|
||||
#171
|
||||
0$
|
||||
0#
|
||||
#172
|
||||
b00000000000000000000000001010110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010110 $
|
||||
#173
|
||||
0$
|
||||
0#
|
||||
#174
|
||||
b00000000000000000000000001010111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010111 $
|
||||
#175
|
||||
0$
|
||||
0#
|
||||
#176
|
||||
b00000000000000000000000001011000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011000 $
|
||||
#177
|
||||
0$
|
||||
0#
|
||||
#178
|
||||
b00000000000000000000000001011001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011001 $
|
||||
#179
|
||||
0$
|
||||
0#
|
||||
#180
|
||||
b00000000000000000000000001011010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011010 $
|
||||
#181
|
||||
0$
|
||||
0#
|
||||
#182
|
||||
b00000000000000000000000001011011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011011 $
|
||||
#183
|
||||
0$
|
||||
0#
|
||||
#184
|
||||
b00000000000000000000000001011100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011100 $
|
||||
#185
|
||||
0$
|
||||
0#
|
||||
#186
|
||||
b00000000000000000000000001011101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011101 $
|
||||
#187
|
||||
0$
|
||||
0#
|
||||
#188
|
||||
b00000000000000000000000001011110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011110 $
|
||||
#189
|
||||
0$
|
||||
0#
|
||||
|
|
|
|||
|
|
@ -1,265 +1,263 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Thu Aug 30 16:11:06 2018
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 1 # clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
||||
|
||||
#0
|
||||
b00000000000000000000000000000000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000000 $
|
||||
#1
|
||||
0$
|
||||
0#
|
||||
#2
|
||||
b00000000000000000000000000000001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000001 $
|
||||
#3
|
||||
0$
|
||||
0#
|
||||
#4
|
||||
b00000000000000000000000000000010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000010 $
|
||||
#5
|
||||
0$
|
||||
0#
|
||||
#6
|
||||
b00000000000000000000000000000011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000011 $
|
||||
#7
|
||||
0$
|
||||
0#
|
||||
#8
|
||||
b00000000000000000000000000000100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000100 $
|
||||
#9
|
||||
0$
|
||||
0#
|
||||
#10
|
||||
b00000000000000000000000000000101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000101 $
|
||||
#11
|
||||
0$
|
||||
0#
|
||||
#12
|
||||
b00000000000000000000000000000110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000110 $
|
||||
#13
|
||||
0$
|
||||
0#
|
||||
#14
|
||||
b00000000000000000000000000000111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000111 $
|
||||
#15
|
||||
0$
|
||||
0#
|
||||
#16
|
||||
b00000000000000000000000000001000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001000 $
|
||||
#17
|
||||
0$
|
||||
0#
|
||||
#18
|
||||
b00000000000000000000000000001001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001001 $
|
||||
#19
|
||||
0$
|
||||
0#
|
||||
#20
|
||||
b00000000000000000000000000001010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001010 $
|
||||
#21
|
||||
0$
|
||||
0#
|
||||
#22
|
||||
b00000000000000000000000000001011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001011 $
|
||||
#23
|
||||
0$
|
||||
0#
|
||||
#24
|
||||
b00000000000000000000000000001100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001100 $
|
||||
#25
|
||||
0$
|
||||
0#
|
||||
#26
|
||||
b00000000000000000000000000001101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001101 $
|
||||
#27
|
||||
0$
|
||||
0#
|
||||
#28
|
||||
b00000000000000000000000000001110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001110 $
|
||||
#29
|
||||
0$
|
||||
0#
|
||||
#30
|
||||
b00000000000000000000000000001111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001111 $
|
||||
#31
|
||||
0$
|
||||
0#
|
||||
#32
|
||||
b00000000000000000000000000010000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010000 $
|
||||
#33
|
||||
0$
|
||||
0#
|
||||
#34
|
||||
b00000000000000000000000000010001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010001 $
|
||||
#35
|
||||
0$
|
||||
0#
|
||||
#36
|
||||
b00000000000000000000000000010010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010010 $
|
||||
#37
|
||||
0$
|
||||
0#
|
||||
#38
|
||||
b00000000000000000000000000010011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010011 $
|
||||
#39
|
||||
0$
|
||||
0#
|
||||
#40
|
||||
b00000000000000000000000000010100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010100 $
|
||||
#41
|
||||
0$
|
||||
0#
|
||||
#42
|
||||
b00000000000000000000000000010101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010101 $
|
||||
#43
|
||||
0$
|
||||
0#
|
||||
#44
|
||||
b00000000000000000000000000010110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010110 $
|
||||
#45
|
||||
0$
|
||||
0#
|
||||
#46
|
||||
b00000000000000000000000000010111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010111 $
|
||||
#47
|
||||
0$
|
||||
0#
|
||||
#48
|
||||
b00000000000000000000000000011000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011000 $
|
||||
#49
|
||||
0$
|
||||
0#
|
||||
#50
|
||||
b00000000000000000000000000011001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011001 $
|
||||
#51
|
||||
0$
|
||||
0#
|
||||
#52
|
||||
b00000000000000000000000000011010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011010 $
|
||||
#53
|
||||
0$
|
||||
0#
|
||||
#54
|
||||
b00000000000000000000000000011011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011011 $
|
||||
#55
|
||||
0$
|
||||
0#
|
||||
#56
|
||||
b00000000000000000000000000011100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011100 $
|
||||
#57
|
||||
0$
|
||||
0#
|
||||
#58
|
||||
b00000000000000000000000000011101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011101 $
|
||||
#59
|
||||
0$
|
||||
0#
|
||||
#60
|
||||
b00000000000000000000000000011110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011110 $
|
||||
#61
|
||||
0$
|
||||
0#
|
||||
#62
|
||||
b00000000000000000000000000011111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011111 $
|
||||
#63
|
||||
0$
|
||||
0#
|
||||
#64
|
||||
b00000000000000000000000000100000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100000 $
|
||||
#65
|
||||
0$
|
||||
0#
|
||||
#66
|
||||
b00000000000000000000000000100001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100001 $
|
||||
#67
|
||||
0$
|
||||
0#
|
||||
#68
|
||||
b00000000000000000000000000100010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100010 $
|
||||
#69
|
||||
0$
|
||||
0#
|
||||
#70
|
||||
b00000000000000000000000000100011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100011 $
|
||||
#71
|
||||
0$
|
||||
0#
|
||||
#72
|
||||
b00000000000000000000000000100100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100100 $
|
||||
#73
|
||||
0$
|
||||
0#
|
||||
#74
|
||||
b00000000000000000000000000100101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100101 $
|
||||
#75
|
||||
0$
|
||||
0#
|
||||
#76
|
||||
b00000000000000000000000000100110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100110 $
|
||||
#77
|
||||
0$
|
||||
0#
|
||||
#78
|
||||
b00000000000000000000000000100111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100111 $
|
||||
#79
|
||||
0$
|
||||
0#
|
||||
#80
|
||||
b00000000000000000000000000101000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101000 $
|
||||
#81
|
||||
0$
|
||||
0#
|
||||
#82
|
||||
b00000000000000000000000000101001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101001 $
|
||||
#83
|
||||
0$
|
||||
0#
|
||||
#84
|
||||
b00000000000000000000000000101010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101010 $
|
||||
#85
|
||||
0$
|
||||
0#
|
||||
#86
|
||||
b00000000000000000000000000101011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101011 $
|
||||
#87
|
||||
0$
|
||||
0#
|
||||
#88
|
||||
b00000000000000000000000000101100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101100 $
|
||||
#89
|
||||
0$
|
||||
0#
|
||||
#90
|
||||
b00000000000000000000000000101101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101101 $
|
||||
#91
|
||||
0$
|
||||
0#
|
||||
#92
|
||||
b00000000000000000000000000101110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101110 $
|
||||
#93
|
||||
0$
|
||||
0#
|
||||
#94
|
||||
b00000000000000000000000000101111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101111 $
|
||||
#95
|
||||
0$
|
||||
0#
|
||||
#96
|
||||
b00000000000000000000000000110000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110000 $
|
||||
#97
|
||||
0$
|
||||
0#
|
||||
#98
|
||||
b00000000000000000000000000110001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110001 $
|
||||
#99
|
||||
0$
|
||||
0#
|
||||
|
|
|
|||
|
|
@ -1,240 +1,238 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Thu Aug 30 16:11:06 2018
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 1 # clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
||||
|
||||
#100
|
||||
b00000000000000000000000000110010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110010 $
|
||||
#101
|
||||
0$
|
||||
0#
|
||||
#102
|
||||
b00000000000000000000000000110011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110011 $
|
||||
#103
|
||||
0$
|
||||
0#
|
||||
#104
|
||||
b00000000000000000000000000110100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110100 $
|
||||
#105
|
||||
0$
|
||||
0#
|
||||
#106
|
||||
b00000000000000000000000000110101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110101 $
|
||||
#107
|
||||
0$
|
||||
0#
|
||||
#108
|
||||
b00000000000000000000000000110110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110110 $
|
||||
#109
|
||||
0$
|
||||
0#
|
||||
#110
|
||||
b00000000000000000000000000110111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110111 $
|
||||
#111
|
||||
0$
|
||||
0#
|
||||
#112
|
||||
b00000000000000000000000000111000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111000 $
|
||||
#113
|
||||
0$
|
||||
0#
|
||||
#114
|
||||
b00000000000000000000000000111001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111001 $
|
||||
#115
|
||||
0$
|
||||
0#
|
||||
#116
|
||||
b00000000000000000000000000111010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111010 $
|
||||
#117
|
||||
0$
|
||||
0#
|
||||
#118
|
||||
b00000000000000000000000000111011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111011 $
|
||||
#119
|
||||
0$
|
||||
0#
|
||||
#120
|
||||
b00000000000000000000000000111100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111100 $
|
||||
#121
|
||||
0$
|
||||
0#
|
||||
#122
|
||||
b00000000000000000000000000111101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111101 $
|
||||
#123
|
||||
0$
|
||||
0#
|
||||
#124
|
||||
b00000000000000000000000000111110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111110 $
|
||||
#125
|
||||
0$
|
||||
0#
|
||||
#126
|
||||
b00000000000000000000000000111111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111111 $
|
||||
#127
|
||||
0$
|
||||
0#
|
||||
#128
|
||||
b00000000000000000000000001000000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000000 $
|
||||
#129
|
||||
0$
|
||||
0#
|
||||
#130
|
||||
b00000000000000000000000001000001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000001 $
|
||||
#131
|
||||
0$
|
||||
0#
|
||||
#132
|
||||
b00000000000000000000000001000010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000010 $
|
||||
#133
|
||||
0$
|
||||
0#
|
||||
#134
|
||||
b00000000000000000000000001000011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000011 $
|
||||
#135
|
||||
0$
|
||||
0#
|
||||
#136
|
||||
b00000000000000000000000001000100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000100 $
|
||||
#137
|
||||
0$
|
||||
0#
|
||||
#138
|
||||
b00000000000000000000000001000101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000101 $
|
||||
#139
|
||||
0$
|
||||
0#
|
||||
#140
|
||||
b00000000000000000000000001000110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000110 $
|
||||
#141
|
||||
0$
|
||||
0#
|
||||
#142
|
||||
b00000000000000000000000001000111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000111 $
|
||||
#143
|
||||
0$
|
||||
0#
|
||||
#144
|
||||
b00000000000000000000000001001000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001000 $
|
||||
#145
|
||||
0$
|
||||
0#
|
||||
#146
|
||||
b00000000000000000000000001001001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001001 $
|
||||
#147
|
||||
0$
|
||||
0#
|
||||
#148
|
||||
b00000000000000000000000001001010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001010 $
|
||||
#149
|
||||
0$
|
||||
0#
|
||||
#150
|
||||
b00000000000000000000000001001011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001011 $
|
||||
#151
|
||||
0$
|
||||
0#
|
||||
#152
|
||||
b00000000000000000000000001001100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001100 $
|
||||
#153
|
||||
0$
|
||||
0#
|
||||
#154
|
||||
b00000000000000000000000001001101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001101 $
|
||||
#155
|
||||
0$
|
||||
0#
|
||||
#156
|
||||
b00000000000000000000000001001110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001110 $
|
||||
#157
|
||||
0$
|
||||
0#
|
||||
#158
|
||||
b00000000000000000000000001001111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001111 $
|
||||
#159
|
||||
0$
|
||||
0#
|
||||
#160
|
||||
b00000000000000000000000001010000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010000 $
|
||||
#161
|
||||
0$
|
||||
0#
|
||||
#162
|
||||
b00000000000000000000000001010001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010001 $
|
||||
#163
|
||||
0$
|
||||
0#
|
||||
#164
|
||||
b00000000000000000000000001010010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010010 $
|
||||
#165
|
||||
0$
|
||||
0#
|
||||
#166
|
||||
b00000000000000000000000001010011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010011 $
|
||||
#167
|
||||
0$
|
||||
0#
|
||||
#168
|
||||
b00000000000000000000000001010100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010100 $
|
||||
#169
|
||||
0$
|
||||
0#
|
||||
#170
|
||||
b00000000000000000000000001010101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010101 $
|
||||
#171
|
||||
0$
|
||||
0#
|
||||
#172
|
||||
b00000000000000000000000001010110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010110 $
|
||||
#173
|
||||
0$
|
||||
0#
|
||||
#174
|
||||
b00000000000000000000000001010111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010111 $
|
||||
#175
|
||||
0$
|
||||
0#
|
||||
#176
|
||||
b00000000000000000000000001011000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011000 $
|
||||
#177
|
||||
0$
|
||||
0#
|
||||
#178
|
||||
b00000000000000000000000001011001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011001 $
|
||||
#179
|
||||
0$
|
||||
0#
|
||||
#180
|
||||
b00000000000000000000000001011010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011010 $
|
||||
#181
|
||||
0$
|
||||
0#
|
||||
#182
|
||||
b00000000000000000000000001011011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011011 $
|
||||
#183
|
||||
0$
|
||||
0#
|
||||
#184
|
||||
b00000000000000000000000001011100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011100 $
|
||||
#185
|
||||
0$
|
||||
0#
|
||||
#186
|
||||
b00000000000000000000000001011101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011101 $
|
||||
#187
|
||||
0$
|
||||
0#
|
||||
#188
|
||||
b00000000000000000000000001011110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011110 $
|
||||
#189
|
||||
0$
|
||||
0#
|
||||
|
|
|
|||
|
|
@ -1,265 +1,263 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Thu Aug 30 16:10:58 2018
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 1 # clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
||||
|
||||
#0
|
||||
b00000000000000000000000000000000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000000 $
|
||||
#1
|
||||
0$
|
||||
0#
|
||||
#2
|
||||
b00000000000000000000000000000001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000001 $
|
||||
#3
|
||||
0$
|
||||
0#
|
||||
#4
|
||||
b00000000000000000000000000000010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000010 $
|
||||
#5
|
||||
0$
|
||||
0#
|
||||
#6
|
||||
b00000000000000000000000000000011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000011 $
|
||||
#7
|
||||
0$
|
||||
0#
|
||||
#8
|
||||
b00000000000000000000000000000100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000100 $
|
||||
#9
|
||||
0$
|
||||
0#
|
||||
#10
|
||||
b00000000000000000000000000000101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000101 $
|
||||
#11
|
||||
0$
|
||||
0#
|
||||
#12
|
||||
b00000000000000000000000000000110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000110 $
|
||||
#13
|
||||
0$
|
||||
0#
|
||||
#14
|
||||
b00000000000000000000000000000111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000000111 $
|
||||
#15
|
||||
0$
|
||||
0#
|
||||
#16
|
||||
b00000000000000000000000000001000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001000 $
|
||||
#17
|
||||
0$
|
||||
0#
|
||||
#18
|
||||
b00000000000000000000000000001001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001001 $
|
||||
#19
|
||||
0$
|
||||
0#
|
||||
#20
|
||||
b00000000000000000000000000001010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001010 $
|
||||
#21
|
||||
0$
|
||||
0#
|
||||
#22
|
||||
b00000000000000000000000000001011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001011 $
|
||||
#23
|
||||
0$
|
||||
0#
|
||||
#24
|
||||
b00000000000000000000000000001100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001100 $
|
||||
#25
|
||||
0$
|
||||
0#
|
||||
#26
|
||||
b00000000000000000000000000001101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001101 $
|
||||
#27
|
||||
0$
|
||||
0#
|
||||
#28
|
||||
b00000000000000000000000000001110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001110 $
|
||||
#29
|
||||
0$
|
||||
0#
|
||||
#30
|
||||
b00000000000000000000000000001111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000001111 $
|
||||
#31
|
||||
0$
|
||||
0#
|
||||
#32
|
||||
b00000000000000000000000000010000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010000 $
|
||||
#33
|
||||
0$
|
||||
0#
|
||||
#34
|
||||
b00000000000000000000000000010001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010001 $
|
||||
#35
|
||||
0$
|
||||
0#
|
||||
#36
|
||||
b00000000000000000000000000010010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010010 $
|
||||
#37
|
||||
0$
|
||||
0#
|
||||
#38
|
||||
b00000000000000000000000000010011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010011 $
|
||||
#39
|
||||
0$
|
||||
0#
|
||||
#40
|
||||
b00000000000000000000000000010100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010100 $
|
||||
#41
|
||||
0$
|
||||
0#
|
||||
#42
|
||||
b00000000000000000000000000010101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010101 $
|
||||
#43
|
||||
0$
|
||||
0#
|
||||
#44
|
||||
b00000000000000000000000000010110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010110 $
|
||||
#45
|
||||
0$
|
||||
0#
|
||||
#46
|
||||
b00000000000000000000000000010111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000010111 $
|
||||
#47
|
||||
0$
|
||||
0#
|
||||
#48
|
||||
b00000000000000000000000000011000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011000 $
|
||||
#49
|
||||
0$
|
||||
0#
|
||||
#50
|
||||
b00000000000000000000000000011001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011001 $
|
||||
#51
|
||||
0$
|
||||
0#
|
||||
#52
|
||||
b00000000000000000000000000011010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011010 $
|
||||
#53
|
||||
0$
|
||||
0#
|
||||
#54
|
||||
b00000000000000000000000000011011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011011 $
|
||||
#55
|
||||
0$
|
||||
0#
|
||||
#56
|
||||
b00000000000000000000000000011100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011100 $
|
||||
#57
|
||||
0$
|
||||
0#
|
||||
#58
|
||||
b00000000000000000000000000011101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011101 $
|
||||
#59
|
||||
0$
|
||||
0#
|
||||
#60
|
||||
b00000000000000000000000000011110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011110 $
|
||||
#61
|
||||
0$
|
||||
0#
|
||||
#62
|
||||
b00000000000000000000000000011111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000011111 $
|
||||
#63
|
||||
0$
|
||||
0#
|
||||
#64
|
||||
b00000000000000000000000000100000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100000 $
|
||||
#65
|
||||
0$
|
||||
0#
|
||||
#66
|
||||
b00000000000000000000000000100001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100001 $
|
||||
#67
|
||||
0$
|
||||
0#
|
||||
#68
|
||||
b00000000000000000000000000100010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100010 $
|
||||
#69
|
||||
0$
|
||||
0#
|
||||
#70
|
||||
b00000000000000000000000000100011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100011 $
|
||||
#71
|
||||
0$
|
||||
0#
|
||||
#72
|
||||
b00000000000000000000000000100100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100100 $
|
||||
#73
|
||||
0$
|
||||
0#
|
||||
#74
|
||||
b00000000000000000000000000100101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100101 $
|
||||
#75
|
||||
0$
|
||||
0#
|
||||
#76
|
||||
b00000000000000000000000000100110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100110 $
|
||||
#77
|
||||
0$
|
||||
0#
|
||||
#78
|
||||
b00000000000000000000000000100111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000100111 $
|
||||
#79
|
||||
0$
|
||||
0#
|
||||
#80
|
||||
b00000000000000000000000000101000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101000 $
|
||||
#81
|
||||
0$
|
||||
0#
|
||||
#82
|
||||
b00000000000000000000000000101001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101001 $
|
||||
#83
|
||||
0$
|
||||
0#
|
||||
#84
|
||||
b00000000000000000000000000101010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101010 $
|
||||
#85
|
||||
0$
|
||||
0#
|
||||
#86
|
||||
b00000000000000000000000000101011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101011 $
|
||||
#87
|
||||
0$
|
||||
0#
|
||||
#88
|
||||
b00000000000000000000000000101100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101100 $
|
||||
#89
|
||||
0$
|
||||
0#
|
||||
#90
|
||||
b00000000000000000000000000101101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101101 $
|
||||
#91
|
||||
0$
|
||||
0#
|
||||
#92
|
||||
b00000000000000000000000000101110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101110 $
|
||||
#93
|
||||
0$
|
||||
0#
|
||||
#94
|
||||
b00000000000000000000000000101111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000101111 $
|
||||
#95
|
||||
0$
|
||||
0#
|
||||
#96
|
||||
b00000000000000000000000000110000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110000 $
|
||||
#97
|
||||
0$
|
||||
0#
|
||||
#98
|
||||
b00000000000000000000000000110001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110001 $
|
||||
#99
|
||||
0$
|
||||
0#
|
||||
|
|
|
|||
|
|
@ -1,240 +1,238 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Thu Aug 30 16:10:58 2018
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 1 # clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
||||
|
||||
#100
|
||||
b00000000000000000000000000110010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110010 $
|
||||
#101
|
||||
0$
|
||||
0#
|
||||
#102
|
||||
b00000000000000000000000000110011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110011 $
|
||||
#103
|
||||
0$
|
||||
0#
|
||||
#104
|
||||
b00000000000000000000000000110100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110100 $
|
||||
#105
|
||||
0$
|
||||
0#
|
||||
#106
|
||||
b00000000000000000000000000110101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110101 $
|
||||
#107
|
||||
0$
|
||||
0#
|
||||
#108
|
||||
b00000000000000000000000000110110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110110 $
|
||||
#109
|
||||
0$
|
||||
0#
|
||||
#110
|
||||
b00000000000000000000000000110111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000110111 $
|
||||
#111
|
||||
0$
|
||||
0#
|
||||
#112
|
||||
b00000000000000000000000000111000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111000 $
|
||||
#113
|
||||
0$
|
||||
0#
|
||||
#114
|
||||
b00000000000000000000000000111001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111001 $
|
||||
#115
|
||||
0$
|
||||
0#
|
||||
#116
|
||||
b00000000000000000000000000111010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111010 $
|
||||
#117
|
||||
0$
|
||||
0#
|
||||
#118
|
||||
b00000000000000000000000000111011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111011 $
|
||||
#119
|
||||
0$
|
||||
0#
|
||||
#120
|
||||
b00000000000000000000000000111100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111100 $
|
||||
#121
|
||||
0$
|
||||
0#
|
||||
#122
|
||||
b00000000000000000000000000111101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111101 $
|
||||
#123
|
||||
0$
|
||||
0#
|
||||
#124
|
||||
b00000000000000000000000000111110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111110 $
|
||||
#125
|
||||
0$
|
||||
0#
|
||||
#126
|
||||
b00000000000000000000000000111111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000000111111 $
|
||||
#127
|
||||
0$
|
||||
0#
|
||||
#128
|
||||
b00000000000000000000000001000000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000000 $
|
||||
#129
|
||||
0$
|
||||
0#
|
||||
#130
|
||||
b00000000000000000000000001000001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000001 $
|
||||
#131
|
||||
0$
|
||||
0#
|
||||
#132
|
||||
b00000000000000000000000001000010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000010 $
|
||||
#133
|
||||
0$
|
||||
0#
|
||||
#134
|
||||
b00000000000000000000000001000011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000011 $
|
||||
#135
|
||||
0$
|
||||
0#
|
||||
#136
|
||||
b00000000000000000000000001000100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000100 $
|
||||
#137
|
||||
0$
|
||||
0#
|
||||
#138
|
||||
b00000000000000000000000001000101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000101 $
|
||||
#139
|
||||
0$
|
||||
0#
|
||||
#140
|
||||
b00000000000000000000000001000110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000110 $
|
||||
#141
|
||||
0$
|
||||
0#
|
||||
#142
|
||||
b00000000000000000000000001000111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001000111 $
|
||||
#143
|
||||
0$
|
||||
0#
|
||||
#144
|
||||
b00000000000000000000000001001000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001000 $
|
||||
#145
|
||||
0$
|
||||
0#
|
||||
#146
|
||||
b00000000000000000000000001001001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001001 $
|
||||
#147
|
||||
0$
|
||||
0#
|
||||
#148
|
||||
b00000000000000000000000001001010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001010 $
|
||||
#149
|
||||
0$
|
||||
0#
|
||||
#150
|
||||
b00000000000000000000000001001011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001011 $
|
||||
#151
|
||||
0$
|
||||
0#
|
||||
#152
|
||||
b00000000000000000000000001001100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001100 $
|
||||
#153
|
||||
0$
|
||||
0#
|
||||
#154
|
||||
b00000000000000000000000001001101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001101 $
|
||||
#155
|
||||
0$
|
||||
0#
|
||||
#156
|
||||
b00000000000000000000000001001110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001110 $
|
||||
#157
|
||||
0$
|
||||
0#
|
||||
#158
|
||||
b00000000000000000000000001001111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001001111 $
|
||||
#159
|
||||
0$
|
||||
0#
|
||||
#160
|
||||
b00000000000000000000000001010000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010000 $
|
||||
#161
|
||||
0$
|
||||
0#
|
||||
#162
|
||||
b00000000000000000000000001010001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010001 $
|
||||
#163
|
||||
0$
|
||||
0#
|
||||
#164
|
||||
b00000000000000000000000001010010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010010 $
|
||||
#165
|
||||
0$
|
||||
0#
|
||||
#166
|
||||
b00000000000000000000000001010011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010011 $
|
||||
#167
|
||||
0$
|
||||
0#
|
||||
#168
|
||||
b00000000000000000000000001010100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010100 $
|
||||
#169
|
||||
0$
|
||||
0#
|
||||
#170
|
||||
b00000000000000000000000001010101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010101 $
|
||||
#171
|
||||
0$
|
||||
0#
|
||||
#172
|
||||
b00000000000000000000000001010110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010110 $
|
||||
#173
|
||||
0$
|
||||
0#
|
||||
#174
|
||||
b00000000000000000000000001010111 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001010111 $
|
||||
#175
|
||||
0$
|
||||
0#
|
||||
#176
|
||||
b00000000000000000000000001011000 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011000 $
|
||||
#177
|
||||
0$
|
||||
0#
|
||||
#178
|
||||
b00000000000000000000000001011001 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011001 $
|
||||
#179
|
||||
0$
|
||||
0#
|
||||
#180
|
||||
b00000000000000000000000001011010 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011010 $
|
||||
#181
|
||||
0$
|
||||
0#
|
||||
#182
|
||||
b00000000000000000000000001011011 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011011 $
|
||||
#183
|
||||
0$
|
||||
0#
|
||||
#184
|
||||
b00000000000000000000000001011100 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011100 $
|
||||
#185
|
||||
0$
|
||||
0#
|
||||
#186
|
||||
b00000000000000000000000001011101 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011101 $
|
||||
#187
|
||||
0$
|
||||
0#
|
||||
#188
|
||||
b00000000000000000000000001011110 #
|
||||
1$
|
||||
1#
|
||||
b00000000000000000000000001011110 $
|
||||
#189
|
||||
0$
|
||||
0#
|
||||
|
|
|
|||
|
|
@ -1,43 +1,42 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sun May 8 19:00:11 2022 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 $ clk $end
|
||||
$scope module $unit $end
|
||||
$var wire 1 # global_bit $end
|
||||
$var wire 1 # global_bit $end
|
||||
$upscope $end
|
||||
$var wire 1 = clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 G LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 32 % cyc [31:0] $end
|
||||
$var wire 8 E unpacked_array[-1] [7:0] $end
|
||||
$var wire 8 D unpacked_array[-2] [7:0] $end
|
||||
$var wire 8 F unpacked_array[0] [7:0] $end
|
||||
$var real 64 2 v_arr_real[0] $end
|
||||
$var real 64 4 v_arr_real[1] $end
|
||||
$var wire 2 ) v_arrp [2:1] $end
|
||||
$var wire 4 * v_arrp_arrp [3:0] $end
|
||||
$var wire 4 + v_arrp_strp [3:0] $end
|
||||
$var wire 1 > v_arru[1] $end
|
||||
$var wire 1 ? v_arru[2] $end
|
||||
$var wire 2 , v_arru_arrp[3] [2:1] $end
|
||||
$var wire 2 - v_arru_arrp[4] [2:1] $end
|
||||
$var wire 1 @ v_arru_arru[3][1] $end
|
||||
$var wire 1 A v_arru_arru[3][2] $end
|
||||
$var wire 1 B v_arru_arru[4][1] $end
|
||||
$var wire 1 C v_arru_arru[4][2] $end
|
||||
$var wire 2 . v_arru_strp[3] [1:0] $end
|
||||
$var wire 2 / v_arru_strp[4] [1:0] $end
|
||||
$var wire 3 : v_enumb [2:0] $end
|
||||
$var wire 6 ; v_enumb2_str [5:0] $end
|
||||
$var wire 32 8 v_enumed [31:0] $end
|
||||
$var wire 32 9 v_enumed2 [31:0] $end
|
||||
$var real 64 0 v_real $end
|
||||
$var wire 64 6 v_str32x2 [63:0] $end
|
||||
$var wire 2 & v_strp [1:0] $end
|
||||
$var wire 4 ' v_strp_strp [3:0] $end
|
||||
$var wire 2 ( v_unip_strp [1:0] $end
|
||||
$var wire 1 = clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$var wire 2 % v_strp [1:0] $end
|
||||
$var wire 4 & v_strp_strp [3:0] $end
|
||||
$var wire 2 ' v_unip_strp [1:0] $end
|
||||
$var wire 2 ( v_arrp [2:1] $end
|
||||
$var wire 4 ) v_arrp_arrp [3:0] $end
|
||||
$var wire 4 * v_arrp_strp [3:0] $end
|
||||
$var wire 1 > v_arru[1] $end
|
||||
$var wire 1 ? v_arru[2] $end
|
||||
$var wire 1 @ v_arru_arru[3][1] $end
|
||||
$var wire 1 A v_arru_arru[3][2] $end
|
||||
$var wire 1 B v_arru_arru[4][1] $end
|
||||
$var wire 1 C v_arru_arru[4][2] $end
|
||||
$var wire 2 + v_arru_arrp[3] [2:1] $end
|
||||
$var wire 2 , v_arru_arrp[4] [2:1] $end
|
||||
$var wire 2 - v_arru_strp[3] [1:0] $end
|
||||
$var wire 2 . v_arru_strp[4] [1:0] $end
|
||||
$var real 64 / v_real $end
|
||||
$var real 64 1 v_arr_real[0] $end
|
||||
$var real 64 3 v_arr_real[1] $end
|
||||
$var wire 64 5 v_str32x2 [63:0] $end
|
||||
$var wire 32 7 v_enumed [31:0] $end
|
||||
$var wire 32 8 v_enumed2 [31:0] $end
|
||||
$var wire 3 9 v_enumb [2:0] $end
|
||||
$var wire 6 : v_enumb2_str [5:0] $end
|
||||
$var wire 8 D unpacked_array[-2] [7:0] $end
|
||||
$var wire 8 E unpacked_array[-1] [7:0] $end
|
||||
$var wire 8 F unpacked_array[0] [7:0] $end
|
||||
$var wire 1 G LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$scope module a_module_instantiation_with_a_very_long_name_that_once_its_signals_get_concatenated_and_inlined_will_almost_certainly_result_in_them_getting_hashed $end
|
||||
$var wire 32 H PARAM [31:0] $end
|
||||
$upscope $end
|
||||
|
|
@ -48,9 +47,9 @@ $timescale 1ps $end
|
|||
$var wire 32 J PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module unnamedblk1 $end
|
||||
$var wire 32 < b [31:0] $end
|
||||
$var wire 32 ; b [31:0] $end
|
||||
$scope module unnamedblk2 $end
|
||||
$var wire 32 = a [31:0] $end
|
||||
$var wire 32 < a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -60,28 +59,28 @@ $enddefinitions $end
|
|||
|
||||
#0
|
||||
1#
|
||||
0$
|
||||
b00000000000000000000000000000000 %
|
||||
b00 &
|
||||
b0000 '
|
||||
b00000000000000000000000000000000 $
|
||||
b00 %
|
||||
b0000 &
|
||||
b00 '
|
||||
b00 (
|
||||
b00 )
|
||||
b0000 )
|
||||
b0000 *
|
||||
b0000 +
|
||||
b00 +
|
||||
b00 ,
|
||||
b00 -
|
||||
b00 .
|
||||
b00 /
|
||||
r0 0
|
||||
r0 2
|
||||
r0 4
|
||||
b0000000000000000000000000000000000000000000000000000000011111111 6
|
||||
r0 /
|
||||
r0 1
|
||||
r0 3
|
||||
b0000000000000000000000000000000000000000000000000000000011111111 5
|
||||
b00000000000000000000000000000000 7
|
||||
b00000000000000000000000000000000 8
|
||||
b00000000000000000000000000000000 9
|
||||
b000 :
|
||||
b000000 ;
|
||||
b000 9
|
||||
b000000 :
|
||||
b00000000000000000000000000000000 ;
|
||||
b00000000000000000000000000000000 <
|
||||
b00000000000000000000000000000000 =
|
||||
0=
|
||||
0>
|
||||
0?
|
||||
0@
|
||||
|
|
@ -96,139 +95,139 @@ b00000000000000000000000000000100 H
|
|||
b00000000000000000000000000000010 I
|
||||
b00000000000000000000000000000011 J
|
||||
#10
|
||||
1$
|
||||
b00000000000000000000000000000001 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b00000000000000000000000000000001 $
|
||||
b11 %
|
||||
b1111 &
|
||||
b11 '
|
||||
b11 (
|
||||
b11 )
|
||||
b1111 )
|
||||
b1111 *
|
||||
b1111 +
|
||||
b11 +
|
||||
b11 ,
|
||||
b11 -
|
||||
b11 .
|
||||
b11 /
|
||||
r0.1 0
|
||||
r0.2 2
|
||||
r0.3 4
|
||||
b0000000000000000000000000000000100000000000000000000000011111110 6
|
||||
b00000000000000000000000000000001 8
|
||||
b00000000000000000000000000000010 9
|
||||
b111 :
|
||||
b00000000000000000000000000000101 <
|
||||
b00000000000000000000000000000101 =
|
||||
#15
|
||||
0$
|
||||
#20
|
||||
1$
|
||||
b00000000000000000000000000000010 %
|
||||
b00 &
|
||||
b0000 '
|
||||
b00 (
|
||||
b00 )
|
||||
b0000 *
|
||||
b0000 +
|
||||
b00 ,
|
||||
b00 -
|
||||
b00 .
|
||||
b00 /
|
||||
r0.2 0
|
||||
r0.4 2
|
||||
r0.6 4
|
||||
b0000000000000000000000000000001000000000000000000000000011111101 6
|
||||
r0.1 /
|
||||
r0.2 1
|
||||
r0.3 3
|
||||
b0000000000000000000000000000000100000000000000000000000011111110 5
|
||||
b00000000000000000000000000000001 7
|
||||
b00000000000000000000000000000010 8
|
||||
b00000000000000000000000000000100 9
|
||||
b110 :
|
||||
b111111 ;
|
||||
#25
|
||||
0$
|
||||
#30
|
||||
1$
|
||||
b00000000000000000000000000000011 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b11 (
|
||||
b11 )
|
||||
b1111 *
|
||||
b1111 +
|
||||
b11 ,
|
||||
b11 -
|
||||
b11 .
|
||||
b11 /
|
||||
r0.3 0
|
||||
r0.6000000000000001 2
|
||||
r0.8999999999999999 4
|
||||
b0000000000000000000000000000001100000000000000000000000011111100 6
|
||||
b00000000000000000000000000000011 8
|
||||
b00000000000000000000000000000110 9
|
||||
b101 :
|
||||
b110110 ;
|
||||
#35
|
||||
0$
|
||||
#40
|
||||
1$
|
||||
b00000000000000000000000000000100 %
|
||||
b00 &
|
||||
b0000 '
|
||||
b111 9
|
||||
b00000000000000000000000000000101 ;
|
||||
b00000000000000000000000000000101 <
|
||||
1=
|
||||
#15
|
||||
0=
|
||||
#20
|
||||
b00000000000000000000000000000010 $
|
||||
b00 %
|
||||
b0000 &
|
||||
b00 '
|
||||
b00 (
|
||||
b00 )
|
||||
b0000 )
|
||||
b0000 *
|
||||
b0000 +
|
||||
b00 +
|
||||
b00 ,
|
||||
b00 -
|
||||
b00 .
|
||||
b00 /
|
||||
r0.4 0
|
||||
r0.8 2
|
||||
r1.2 4
|
||||
b0000000000000000000000000000010000000000000000000000000011111011 6
|
||||
r0.2 /
|
||||
r0.4 1
|
||||
r0.6 3
|
||||
b0000000000000000000000000000001000000000000000000000000011111101 5
|
||||
b00000000000000000000000000000010 7
|
||||
b00000000000000000000000000000100 8
|
||||
b00000000000000000000000000001000 9
|
||||
b100 :
|
||||
b101101 ;
|
||||
#45
|
||||
0$
|
||||
#50
|
||||
1$
|
||||
b00000000000000000000000000000101 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b110 9
|
||||
b111111 :
|
||||
1=
|
||||
#25
|
||||
0=
|
||||
#30
|
||||
b00000000000000000000000000000011 $
|
||||
b11 %
|
||||
b1111 &
|
||||
b11 '
|
||||
b11 (
|
||||
b11 )
|
||||
b1111 )
|
||||
b1111 *
|
||||
b1111 +
|
||||
b11 +
|
||||
b11 ,
|
||||
b11 -
|
||||
b11 .
|
||||
b11 /
|
||||
r0.5 0
|
||||
r1 2
|
||||
r1.5 4
|
||||
b0000000000000000000000000000010100000000000000000000000011111010 6
|
||||
b00000000000000000000000000000101 8
|
||||
b00000000000000000000000000001010 9
|
||||
b011 :
|
||||
b100100 ;
|
||||
#55
|
||||
0$
|
||||
#60
|
||||
1$
|
||||
b00000000000000000000000000000110 %
|
||||
b00 &
|
||||
b0000 '
|
||||
r0.3 /
|
||||
r0.6000000000000001 1
|
||||
r0.8999999999999999 3
|
||||
b0000000000000000000000000000001100000000000000000000000011111100 5
|
||||
b00000000000000000000000000000011 7
|
||||
b00000000000000000000000000000110 8
|
||||
b101 9
|
||||
b110110 :
|
||||
1=
|
||||
#35
|
||||
0=
|
||||
#40
|
||||
b00000000000000000000000000000100 $
|
||||
b00 %
|
||||
b0000 &
|
||||
b00 '
|
||||
b00 (
|
||||
b00 )
|
||||
b0000 )
|
||||
b0000 *
|
||||
b0000 +
|
||||
b00 +
|
||||
b00 ,
|
||||
b00 -
|
||||
b00 .
|
||||
b00 /
|
||||
r0.6 0
|
||||
r1.2 2
|
||||
r1.8 4
|
||||
b0000000000000000000000000000011000000000000000000000000011111001 6
|
||||
b00000000000000000000000000000110 8
|
||||
b00000000000000000000000000001100 9
|
||||
b010 :
|
||||
b011011 ;
|
||||
r0.4 /
|
||||
r0.8 1
|
||||
r1.2 3
|
||||
b0000000000000000000000000000010000000000000000000000000011111011 5
|
||||
b00000000000000000000000000000100 7
|
||||
b00000000000000000000000000001000 8
|
||||
b100 9
|
||||
b101101 :
|
||||
1=
|
||||
#45
|
||||
0=
|
||||
#50
|
||||
b00000000000000000000000000000101 $
|
||||
b11 %
|
||||
b1111 &
|
||||
b11 '
|
||||
b11 (
|
||||
b1111 )
|
||||
b1111 *
|
||||
b11 +
|
||||
b11 ,
|
||||
b11 -
|
||||
b11 .
|
||||
r0.5 /
|
||||
r1 1
|
||||
r1.5 3
|
||||
b0000000000000000000000000000010100000000000000000000000011111010 5
|
||||
b00000000000000000000000000000101 7
|
||||
b00000000000000000000000000001010 8
|
||||
b011 9
|
||||
b100100 :
|
||||
1=
|
||||
#55
|
||||
0=
|
||||
#60
|
||||
b00000000000000000000000000000110 $
|
||||
b00 %
|
||||
b0000 &
|
||||
b00 '
|
||||
b00 (
|
||||
b0000 )
|
||||
b0000 *
|
||||
b00 +
|
||||
b00 ,
|
||||
b00 -
|
||||
b00 .
|
||||
r0.6 /
|
||||
r1.2 1
|
||||
r1.8 3
|
||||
b0000000000000000000000000000011000000000000000000000000011111001 5
|
||||
b00000000000000000000000000000110 7
|
||||
b00000000000000000000000000001100 8
|
||||
b010 9
|
||||
b011011 :
|
||||
1=
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
$date
|
||||
Wed Feb 23 00:01:04 2022
|
||||
Tue Oct 24 11:00:03 2023
|
||||
|
||||
$end
|
||||
$version
|
||||
|
|
@ -9,237 +9,237 @@ $timescale
|
|||
1ps
|
||||
$end
|
||||
$scope module top $end
|
||||
$var wire 1 ! clk $end
|
||||
$scope module $unit $end
|
||||
$var bit 1 ! global_bit $end
|
||||
$upscope $end
|
||||
$var wire 1 " clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 ! clk $end
|
||||
$var integer 32 " cyc [31:0] $end
|
||||
$var logic 2 # v_strp [1:0] $end
|
||||
$var logic 4 $ v_strp_strp [3:0] $end
|
||||
$var logic 2 % v_unip_strp [1:0] $end
|
||||
$var logic 2 & v_arrp [2:1] $end
|
||||
$var logic 4 ' v_arrp_arrp [3:0] $end
|
||||
$var logic 4 ( v_arrp_strp [3:0] $end
|
||||
$var logic 1 ) v_arru[1] $end
|
||||
$var logic 1 * v_arru[2] $end
|
||||
$var logic 1 + v_arru_arru[3][1] $end
|
||||
$var logic 1 , v_arru_arru[3][2] $end
|
||||
$var logic 1 - v_arru_arru[4][1] $end
|
||||
$var logic 1 . v_arru_arru[4][2] $end
|
||||
$var logic 2 / v_arru_arrp[3] [2:1] $end
|
||||
$var logic 2 0 v_arru_arrp[4] [2:1] $end
|
||||
$var logic 2 1 v_arru_strp[3] [1:0] $end
|
||||
$var logic 2 2 v_arru_strp[4] [1:0] $end
|
||||
$var real 64 3 v_real $end
|
||||
$var real 64 4 v_arr_real[0] $end
|
||||
$var real 64 5 v_arr_real[1] $end
|
||||
$var logic 64 6 v_str32x2 [63:0] $end
|
||||
$var wire 1 " clk $end
|
||||
$var integer 32 # cyc [31:0] $end
|
||||
$var bit 2 $ v_strp [1:0] $end
|
||||
$var bit 4 % v_strp_strp [3:0] $end
|
||||
$var bit 2 & v_unip_strp [1:0] $end
|
||||
$var bit 2 ' v_arrp [2:1] $end
|
||||
$var bit 4 ( v_arrp_arrp [3:0] $end
|
||||
$var bit 4 ) v_arrp_strp [3:0] $end
|
||||
$var bit 1 * v_arru[1] $end
|
||||
$var bit 1 + v_arru[2] $end
|
||||
$var bit 1 , v_arru_arru[3][1] $end
|
||||
$var bit 1 - v_arru_arru[3][2] $end
|
||||
$var bit 1 . v_arru_arru[4][1] $end
|
||||
$var bit 1 / v_arru_arru[4][2] $end
|
||||
$var bit 2 0 v_arru_arrp[3] [2:1] $end
|
||||
$var bit 2 1 v_arru_arrp[4] [2:1] $end
|
||||
$var bit 2 2 v_arru_strp[3] [1:0] $end
|
||||
$var bit 2 3 v_arru_strp[4] [1:0] $end
|
||||
$var real 64 4 v_real $end
|
||||
$var real 64 5 v_arr_real[0] $end
|
||||
$var real 64 6 v_arr_real[1] $end
|
||||
$var logic 64 7 v_str32x2 [63:0] $end
|
||||
$attrbegin misc 07 t.enumed_t 4 ZERO ONE TWO THREE 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000010 00000000000000000000000000000011 1 $end
|
||||
$attrbegin misc 07 "" 1 $end
|
||||
$var logic 32 7 v_enumed [31:0] $end
|
||||
$var int 32 8 v_enumed [31:0] $end
|
||||
$attrbegin misc 07 "" 1 $end
|
||||
$var logic 32 8 v_enumed2 [31:0] $end
|
||||
$var int 32 9 v_enumed2 [31:0] $end
|
||||
$attrbegin misc 07 t.enumb_t 4 BZERO BONE BTWO BTHREE 000 001 010 011 2 $end
|
||||
$attrbegin misc 07 "" 2 $end
|
||||
$var logic 3 9 v_enumb [2:0] $end
|
||||
$var logic 6 : v_enumb2_str [5:0] $end
|
||||
$var logic 8 ; unpacked_array[-2] [7:0] $end
|
||||
$var logic 8 < unpacked_array[-1] [7:0] $end
|
||||
$var logic 8 = unpacked_array[0] [7:0] $end
|
||||
$var bit 1 > LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$var logic 3 : v_enumb [2:0] $end
|
||||
$var logic 6 ; v_enumb2_str [5:0] $end
|
||||
$var logic 8 < unpacked_array[-2] [7:0] $end
|
||||
$var logic 8 = unpacked_array[-1] [7:0] $end
|
||||
$var logic 8 > unpacked_array[0] [7:0] $end
|
||||
$var bit 1 ? LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$scope module a_module_instantiation_with_a_very_long_name_that_once_its_signals_get_concatenated_and_inlined_will_almost_certainly_result_in_them_getting_hashed $end
|
||||
$var parameter 32 ? PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module p2 $end
|
||||
$var parameter 32 @ PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module p3 $end
|
||||
$scope module p2 $end
|
||||
$var parameter 32 A PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module p3 $end
|
||||
$var parameter 32 B PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module unnamedblk1 $end
|
||||
$var integer 32 B b [31:0] $end
|
||||
$var integer 32 C b [31:0] $end
|
||||
$scope module unnamedblk2 $end
|
||||
$var integer 32 C a [31:0] $end
|
||||
$var integer 32 D a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module $unit $end
|
||||
$var bit 1 D global_bit $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
#0
|
||||
$dumpvars
|
||||
1D
|
||||
b00000000000000000000000000000000 D
|
||||
b00000000000000000000000000000000 C
|
||||
b00000000000000000000000000000000 B
|
||||
b00000000000000000000000000000011 A
|
||||
b00000000000000000000000000000010 @
|
||||
b00000000000000000000000000000100 ?
|
||||
0>
|
||||
b00000000000000000000000000000011 B
|
||||
b00000000000000000000000000000010 A
|
||||
b00000000000000000000000000000100 @
|
||||
0?
|
||||
b00000000 >
|
||||
b00000000 =
|
||||
b00000000 <
|
||||
b00000000 ;
|
||||
b000000 :
|
||||
b000 9
|
||||
b000000 ;
|
||||
b000 :
|
||||
b00000000000000000000000000000000 9
|
||||
b00000000000000000000000000000000 8
|
||||
b00000000000000000000000000000000 7
|
||||
b0000000000000000000000000000000000000000000000000000000011111111 6
|
||||
b0000000000000000000000000000000000000000000000000000000011111111 7
|
||||
r0 6
|
||||
r0 5
|
||||
r0 4
|
||||
r0 3
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
0/
|
||||
0.
|
||||
0-
|
||||
0,
|
||||
0+
|
||||
0*
|
||||
0)
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000000 "
|
||||
0!
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000000 #
|
||||
0"
|
||||
1!
|
||||
$end
|
||||
#10
|
||||
1!
|
||||
b00000000000000000000000000000001 "
|
||||
b11 #
|
||||
b1111 $
|
||||
b11 %
|
||||
1"
|
||||
b00000000000000000000000000000001 #
|
||||
b11 $
|
||||
b1111 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b11 '
|
||||
b1111 (
|
||||
b11 /
|
||||
b1111 )
|
||||
b11 0
|
||||
b11 1
|
||||
b11 2
|
||||
r0.1 3
|
||||
r0.2 4
|
||||
r0.3 5
|
||||
b0000000000000000000000000000000100000000000000000000000011111110 6
|
||||
b00000000000000000000000000000001 7
|
||||
b00000000000000000000000000000010 8
|
||||
b111 9
|
||||
b00000000000000000000000000000101 B
|
||||
b11 3
|
||||
r0.1 4
|
||||
r0.2 5
|
||||
r0.3 6
|
||||
b0000000000000000000000000000000100000000000000000000000011111110 7
|
||||
b00000000000000000000000000000001 8
|
||||
b00000000000000000000000000000010 9
|
||||
b111 :
|
||||
b00000000000000000000000000000101 C
|
||||
b00000000000000000000000000000101 D
|
||||
#15
|
||||
0!
|
||||
0"
|
||||
#20
|
||||
1!
|
||||
b110 9
|
||||
b00000000000000000000000000000100 8
|
||||
b00000000000000000000000000000010 7
|
||||
b0000000000000000000000000000001000000000000000000000000011111101 6
|
||||
r0.6 5
|
||||
r0.4 4
|
||||
r0.2 3
|
||||
1"
|
||||
b110 :
|
||||
b00000000000000000000000000000100 9
|
||||
b00000000000000000000000000000010 8
|
||||
b0000000000000000000000000000001000000000000000000000000011111101 7
|
||||
r0.6 6
|
||||
r0.4 5
|
||||
r0.2 4
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000010 "
|
||||
b111111 :
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000010 #
|
||||
b111111 ;
|
||||
#25
|
||||
0!
|
||||
0"
|
||||
#30
|
||||
1!
|
||||
b110110 :
|
||||
b00000000000000000000000000000011 "
|
||||
b11 #
|
||||
b1111 $
|
||||
b11 %
|
||||
1"
|
||||
b110110 ;
|
||||
b00000000000000000000000000000011 #
|
||||
b11 $
|
||||
b1111 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b11 '
|
||||
b1111 (
|
||||
b11 /
|
||||
b1111 )
|
||||
b11 0
|
||||
b11 1
|
||||
b11 2
|
||||
r0.3 3
|
||||
r0.6000000000000001 4
|
||||
r0.8999999999999999 5
|
||||
b0000000000000000000000000000001100000000000000000000000011111100 6
|
||||
b00000000000000000000000000000011 7
|
||||
b00000000000000000000000000000110 8
|
||||
b101 9
|
||||
b11 3
|
||||
r0.3 4
|
||||
r0.6000000000000001 5
|
||||
r0.8999999999999999 6
|
||||
b0000000000000000000000000000001100000000000000000000000011111100 7
|
||||
b00000000000000000000000000000011 8
|
||||
b00000000000000000000000000000110 9
|
||||
b101 :
|
||||
#35
|
||||
0!
|
||||
0"
|
||||
#40
|
||||
1!
|
||||
b100 9
|
||||
b00000000000000000000000000001000 8
|
||||
b00000000000000000000000000000100 7
|
||||
b0000000000000000000000000000010000000000000000000000000011111011 6
|
||||
r1.2 5
|
||||
r0.8 4
|
||||
r0.4 3
|
||||
1"
|
||||
b100 :
|
||||
b00000000000000000000000000001000 9
|
||||
b00000000000000000000000000000100 8
|
||||
b0000000000000000000000000000010000000000000000000000000011111011 7
|
||||
r1.2 6
|
||||
r0.8 5
|
||||
r0.4 4
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000100 "
|
||||
b101101 :
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000100 #
|
||||
b101101 ;
|
||||
#45
|
||||
0!
|
||||
0"
|
||||
#50
|
||||
1!
|
||||
b100100 :
|
||||
b00000000000000000000000000000101 "
|
||||
b11 #
|
||||
b1111 $
|
||||
b11 %
|
||||
1"
|
||||
b100100 ;
|
||||
b00000000000000000000000000000101 #
|
||||
b11 $
|
||||
b1111 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b11 '
|
||||
b1111 (
|
||||
b11 /
|
||||
b1111 )
|
||||
b11 0
|
||||
b11 1
|
||||
b11 2
|
||||
r0.5 3
|
||||
r1 4
|
||||
r1.5 5
|
||||
b0000000000000000000000000000010100000000000000000000000011111010 6
|
||||
b00000000000000000000000000000101 7
|
||||
b00000000000000000000000000001010 8
|
||||
b011 9
|
||||
b11 3
|
||||
r0.5 4
|
||||
r1 5
|
||||
r1.5 6
|
||||
b0000000000000000000000000000010100000000000000000000000011111010 7
|
||||
b00000000000000000000000000000101 8
|
||||
b00000000000000000000000000001010 9
|
||||
b011 :
|
||||
#55
|
||||
0!
|
||||
0"
|
||||
#60
|
||||
1!
|
||||
b010 9
|
||||
b00000000000000000000000000001100 8
|
||||
b00000000000000000000000000000110 7
|
||||
b0000000000000000000000000000011000000000000000000000000011111001 6
|
||||
r1.8 5
|
||||
r1.2 4
|
||||
r0.6 3
|
||||
1"
|
||||
b010 :
|
||||
b00000000000000000000000000001100 9
|
||||
b00000000000000000000000000000110 8
|
||||
b0000000000000000000000000000011000000000000000000000000011111001 7
|
||||
r1.8 6
|
||||
r1.2 5
|
||||
r0.6 4
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000110 "
|
||||
b011011 :
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000110 #
|
||||
b011011 ;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
$date
|
||||
Wed Feb 23 00:01:09 2022
|
||||
Tue Oct 24 11:09:24 2023
|
||||
|
||||
$end
|
||||
$version
|
||||
|
|
@ -9,279 +9,279 @@ $timescale
|
|||
1ps
|
||||
$end
|
||||
$scope module top $end
|
||||
$scope module $unit $end
|
||||
$var bit 1 ! global_bit $end
|
||||
$upscope $end
|
||||
$scope module t $end
|
||||
$var wire 1 ! clk $end
|
||||
$var integer 32 " cyc [31:0] $end
|
||||
$var logic 2 # v_strp [1:0] $end
|
||||
$var logic 4 $ v_strp_strp [3:0] $end
|
||||
$var logic 2 % v_unip_strp [1:0] $end
|
||||
$var logic 2 & v_arrp [2:1] $end
|
||||
$var logic 4 ' v_arrp_arrp [3:0] $end
|
||||
$var logic 4 ( v_arrp_strp [3:0] $end
|
||||
$var logic 1 ) v_arru[1] $end
|
||||
$var logic 1 * v_arru[2] $end
|
||||
$var logic 1 + v_arru_arru[3][1] $end
|
||||
$var logic 1 , v_arru_arru[3][2] $end
|
||||
$var logic 1 - v_arru_arru[4][1] $end
|
||||
$var logic 1 . v_arru_arru[4][2] $end
|
||||
$var logic 2 / v_arru_arrp[3] [2:1] $end
|
||||
$var logic 2 0 v_arru_arrp[4] [2:1] $end
|
||||
$var logic 2 1 v_arru_strp[3] [1:0] $end
|
||||
$var logic 2 2 v_arru_strp[4] [1:0] $end
|
||||
$var real 64 3 v_real $end
|
||||
$var real 64 4 v_arr_real[0] $end
|
||||
$var real 64 5 v_arr_real[1] $end
|
||||
$var logic 64 6 v_str32x2 [63:0] $end
|
||||
$var wire 1 " clk $end
|
||||
$var integer 32 # cyc [31:0] $end
|
||||
$var bit 2 $ v_strp [1:0] $end
|
||||
$var bit 4 % v_strp_strp [3:0] $end
|
||||
$var bit 2 & v_unip_strp [1:0] $end
|
||||
$var bit 2 ' v_arrp [2:1] $end
|
||||
$var bit 4 ( v_arrp_arrp [3:0] $end
|
||||
$var bit 4 ) v_arrp_strp [3:0] $end
|
||||
$var bit 1 * v_arru[1] $end
|
||||
$var bit 1 + v_arru[2] $end
|
||||
$var bit 1 , v_arru_arru[3][1] $end
|
||||
$var bit 1 - v_arru_arru[3][2] $end
|
||||
$var bit 1 . v_arru_arru[4][1] $end
|
||||
$var bit 1 / v_arru_arru[4][2] $end
|
||||
$var bit 2 0 v_arru_arrp[3] [2:1] $end
|
||||
$var bit 2 1 v_arru_arrp[4] [2:1] $end
|
||||
$var bit 2 2 v_arru_strp[3] [1:0] $end
|
||||
$var bit 2 3 v_arru_strp[4] [1:0] $end
|
||||
$var real 64 4 v_real $end
|
||||
$var real 64 5 v_arr_real[0] $end
|
||||
$var real 64 6 v_arr_real[1] $end
|
||||
$var logic 64 7 v_str32x2 [63:0] $end
|
||||
$attrbegin misc 07 t.enumed_t 4 ZERO ONE TWO THREE 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000010 00000000000000000000000000000011 1 $end
|
||||
$attrbegin misc 07 "" 1 $end
|
||||
$var logic 32 7 v_enumed [31:0] $end
|
||||
$var int 32 8 v_enumed [31:0] $end
|
||||
$attrbegin misc 07 "" 1 $end
|
||||
$var logic 32 8 v_enumed2 [31:0] $end
|
||||
$var int 32 9 v_enumed2 [31:0] $end
|
||||
$attrbegin misc 07 t.enumb_t 4 BZERO BONE BTWO BTHREE 000 001 010 011 2 $end
|
||||
$attrbegin misc 07 "" 2 $end
|
||||
$var logic 3 9 v_enumb [2:0] $end
|
||||
$var logic 6 : v_enumb2_str [5:0] $end
|
||||
$var logic 8 ; unpacked_array[-2] [7:0] $end
|
||||
$var logic 8 < unpacked_array[-1] [7:0] $end
|
||||
$var logic 8 = unpacked_array[0] [7:0] $end
|
||||
$var bit 1 > LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$var logic 3 : v_enumb [2:0] $end
|
||||
$var logic 6 ; v_enumb2_str [5:0] $end
|
||||
$var logic 8 < unpacked_array[-2] [7:0] $end
|
||||
$var logic 8 = unpacked_array[-1] [7:0] $end
|
||||
$var logic 8 > unpacked_array[0] [7:0] $end
|
||||
$var bit 1 ? LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$scope module a_module_instantiation_with_a_very_long_name_that_once_its_signals_get_concatenated_and_inlined_will_almost_certainly_result_in_them_getting_hashed $end
|
||||
$var parameter 32 ? PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module p2 $end
|
||||
$var parameter 32 @ PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module p3 $end
|
||||
$scope module p2 $end
|
||||
$var parameter 32 A PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module p3 $end
|
||||
$var parameter 32 B PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module unnamedblk1 $end
|
||||
$var integer 32 B b [31:0] $end
|
||||
$var integer 32 C b [31:0] $end
|
||||
$scope module unnamedblk2 $end
|
||||
$var integer 32 C a [31:0] $end
|
||||
$var integer 32 D a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module $unit $end
|
||||
$var bit 1 D global_bit $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
#0
|
||||
$dumpvars
|
||||
1D
|
||||
b00000000000000000000000000000000 D
|
||||
b00000000000000000000000000000000 C
|
||||
b00000000000000000000000000000000 B
|
||||
b00000000000000000000000000000011 A
|
||||
b00000000000000000000000000000010 @
|
||||
b00000000000000000000000000000100 ?
|
||||
0>
|
||||
b00000000000000000000000000000011 B
|
||||
b00000000000000000000000000000010 A
|
||||
b00000000000000000000000000000100 @
|
||||
0?
|
||||
b00000000 >
|
||||
b00000000 =
|
||||
b00000000 <
|
||||
b00000000 ;
|
||||
b000000 :
|
||||
b000 9
|
||||
b000000 ;
|
||||
b000 :
|
||||
b00000000000000000000000000000000 9
|
||||
b00000000000000000000000000000000 8
|
||||
b00000000000000000000000000000000 7
|
||||
b0000000000000000000000000000000000000000000000000000000011111111 6
|
||||
b0000000000000000000000000000000000000000000000000000000011111111 7
|
||||
r0 6
|
||||
r0 5
|
||||
r0 4
|
||||
r0 3
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
0/
|
||||
0.
|
||||
0-
|
||||
0,
|
||||
0+
|
||||
0*
|
||||
0)
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000000 "
|
||||
0!
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000000 #
|
||||
0"
|
||||
1!
|
||||
$end
|
||||
#10
|
||||
1!
|
||||
b00000000000000000000000000000001 "
|
||||
b11 #
|
||||
b1111 $
|
||||
b11 %
|
||||
1"
|
||||
b00000000000000000000000000000001 #
|
||||
b11 $
|
||||
b1111 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b11 '
|
||||
b1111 (
|
||||
b11 /
|
||||
b1111 )
|
||||
b11 0
|
||||
b11 1
|
||||
b11 2
|
||||
r0.1 3
|
||||
r0.2 4
|
||||
r0.3 5
|
||||
b0000000000000000000000000000000100000000000000000000000011111110 6
|
||||
b00000000000000000000000000000001 7
|
||||
b00000000000000000000000000000010 8
|
||||
b111 9
|
||||
b00000000000000000000000000000101 B
|
||||
b11 3
|
||||
r0.1 4
|
||||
r0.2 5
|
||||
r0.3 6
|
||||
b0000000000000000000000000000000100000000000000000000000011111110 7
|
||||
b00000000000000000000000000000001 8
|
||||
b00000000000000000000000000000010 9
|
||||
b111 :
|
||||
b00000000000000000000000000000101 C
|
||||
b00000000000000000000000000000101 D
|
||||
#11
|
||||
#12
|
||||
#13
|
||||
#14
|
||||
#15
|
||||
0!
|
||||
0"
|
||||
#16
|
||||
#17
|
||||
#18
|
||||
#19
|
||||
#20
|
||||
1!
|
||||
b110 9
|
||||
b00000000000000000000000000000100 8
|
||||
b00000000000000000000000000000010 7
|
||||
b0000000000000000000000000000001000000000000000000000000011111101 6
|
||||
r0.6 5
|
||||
r0.4 4
|
||||
r0.2 3
|
||||
1"
|
||||
b110 :
|
||||
b00000000000000000000000000000100 9
|
||||
b00000000000000000000000000000010 8
|
||||
b0000000000000000000000000000001000000000000000000000000011111101 7
|
||||
r0.6 6
|
||||
r0.4 5
|
||||
r0.2 4
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000010 "
|
||||
b111111 :
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000010 #
|
||||
b111111 ;
|
||||
#21
|
||||
#22
|
||||
#23
|
||||
#24
|
||||
#25
|
||||
0!
|
||||
0"
|
||||
#26
|
||||
#27
|
||||
#28
|
||||
#29
|
||||
#30
|
||||
1!
|
||||
b110110 :
|
||||
b00000000000000000000000000000011 "
|
||||
b11 #
|
||||
b1111 $
|
||||
b11 %
|
||||
1"
|
||||
b110110 ;
|
||||
b00000000000000000000000000000011 #
|
||||
b11 $
|
||||
b1111 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b11 '
|
||||
b1111 (
|
||||
b11 /
|
||||
b1111 )
|
||||
b11 0
|
||||
b11 1
|
||||
b11 2
|
||||
r0.3 3
|
||||
r0.6000000000000001 4
|
||||
r0.8999999999999999 5
|
||||
b0000000000000000000000000000001100000000000000000000000011111100 6
|
||||
b00000000000000000000000000000011 7
|
||||
b00000000000000000000000000000110 8
|
||||
b101 9
|
||||
b11 3
|
||||
r0.3 4
|
||||
r0.6000000000000001 5
|
||||
r0.8999999999999999 6
|
||||
b0000000000000000000000000000001100000000000000000000000011111100 7
|
||||
b00000000000000000000000000000011 8
|
||||
b00000000000000000000000000000110 9
|
||||
b101 :
|
||||
#31
|
||||
#32
|
||||
#33
|
||||
#34
|
||||
#35
|
||||
0!
|
||||
0"
|
||||
#36
|
||||
#37
|
||||
#38
|
||||
#39
|
||||
#40
|
||||
1!
|
||||
b100 9
|
||||
b00000000000000000000000000001000 8
|
||||
b00000000000000000000000000000100 7
|
||||
b0000000000000000000000000000010000000000000000000000000011111011 6
|
||||
r1.2 5
|
||||
r0.8 4
|
||||
r0.4 3
|
||||
1"
|
||||
b100 :
|
||||
b00000000000000000000000000001000 9
|
||||
b00000000000000000000000000000100 8
|
||||
b0000000000000000000000000000010000000000000000000000000011111011 7
|
||||
r1.2 6
|
||||
r0.8 5
|
||||
r0.4 4
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000100 "
|
||||
b101101 :
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000100 #
|
||||
b101101 ;
|
||||
#41
|
||||
#42
|
||||
#43
|
||||
#44
|
||||
#45
|
||||
0!
|
||||
0"
|
||||
#46
|
||||
#47
|
||||
#48
|
||||
#49
|
||||
#50
|
||||
1!
|
||||
b100100 :
|
||||
b00000000000000000000000000000101 "
|
||||
b11 #
|
||||
b1111 $
|
||||
b11 %
|
||||
1"
|
||||
b100100 ;
|
||||
b00000000000000000000000000000101 #
|
||||
b11 $
|
||||
b1111 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b11 '
|
||||
b1111 (
|
||||
b11 /
|
||||
b1111 )
|
||||
b11 0
|
||||
b11 1
|
||||
b11 2
|
||||
r0.5 3
|
||||
r1 4
|
||||
r1.5 5
|
||||
b0000000000000000000000000000010100000000000000000000000011111010 6
|
||||
b00000000000000000000000000000101 7
|
||||
b00000000000000000000000000001010 8
|
||||
b011 9
|
||||
b11 3
|
||||
r0.5 4
|
||||
r1 5
|
||||
r1.5 6
|
||||
b0000000000000000000000000000010100000000000000000000000011111010 7
|
||||
b00000000000000000000000000000101 8
|
||||
b00000000000000000000000000001010 9
|
||||
b011 :
|
||||
#51
|
||||
#52
|
||||
#53
|
||||
#54
|
||||
#55
|
||||
0!
|
||||
0"
|
||||
#56
|
||||
#57
|
||||
#58
|
||||
#59
|
||||
#60
|
||||
1!
|
||||
b010 9
|
||||
b00000000000000000000000000001100 8
|
||||
b00000000000000000000000000000110 7
|
||||
b0000000000000000000000000000011000000000000000000000000011111001 6
|
||||
r1.8 5
|
||||
r1.2 4
|
||||
r0.6 3
|
||||
1"
|
||||
b010 :
|
||||
b00000000000000000000000000001100 9
|
||||
b00000000000000000000000000000110 8
|
||||
b0000000000000000000000000000011000000000000000000000000011111001 7
|
||||
r1.8 6
|
||||
r1.2 5
|
||||
r0.6 4
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000110 "
|
||||
b011011 :
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000110 #
|
||||
b011011 ;
|
||||
#61
|
||||
#62
|
||||
#63
|
||||
|
|
|
|||
|
|
@ -1,43 +1,42 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sun May 8 19:00:32 2022 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 $ clk $end
|
||||
$scope module $unit $end
|
||||
$var wire 1 # global_bit $end
|
||||
$var wire 1 # global_bit $end
|
||||
$upscope $end
|
||||
$var wire 1 = clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 G LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 32 % cyc [31:0] $end
|
||||
$var wire 8 E unpacked_array[-1] [7:0] $end
|
||||
$var wire 8 D unpacked_array[-2] [7:0] $end
|
||||
$var wire 8 F unpacked_array[0] [7:0] $end
|
||||
$var real 64 2 v_arr_real[0] $end
|
||||
$var real 64 4 v_arr_real[1] $end
|
||||
$var wire 2 ) v_arrp [2:1] $end
|
||||
$var wire 4 * v_arrp_arrp [3:0] $end
|
||||
$var wire 4 + v_arrp_strp [3:0] $end
|
||||
$var wire 1 > v_arru[1] $end
|
||||
$var wire 1 ? v_arru[2] $end
|
||||
$var wire 2 , v_arru_arrp[3] [2:1] $end
|
||||
$var wire 2 - v_arru_arrp[4] [2:1] $end
|
||||
$var wire 1 @ v_arru_arru[3][1] $end
|
||||
$var wire 1 A v_arru_arru[3][2] $end
|
||||
$var wire 1 B v_arru_arru[4][1] $end
|
||||
$var wire 1 C v_arru_arru[4][2] $end
|
||||
$var wire 2 . v_arru_strp[3] [1:0] $end
|
||||
$var wire 2 / v_arru_strp[4] [1:0] $end
|
||||
$var wire 3 : v_enumb [2:0] $end
|
||||
$var wire 6 ; v_enumb2_str [5:0] $end
|
||||
$var wire 32 8 v_enumed [31:0] $end
|
||||
$var wire 32 9 v_enumed2 [31:0] $end
|
||||
$var real 64 0 v_real $end
|
||||
$var wire 64 6 v_str32x2 [63:0] $end
|
||||
$var wire 2 & v_strp [1:0] $end
|
||||
$var wire 4 ' v_strp_strp [3:0] $end
|
||||
$var wire 2 ( v_unip_strp [1:0] $end
|
||||
$var wire 1 = clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$var wire 2 % v_strp [1:0] $end
|
||||
$var wire 4 & v_strp_strp [3:0] $end
|
||||
$var wire 2 ' v_unip_strp [1:0] $end
|
||||
$var wire 2 ( v_arrp [2:1] $end
|
||||
$var wire 4 ) v_arrp_arrp [3:0] $end
|
||||
$var wire 4 * v_arrp_strp [3:0] $end
|
||||
$var wire 1 > v_arru[1] $end
|
||||
$var wire 1 ? v_arru[2] $end
|
||||
$var wire 1 @ v_arru_arru[3][1] $end
|
||||
$var wire 1 A v_arru_arru[3][2] $end
|
||||
$var wire 1 B v_arru_arru[4][1] $end
|
||||
$var wire 1 C v_arru_arru[4][2] $end
|
||||
$var wire 2 + v_arru_arrp[3] [2:1] $end
|
||||
$var wire 2 , v_arru_arrp[4] [2:1] $end
|
||||
$var wire 2 - v_arru_strp[3] [1:0] $end
|
||||
$var wire 2 . v_arru_strp[4] [1:0] $end
|
||||
$var real 64 / v_real $end
|
||||
$var real 64 1 v_arr_real[0] $end
|
||||
$var real 64 3 v_arr_real[1] $end
|
||||
$var wire 64 5 v_str32x2 [63:0] $end
|
||||
$var wire 32 7 v_enumed [31:0] $end
|
||||
$var wire 32 8 v_enumed2 [31:0] $end
|
||||
$var wire 3 9 v_enumb [2:0] $end
|
||||
$var wire 6 : v_enumb2_str [5:0] $end
|
||||
$var wire 8 D unpacked_array[-2] [7:0] $end
|
||||
$var wire 8 E unpacked_array[-1] [7:0] $end
|
||||
$var wire 8 F unpacked_array[0] [7:0] $end
|
||||
$var wire 1 G LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$scope module a_module_instantiation_with_a_very_long_name_that_once_its_signals_get_concatenated_and_inlined_will_almost_certainly_result_in_them_getting_hashed $end
|
||||
$var wire 32 H PARAM [31:0] $end
|
||||
$upscope $end
|
||||
|
|
@ -48,9 +47,9 @@ $timescale 1ps $end
|
|||
$var wire 32 J PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module unnamedblk1 $end
|
||||
$var wire 32 < b [31:0] $end
|
||||
$var wire 32 ; b [31:0] $end
|
||||
$scope module unnamedblk2 $end
|
||||
$var wire 32 = a [31:0] $end
|
||||
$var wire 32 < a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -60,28 +59,28 @@ $enddefinitions $end
|
|||
|
||||
#0
|
||||
1#
|
||||
0$
|
||||
b00000000000000000000000000000000 %
|
||||
b00 &
|
||||
b0000 '
|
||||
b00000000000000000000000000000000 $
|
||||
b00 %
|
||||
b0000 &
|
||||
b00 '
|
||||
b00 (
|
||||
b00 )
|
||||
b0000 )
|
||||
b0000 *
|
||||
b0000 +
|
||||
b00 +
|
||||
b00 ,
|
||||
b00 -
|
||||
b00 .
|
||||
b00 /
|
||||
r0 0
|
||||
r0 2
|
||||
r0 4
|
||||
b0000000000000000000000000000000000000000000000000000000011111111 6
|
||||
r0 /
|
||||
r0 1
|
||||
r0 3
|
||||
b0000000000000000000000000000000000000000000000000000000011111111 5
|
||||
b00000000000000000000000000000000 7
|
||||
b00000000000000000000000000000000 8
|
||||
b00000000000000000000000000000000 9
|
||||
b000 :
|
||||
b000000 ;
|
||||
b000 9
|
||||
b000000 :
|
||||
b00000000000000000000000000000000 ;
|
||||
b00000000000000000000000000000000 <
|
||||
b00000000000000000000000000000000 =
|
||||
0=
|
||||
0>
|
||||
0?
|
||||
0@
|
||||
|
|
@ -96,139 +95,139 @@ b00000000000000000000000000000100 H
|
|||
b00000000000000000000000000000010 I
|
||||
b00000000000000000000000000000011 J
|
||||
#10
|
||||
1$
|
||||
b00000000000000000000000000000001 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b00000000000000000000000000000001 $
|
||||
b11 %
|
||||
b1111 &
|
||||
b11 '
|
||||
b11 (
|
||||
b11 )
|
||||
b1111 )
|
||||
b1111 *
|
||||
b1111 +
|
||||
b11 +
|
||||
b11 ,
|
||||
b11 -
|
||||
b11 .
|
||||
b11 /
|
||||
r0.1 0
|
||||
r0.2 2
|
||||
r0.3 4
|
||||
b0000000000000000000000000000000100000000000000000000000011111110 6
|
||||
b00000000000000000000000000000001 8
|
||||
b00000000000000000000000000000010 9
|
||||
b111 :
|
||||
b00000000000000000000000000000101 <
|
||||
b00000000000000000000000000000101 =
|
||||
#15
|
||||
0$
|
||||
#20
|
||||
1$
|
||||
b00000000000000000000000000000010 %
|
||||
b00 &
|
||||
b0000 '
|
||||
b00 (
|
||||
b00 )
|
||||
b0000 *
|
||||
b0000 +
|
||||
b00 ,
|
||||
b00 -
|
||||
b00 .
|
||||
b00 /
|
||||
r0.2 0
|
||||
r0.4 2
|
||||
r0.6 4
|
||||
b0000000000000000000000000000001000000000000000000000000011111101 6
|
||||
r0.1 /
|
||||
r0.2 1
|
||||
r0.3 3
|
||||
b0000000000000000000000000000000100000000000000000000000011111110 5
|
||||
b00000000000000000000000000000001 7
|
||||
b00000000000000000000000000000010 8
|
||||
b00000000000000000000000000000100 9
|
||||
b110 :
|
||||
b111111 ;
|
||||
#25
|
||||
0$
|
||||
#30
|
||||
1$
|
||||
b00000000000000000000000000000011 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b11 (
|
||||
b11 )
|
||||
b1111 *
|
||||
b1111 +
|
||||
b11 ,
|
||||
b11 -
|
||||
b11 .
|
||||
b11 /
|
||||
r0.3 0
|
||||
r0.6000000000000001 2
|
||||
r0.8999999999999999 4
|
||||
b0000000000000000000000000000001100000000000000000000000011111100 6
|
||||
b00000000000000000000000000000011 8
|
||||
b00000000000000000000000000000110 9
|
||||
b101 :
|
||||
b110110 ;
|
||||
#35
|
||||
0$
|
||||
#40
|
||||
1$
|
||||
b00000000000000000000000000000100 %
|
||||
b00 &
|
||||
b0000 '
|
||||
b111 9
|
||||
b00000000000000000000000000000101 ;
|
||||
b00000000000000000000000000000101 <
|
||||
1=
|
||||
#15
|
||||
0=
|
||||
#20
|
||||
b00000000000000000000000000000010 $
|
||||
b00 %
|
||||
b0000 &
|
||||
b00 '
|
||||
b00 (
|
||||
b00 )
|
||||
b0000 )
|
||||
b0000 *
|
||||
b0000 +
|
||||
b00 +
|
||||
b00 ,
|
||||
b00 -
|
||||
b00 .
|
||||
b00 /
|
||||
r0.4 0
|
||||
r0.8 2
|
||||
r1.2 4
|
||||
b0000000000000000000000000000010000000000000000000000000011111011 6
|
||||
r0.2 /
|
||||
r0.4 1
|
||||
r0.6 3
|
||||
b0000000000000000000000000000001000000000000000000000000011111101 5
|
||||
b00000000000000000000000000000010 7
|
||||
b00000000000000000000000000000100 8
|
||||
b00000000000000000000000000001000 9
|
||||
b100 :
|
||||
b101101 ;
|
||||
#45
|
||||
0$
|
||||
#50
|
||||
1$
|
||||
b00000000000000000000000000000101 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b110 9
|
||||
b111111 :
|
||||
1=
|
||||
#25
|
||||
0=
|
||||
#30
|
||||
b00000000000000000000000000000011 $
|
||||
b11 %
|
||||
b1111 &
|
||||
b11 '
|
||||
b11 (
|
||||
b11 )
|
||||
b1111 )
|
||||
b1111 *
|
||||
b1111 +
|
||||
b11 +
|
||||
b11 ,
|
||||
b11 -
|
||||
b11 .
|
||||
b11 /
|
||||
r0.5 0
|
||||
r1 2
|
||||
r1.5 4
|
||||
b0000000000000000000000000000010100000000000000000000000011111010 6
|
||||
b00000000000000000000000000000101 8
|
||||
b00000000000000000000000000001010 9
|
||||
b011 :
|
||||
b100100 ;
|
||||
#55
|
||||
0$
|
||||
#60
|
||||
1$
|
||||
b00000000000000000000000000000110 %
|
||||
b00 &
|
||||
b0000 '
|
||||
r0.3 /
|
||||
r0.6000000000000001 1
|
||||
r0.8999999999999999 3
|
||||
b0000000000000000000000000000001100000000000000000000000011111100 5
|
||||
b00000000000000000000000000000011 7
|
||||
b00000000000000000000000000000110 8
|
||||
b101 9
|
||||
b110110 :
|
||||
1=
|
||||
#35
|
||||
0=
|
||||
#40
|
||||
b00000000000000000000000000000100 $
|
||||
b00 %
|
||||
b0000 &
|
||||
b00 '
|
||||
b00 (
|
||||
b00 )
|
||||
b0000 )
|
||||
b0000 *
|
||||
b0000 +
|
||||
b00 +
|
||||
b00 ,
|
||||
b00 -
|
||||
b00 .
|
||||
b00 /
|
||||
r0.6 0
|
||||
r1.2 2
|
||||
r1.8 4
|
||||
b0000000000000000000000000000011000000000000000000000000011111001 6
|
||||
b00000000000000000000000000000110 8
|
||||
b00000000000000000000000000001100 9
|
||||
b010 :
|
||||
b011011 ;
|
||||
r0.4 /
|
||||
r0.8 1
|
||||
r1.2 3
|
||||
b0000000000000000000000000000010000000000000000000000000011111011 5
|
||||
b00000000000000000000000000000100 7
|
||||
b00000000000000000000000000001000 8
|
||||
b100 9
|
||||
b101101 :
|
||||
1=
|
||||
#45
|
||||
0=
|
||||
#50
|
||||
b00000000000000000000000000000101 $
|
||||
b11 %
|
||||
b1111 &
|
||||
b11 '
|
||||
b11 (
|
||||
b1111 )
|
||||
b1111 *
|
||||
b11 +
|
||||
b11 ,
|
||||
b11 -
|
||||
b11 .
|
||||
r0.5 /
|
||||
r1 1
|
||||
r1.5 3
|
||||
b0000000000000000000000000000010100000000000000000000000011111010 5
|
||||
b00000000000000000000000000000101 7
|
||||
b00000000000000000000000000001010 8
|
||||
b011 9
|
||||
b100100 :
|
||||
1=
|
||||
#55
|
||||
0=
|
||||
#60
|
||||
b00000000000000000000000000000110 $
|
||||
b00 %
|
||||
b0000 &
|
||||
b00 '
|
||||
b00 (
|
||||
b0000 )
|
||||
b0000 *
|
||||
b00 +
|
||||
b00 ,
|
||||
b00 -
|
||||
b00 .
|
||||
r0.6 /
|
||||
r1.2 1
|
||||
r1.8 3
|
||||
b0000000000000000000000000000011000000000000000000000000011111001 5
|
||||
b00000000000000000000000000000110 7
|
||||
b00000000000000000000000000001100 8
|
||||
b010 9
|
||||
b011011 :
|
||||
1=
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
$date
|
||||
Wed Feb 23 00:01:11 2022
|
||||
Tue Oct 24 11:02:57 2023
|
||||
|
||||
$end
|
||||
$version
|
||||
|
|
@ -9,237 +9,237 @@ $timescale
|
|||
1ps
|
||||
$end
|
||||
$scope module top $end
|
||||
$var wire 1 ! clk $end
|
||||
$scope module $unit $end
|
||||
$var bit 1 ! global_bit $end
|
||||
$upscope $end
|
||||
$var wire 1 " clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 ! clk $end
|
||||
$var integer 32 " cyc [31:0] $end
|
||||
$var logic 2 # v_strp [1:0] $end
|
||||
$var logic 4 $ v_strp_strp [3:0] $end
|
||||
$var logic 2 % v_unip_strp [1:0] $end
|
||||
$var logic 2 & v_arrp [2:1] $end
|
||||
$var logic 4 ' v_arrp_arrp [3:0] $end
|
||||
$var logic 4 ( v_arrp_strp [3:0] $end
|
||||
$var logic 1 ) v_arru[1] $end
|
||||
$var logic 1 * v_arru[2] $end
|
||||
$var logic 1 + v_arru_arru[3][1] $end
|
||||
$var logic 1 , v_arru_arru[3][2] $end
|
||||
$var logic 1 - v_arru_arru[4][1] $end
|
||||
$var logic 1 . v_arru_arru[4][2] $end
|
||||
$var logic 2 / v_arru_arrp[3] [2:1] $end
|
||||
$var logic 2 0 v_arru_arrp[4] [2:1] $end
|
||||
$var logic 2 1 v_arru_strp[3] [1:0] $end
|
||||
$var logic 2 2 v_arru_strp[4] [1:0] $end
|
||||
$var real 64 3 v_real $end
|
||||
$var real 64 4 v_arr_real[0] $end
|
||||
$var real 64 5 v_arr_real[1] $end
|
||||
$var logic 64 6 v_str32x2 [63:0] $end
|
||||
$var wire 1 " clk $end
|
||||
$var integer 32 # cyc [31:0] $end
|
||||
$var bit 2 $ v_strp [1:0] $end
|
||||
$var bit 4 % v_strp_strp [3:0] $end
|
||||
$var bit 2 & v_unip_strp [1:0] $end
|
||||
$var bit 2 ' v_arrp [2:1] $end
|
||||
$var bit 4 ( v_arrp_arrp [3:0] $end
|
||||
$var bit 4 ) v_arrp_strp [3:0] $end
|
||||
$var bit 1 * v_arru[1] $end
|
||||
$var bit 1 + v_arru[2] $end
|
||||
$var bit 1 , v_arru_arru[3][1] $end
|
||||
$var bit 1 - v_arru_arru[3][2] $end
|
||||
$var bit 1 . v_arru_arru[4][1] $end
|
||||
$var bit 1 / v_arru_arru[4][2] $end
|
||||
$var bit 2 0 v_arru_arrp[3] [2:1] $end
|
||||
$var bit 2 1 v_arru_arrp[4] [2:1] $end
|
||||
$var bit 2 2 v_arru_strp[3] [1:0] $end
|
||||
$var bit 2 3 v_arru_strp[4] [1:0] $end
|
||||
$var real 64 4 v_real $end
|
||||
$var real 64 5 v_arr_real[0] $end
|
||||
$var real 64 6 v_arr_real[1] $end
|
||||
$var logic 64 7 v_str32x2 [63:0] $end
|
||||
$attrbegin misc 07 t.enumed_t 4 ZERO ONE TWO THREE 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000010 00000000000000000000000000000011 1 $end
|
||||
$attrbegin misc 07 "" 1 $end
|
||||
$var logic 32 7 v_enumed [31:0] $end
|
||||
$var int 32 8 v_enumed [31:0] $end
|
||||
$attrbegin misc 07 "" 1 $end
|
||||
$var logic 32 8 v_enumed2 [31:0] $end
|
||||
$var int 32 9 v_enumed2 [31:0] $end
|
||||
$attrbegin misc 07 t.enumb_t 4 BZERO BONE BTWO BTHREE 000 001 010 011 2 $end
|
||||
$attrbegin misc 07 "" 2 $end
|
||||
$var logic 3 9 v_enumb [2:0] $end
|
||||
$var logic 6 : v_enumb2_str [5:0] $end
|
||||
$var logic 8 ; unpacked_array[-2] [7:0] $end
|
||||
$var logic 8 < unpacked_array[-1] [7:0] $end
|
||||
$var logic 8 = unpacked_array[0] [7:0] $end
|
||||
$var bit 1 > LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$var logic 3 : v_enumb [2:0] $end
|
||||
$var logic 6 ; v_enumb2_str [5:0] $end
|
||||
$var logic 8 < unpacked_array[-2] [7:0] $end
|
||||
$var logic 8 = unpacked_array[-1] [7:0] $end
|
||||
$var logic 8 > unpacked_array[0] [7:0] $end
|
||||
$var bit 1 ? LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$scope module a_module_instantiation_with_a_very_long_name_that_once_its_signals_get_concatenated_and_inlined_will_almost_certainly_result_in_them_getting_hashed $end
|
||||
$var parameter 32 ? PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module p2 $end
|
||||
$var parameter 32 @ PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module p3 $end
|
||||
$scope module p2 $end
|
||||
$var parameter 32 A PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module p3 $end
|
||||
$var parameter 32 B PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module unnamedblk1 $end
|
||||
$var integer 32 B b [31:0] $end
|
||||
$var integer 32 C b [31:0] $end
|
||||
$scope module unnamedblk2 $end
|
||||
$var integer 32 C a [31:0] $end
|
||||
$var integer 32 D a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module $unit $end
|
||||
$var bit 1 D global_bit $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
#0
|
||||
$dumpvars
|
||||
1D
|
||||
b00000000000000000000000000000000 D
|
||||
b00000000000000000000000000000000 C
|
||||
b00000000000000000000000000000000 B
|
||||
b00000000000000000000000000000011 A
|
||||
b00000000000000000000000000000010 @
|
||||
b00000000000000000000000000000100 ?
|
||||
0>
|
||||
b00000000000000000000000000000011 B
|
||||
b00000000000000000000000000000010 A
|
||||
b00000000000000000000000000000100 @
|
||||
0?
|
||||
b00000000 >
|
||||
b00000000 =
|
||||
b00000000 <
|
||||
b00000000 ;
|
||||
b000000 :
|
||||
b000 9
|
||||
b000000 ;
|
||||
b000 :
|
||||
b00000000000000000000000000000000 9
|
||||
b00000000000000000000000000000000 8
|
||||
b00000000000000000000000000000000 7
|
||||
b0000000000000000000000000000000000000000000000000000000011111111 6
|
||||
b0000000000000000000000000000000000000000000000000000000011111111 7
|
||||
r0 6
|
||||
r0 5
|
||||
r0 4
|
||||
r0 3
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
0/
|
||||
0.
|
||||
0-
|
||||
0,
|
||||
0+
|
||||
0*
|
||||
0)
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000000 "
|
||||
0!
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000000 #
|
||||
0"
|
||||
1!
|
||||
$end
|
||||
#10
|
||||
1!
|
||||
b00000000000000000000000000000001 "
|
||||
b11 #
|
||||
b1111 $
|
||||
b11 %
|
||||
1"
|
||||
b00000000000000000000000000000001 #
|
||||
b11 $
|
||||
b1111 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b11 '
|
||||
b1111 (
|
||||
b11 /
|
||||
b1111 )
|
||||
b11 0
|
||||
b11 1
|
||||
b11 2
|
||||
r0.1 3
|
||||
r0.2 4
|
||||
r0.3 5
|
||||
b0000000000000000000000000000000100000000000000000000000011111110 6
|
||||
b00000000000000000000000000000001 7
|
||||
b00000000000000000000000000000010 8
|
||||
b111 9
|
||||
b00000000000000000000000000000101 B
|
||||
b11 3
|
||||
r0.1 4
|
||||
r0.2 5
|
||||
r0.3 6
|
||||
b0000000000000000000000000000000100000000000000000000000011111110 7
|
||||
b00000000000000000000000000000001 8
|
||||
b00000000000000000000000000000010 9
|
||||
b111 :
|
||||
b00000000000000000000000000000101 C
|
||||
b00000000000000000000000000000101 D
|
||||
#15
|
||||
0!
|
||||
0"
|
||||
#20
|
||||
1!
|
||||
b110 9
|
||||
b00000000000000000000000000000100 8
|
||||
b00000000000000000000000000000010 7
|
||||
b0000000000000000000000000000001000000000000000000000000011111101 6
|
||||
r0.6 5
|
||||
r0.4 4
|
||||
r0.2 3
|
||||
1"
|
||||
b110 :
|
||||
b00000000000000000000000000000100 9
|
||||
b00000000000000000000000000000010 8
|
||||
b0000000000000000000000000000001000000000000000000000000011111101 7
|
||||
r0.6 6
|
||||
r0.4 5
|
||||
r0.2 4
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000010 "
|
||||
b111111 :
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000010 #
|
||||
b111111 ;
|
||||
#25
|
||||
0!
|
||||
0"
|
||||
#30
|
||||
1!
|
||||
b110110 :
|
||||
b00000000000000000000000000000011 "
|
||||
b11 #
|
||||
b1111 $
|
||||
b11 %
|
||||
1"
|
||||
b110110 ;
|
||||
b00000000000000000000000000000011 #
|
||||
b11 $
|
||||
b1111 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b11 '
|
||||
b1111 (
|
||||
b11 /
|
||||
b1111 )
|
||||
b11 0
|
||||
b11 1
|
||||
b11 2
|
||||
r0.3 3
|
||||
r0.6000000000000001 4
|
||||
r0.8999999999999999 5
|
||||
b0000000000000000000000000000001100000000000000000000000011111100 6
|
||||
b00000000000000000000000000000011 7
|
||||
b00000000000000000000000000000110 8
|
||||
b101 9
|
||||
b11 3
|
||||
r0.3 4
|
||||
r0.6000000000000001 5
|
||||
r0.8999999999999999 6
|
||||
b0000000000000000000000000000001100000000000000000000000011111100 7
|
||||
b00000000000000000000000000000011 8
|
||||
b00000000000000000000000000000110 9
|
||||
b101 :
|
||||
#35
|
||||
0!
|
||||
0"
|
||||
#40
|
||||
1!
|
||||
b100 9
|
||||
b00000000000000000000000000001000 8
|
||||
b00000000000000000000000000000100 7
|
||||
b0000000000000000000000000000010000000000000000000000000011111011 6
|
||||
r1.2 5
|
||||
r0.8 4
|
||||
r0.4 3
|
||||
1"
|
||||
b100 :
|
||||
b00000000000000000000000000001000 9
|
||||
b00000000000000000000000000000100 8
|
||||
b0000000000000000000000000000010000000000000000000000000011111011 7
|
||||
r1.2 6
|
||||
r0.8 5
|
||||
r0.4 4
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000100 "
|
||||
b101101 :
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000100 #
|
||||
b101101 ;
|
||||
#45
|
||||
0!
|
||||
0"
|
||||
#50
|
||||
1!
|
||||
b100100 :
|
||||
b00000000000000000000000000000101 "
|
||||
b11 #
|
||||
b1111 $
|
||||
b11 %
|
||||
1"
|
||||
b100100 ;
|
||||
b00000000000000000000000000000101 #
|
||||
b11 $
|
||||
b1111 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b11 '
|
||||
b1111 (
|
||||
b11 /
|
||||
b1111 )
|
||||
b11 0
|
||||
b11 1
|
||||
b11 2
|
||||
r0.5 3
|
||||
r1 4
|
||||
r1.5 5
|
||||
b0000000000000000000000000000010100000000000000000000000011111010 6
|
||||
b00000000000000000000000000000101 7
|
||||
b00000000000000000000000000001010 8
|
||||
b011 9
|
||||
b11 3
|
||||
r0.5 4
|
||||
r1 5
|
||||
r1.5 6
|
||||
b0000000000000000000000000000010100000000000000000000000011111010 7
|
||||
b00000000000000000000000000000101 8
|
||||
b00000000000000000000000000001010 9
|
||||
b011 :
|
||||
#55
|
||||
0!
|
||||
0"
|
||||
#60
|
||||
1!
|
||||
b010 9
|
||||
b00000000000000000000000000001100 8
|
||||
b00000000000000000000000000000110 7
|
||||
b0000000000000000000000000000011000000000000000000000000011111001 6
|
||||
r1.8 5
|
||||
r1.2 4
|
||||
r0.6 3
|
||||
1"
|
||||
b010 :
|
||||
b00000000000000000000000000001100 9
|
||||
b00000000000000000000000000000110 8
|
||||
b0000000000000000000000000000011000000000000000000000000011111001 7
|
||||
r1.8 6
|
||||
r1.2 5
|
||||
r0.6 4
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000110 "
|
||||
b011011 :
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000110 #
|
||||
b011011 ;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
$date
|
||||
Wed Feb 23 00:01:18 2022
|
||||
Tue Oct 24 11:09:58 2023
|
||||
|
||||
$end
|
||||
$version
|
||||
|
|
@ -9,279 +9,279 @@ $timescale
|
|||
1ps
|
||||
$end
|
||||
$scope module top $end
|
||||
$scope module $unit $end
|
||||
$var bit 1 ! global_bit $end
|
||||
$upscope $end
|
||||
$scope module t $end
|
||||
$var wire 1 ! clk $end
|
||||
$var integer 32 " cyc [31:0] $end
|
||||
$var logic 2 # v_strp [1:0] $end
|
||||
$var logic 4 $ v_strp_strp [3:0] $end
|
||||
$var logic 2 % v_unip_strp [1:0] $end
|
||||
$var logic 2 & v_arrp [2:1] $end
|
||||
$var logic 4 ' v_arrp_arrp [3:0] $end
|
||||
$var logic 4 ( v_arrp_strp [3:0] $end
|
||||
$var logic 1 ) v_arru[1] $end
|
||||
$var logic 1 * v_arru[2] $end
|
||||
$var logic 1 + v_arru_arru[3][1] $end
|
||||
$var logic 1 , v_arru_arru[3][2] $end
|
||||
$var logic 1 - v_arru_arru[4][1] $end
|
||||
$var logic 1 . v_arru_arru[4][2] $end
|
||||
$var logic 2 / v_arru_arrp[3] [2:1] $end
|
||||
$var logic 2 0 v_arru_arrp[4] [2:1] $end
|
||||
$var logic 2 1 v_arru_strp[3] [1:0] $end
|
||||
$var logic 2 2 v_arru_strp[4] [1:0] $end
|
||||
$var real 64 3 v_real $end
|
||||
$var real 64 4 v_arr_real[0] $end
|
||||
$var real 64 5 v_arr_real[1] $end
|
||||
$var logic 64 6 v_str32x2 [63:0] $end
|
||||
$var wire 1 " clk $end
|
||||
$var integer 32 # cyc [31:0] $end
|
||||
$var bit 2 $ v_strp [1:0] $end
|
||||
$var bit 4 % v_strp_strp [3:0] $end
|
||||
$var bit 2 & v_unip_strp [1:0] $end
|
||||
$var bit 2 ' v_arrp [2:1] $end
|
||||
$var bit 4 ( v_arrp_arrp [3:0] $end
|
||||
$var bit 4 ) v_arrp_strp [3:0] $end
|
||||
$var bit 1 * v_arru[1] $end
|
||||
$var bit 1 + v_arru[2] $end
|
||||
$var bit 1 , v_arru_arru[3][1] $end
|
||||
$var bit 1 - v_arru_arru[3][2] $end
|
||||
$var bit 1 . v_arru_arru[4][1] $end
|
||||
$var bit 1 / v_arru_arru[4][2] $end
|
||||
$var bit 2 0 v_arru_arrp[3] [2:1] $end
|
||||
$var bit 2 1 v_arru_arrp[4] [2:1] $end
|
||||
$var bit 2 2 v_arru_strp[3] [1:0] $end
|
||||
$var bit 2 3 v_arru_strp[4] [1:0] $end
|
||||
$var real 64 4 v_real $end
|
||||
$var real 64 5 v_arr_real[0] $end
|
||||
$var real 64 6 v_arr_real[1] $end
|
||||
$var logic 64 7 v_str32x2 [63:0] $end
|
||||
$attrbegin misc 07 t.enumed_t 4 ZERO ONE TWO THREE 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000010 00000000000000000000000000000011 1 $end
|
||||
$attrbegin misc 07 "" 1 $end
|
||||
$var logic 32 7 v_enumed [31:0] $end
|
||||
$var int 32 8 v_enumed [31:0] $end
|
||||
$attrbegin misc 07 "" 1 $end
|
||||
$var logic 32 8 v_enumed2 [31:0] $end
|
||||
$var int 32 9 v_enumed2 [31:0] $end
|
||||
$attrbegin misc 07 t.enumb_t 4 BZERO BONE BTWO BTHREE 000 001 010 011 2 $end
|
||||
$attrbegin misc 07 "" 2 $end
|
||||
$var logic 3 9 v_enumb [2:0] $end
|
||||
$var logic 6 : v_enumb2_str [5:0] $end
|
||||
$var logic 8 ; unpacked_array[-2] [7:0] $end
|
||||
$var logic 8 < unpacked_array[-1] [7:0] $end
|
||||
$var logic 8 = unpacked_array[0] [7:0] $end
|
||||
$var bit 1 > LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$var logic 3 : v_enumb [2:0] $end
|
||||
$var logic 6 ; v_enumb2_str [5:0] $end
|
||||
$var logic 8 < unpacked_array[-2] [7:0] $end
|
||||
$var logic 8 = unpacked_array[-1] [7:0] $end
|
||||
$var logic 8 > unpacked_array[0] [7:0] $end
|
||||
$var bit 1 ? LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$scope module a_module_instantiation_with_a_very_long_name_that_once_its_signals_get_concatenated_and_inlined_will_almost_certainly_result_in_them_getting_hashed $end
|
||||
$var parameter 32 ? PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module p2 $end
|
||||
$var parameter 32 @ PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module p3 $end
|
||||
$scope module p2 $end
|
||||
$var parameter 32 A PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module p3 $end
|
||||
$var parameter 32 B PARAM [31:0] $end
|
||||
$upscope $end
|
||||
$scope module unnamedblk1 $end
|
||||
$var integer 32 B b [31:0] $end
|
||||
$var integer 32 C b [31:0] $end
|
||||
$scope module unnamedblk2 $end
|
||||
$var integer 32 C a [31:0] $end
|
||||
$var integer 32 D a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module $unit $end
|
||||
$var bit 1 D global_bit $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
#0
|
||||
$dumpvars
|
||||
1D
|
||||
b00000000000000000000000000000000 D
|
||||
b00000000000000000000000000000000 C
|
||||
b00000000000000000000000000000000 B
|
||||
b00000000000000000000000000000011 A
|
||||
b00000000000000000000000000000010 @
|
||||
b00000000000000000000000000000100 ?
|
||||
0>
|
||||
b00000000000000000000000000000011 B
|
||||
b00000000000000000000000000000010 A
|
||||
b00000000000000000000000000000100 @
|
||||
0?
|
||||
b00000000 >
|
||||
b00000000 =
|
||||
b00000000 <
|
||||
b00000000 ;
|
||||
b000000 :
|
||||
b000 9
|
||||
b000000 ;
|
||||
b000 :
|
||||
b00000000000000000000000000000000 9
|
||||
b00000000000000000000000000000000 8
|
||||
b00000000000000000000000000000000 7
|
||||
b0000000000000000000000000000000000000000000000000000000011111111 6
|
||||
b0000000000000000000000000000000000000000000000000000000011111111 7
|
||||
r0 6
|
||||
r0 5
|
||||
r0 4
|
||||
r0 3
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
0/
|
||||
0.
|
||||
0-
|
||||
0,
|
||||
0+
|
||||
0*
|
||||
0)
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000000 "
|
||||
0!
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000000 #
|
||||
0"
|
||||
1!
|
||||
$end
|
||||
#10
|
||||
1!
|
||||
b00000000000000000000000000000001 "
|
||||
b11 #
|
||||
b1111 $
|
||||
b11 %
|
||||
1"
|
||||
b00000000000000000000000000000001 #
|
||||
b11 $
|
||||
b1111 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b11 '
|
||||
b1111 (
|
||||
b11 /
|
||||
b1111 )
|
||||
b11 0
|
||||
b11 1
|
||||
b11 2
|
||||
r0.1 3
|
||||
r0.2 4
|
||||
r0.3 5
|
||||
b0000000000000000000000000000000100000000000000000000000011111110 6
|
||||
b00000000000000000000000000000001 7
|
||||
b00000000000000000000000000000010 8
|
||||
b111 9
|
||||
b00000000000000000000000000000101 B
|
||||
b11 3
|
||||
r0.1 4
|
||||
r0.2 5
|
||||
r0.3 6
|
||||
b0000000000000000000000000000000100000000000000000000000011111110 7
|
||||
b00000000000000000000000000000001 8
|
||||
b00000000000000000000000000000010 9
|
||||
b111 :
|
||||
b00000000000000000000000000000101 C
|
||||
b00000000000000000000000000000101 D
|
||||
#11
|
||||
#12
|
||||
#13
|
||||
#14
|
||||
#15
|
||||
0!
|
||||
0"
|
||||
#16
|
||||
#17
|
||||
#18
|
||||
#19
|
||||
#20
|
||||
1!
|
||||
b110 9
|
||||
b00000000000000000000000000000100 8
|
||||
b00000000000000000000000000000010 7
|
||||
b0000000000000000000000000000001000000000000000000000000011111101 6
|
||||
r0.6 5
|
||||
r0.4 4
|
||||
r0.2 3
|
||||
1"
|
||||
b110 :
|
||||
b00000000000000000000000000000100 9
|
||||
b00000000000000000000000000000010 8
|
||||
b0000000000000000000000000000001000000000000000000000000011111101 7
|
||||
r0.6 6
|
||||
r0.4 5
|
||||
r0.2 4
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000010 "
|
||||
b111111 :
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000010 #
|
||||
b111111 ;
|
||||
#21
|
||||
#22
|
||||
#23
|
||||
#24
|
||||
#25
|
||||
0!
|
||||
0"
|
||||
#26
|
||||
#27
|
||||
#28
|
||||
#29
|
||||
#30
|
||||
1!
|
||||
b110110 :
|
||||
b00000000000000000000000000000011 "
|
||||
b11 #
|
||||
b1111 $
|
||||
b11 %
|
||||
1"
|
||||
b110110 ;
|
||||
b00000000000000000000000000000011 #
|
||||
b11 $
|
||||
b1111 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b11 '
|
||||
b1111 (
|
||||
b11 /
|
||||
b1111 )
|
||||
b11 0
|
||||
b11 1
|
||||
b11 2
|
||||
r0.3 3
|
||||
r0.6000000000000001 4
|
||||
r0.8999999999999999 5
|
||||
b0000000000000000000000000000001100000000000000000000000011111100 6
|
||||
b00000000000000000000000000000011 7
|
||||
b00000000000000000000000000000110 8
|
||||
b101 9
|
||||
b11 3
|
||||
r0.3 4
|
||||
r0.6000000000000001 5
|
||||
r0.8999999999999999 6
|
||||
b0000000000000000000000000000001100000000000000000000000011111100 7
|
||||
b00000000000000000000000000000011 8
|
||||
b00000000000000000000000000000110 9
|
||||
b101 :
|
||||
#31
|
||||
#32
|
||||
#33
|
||||
#34
|
||||
#35
|
||||
0!
|
||||
0"
|
||||
#36
|
||||
#37
|
||||
#38
|
||||
#39
|
||||
#40
|
||||
1!
|
||||
b100 9
|
||||
b00000000000000000000000000001000 8
|
||||
b00000000000000000000000000000100 7
|
||||
b0000000000000000000000000000010000000000000000000000000011111011 6
|
||||
r1.2 5
|
||||
r0.8 4
|
||||
r0.4 3
|
||||
1"
|
||||
b100 :
|
||||
b00000000000000000000000000001000 9
|
||||
b00000000000000000000000000000100 8
|
||||
b0000000000000000000000000000010000000000000000000000000011111011 7
|
||||
r1.2 6
|
||||
r0.8 5
|
||||
r0.4 4
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000100 "
|
||||
b101101 :
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000100 #
|
||||
b101101 ;
|
||||
#41
|
||||
#42
|
||||
#43
|
||||
#44
|
||||
#45
|
||||
0!
|
||||
0"
|
||||
#46
|
||||
#47
|
||||
#48
|
||||
#49
|
||||
#50
|
||||
1!
|
||||
b100100 :
|
||||
b00000000000000000000000000000101 "
|
||||
b11 #
|
||||
b1111 $
|
||||
b11 %
|
||||
1"
|
||||
b100100 ;
|
||||
b00000000000000000000000000000101 #
|
||||
b11 $
|
||||
b1111 %
|
||||
b11 &
|
||||
b1111 '
|
||||
b11 '
|
||||
b1111 (
|
||||
b11 /
|
||||
b1111 )
|
||||
b11 0
|
||||
b11 1
|
||||
b11 2
|
||||
r0.5 3
|
||||
r1 4
|
||||
r1.5 5
|
||||
b0000000000000000000000000000010100000000000000000000000011111010 6
|
||||
b00000000000000000000000000000101 7
|
||||
b00000000000000000000000000001010 8
|
||||
b011 9
|
||||
b11 3
|
||||
r0.5 4
|
||||
r1 5
|
||||
r1.5 6
|
||||
b0000000000000000000000000000010100000000000000000000000011111010 7
|
||||
b00000000000000000000000000000101 8
|
||||
b00000000000000000000000000001010 9
|
||||
b011 :
|
||||
#51
|
||||
#52
|
||||
#53
|
||||
#54
|
||||
#55
|
||||
0!
|
||||
0"
|
||||
#56
|
||||
#57
|
||||
#58
|
||||
#59
|
||||
#60
|
||||
1!
|
||||
b010 9
|
||||
b00000000000000000000000000001100 8
|
||||
b00000000000000000000000000000110 7
|
||||
b0000000000000000000000000000011000000000000000000000000011111001 6
|
||||
r1.8 5
|
||||
r1.2 4
|
||||
r0.6 3
|
||||
1"
|
||||
b010 :
|
||||
b00000000000000000000000000001100 9
|
||||
b00000000000000000000000000000110 8
|
||||
b0000000000000000000000000000011000000000000000000000000011111001 7
|
||||
r1.8 6
|
||||
r1.2 5
|
||||
r0.6 4
|
||||
b00 3
|
||||
b00 2
|
||||
b00 1
|
||||
b00 0
|
||||
b00 /
|
||||
b0000 )
|
||||
b0000 (
|
||||
b0000 '
|
||||
b00 '
|
||||
b00 &
|
||||
b00 %
|
||||
b0000 $
|
||||
b00 #
|
||||
b00000000000000000000000000000110 "
|
||||
b011011 :
|
||||
b0000 %
|
||||
b00 $
|
||||
b00000000000000000000000000000110 #
|
||||
b011011 ;
|
||||
#61
|
||||
#62
|
||||
#63
|
||||
|
|
|
|||
|
|
@ -1,90 +1,89 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Wed Aug 11 12:41:22 2021 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 I clk $end
|
||||
$scope module $unit $end
|
||||
$var wire 1 # global_bit $end
|
||||
$var wire 1 # global_bit $end
|
||||
$upscope $end
|
||||
$var wire 1 I clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 S LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$var wire 1 I clk $end
|
||||
$var wire 1 I clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$var wire 8 Q unpacked_array[-1] [7:0] $end
|
||||
$var wire 8 P unpacked_array[-2] [7:0] $end
|
||||
$var wire 8 R unpacked_array[0] [7:0] $end
|
||||
$var real 64 < v_arr_real[0] $end
|
||||
$var real 64 > v_arr_real[1] $end
|
||||
$var wire 2 - v_arrp [2:1] $end
|
||||
$var wire 2 . v_arrp_arrp[3] [2:1] $end
|
||||
$var wire 2 / v_arrp_arrp[4] [2:1] $end
|
||||
$var wire 1 J v_arru[1] $end
|
||||
$var wire 1 K v_arru[2] $end
|
||||
$var wire 2 4 v_arru_arrp[3] [2:1] $end
|
||||
$var wire 2 5 v_arru_arrp[4] [2:1] $end
|
||||
$var wire 1 L v_arru_arru[3][1] $end
|
||||
$var wire 1 M v_arru_arru[3][2] $end
|
||||
$var wire 1 N v_arru_arru[4][1] $end
|
||||
$var wire 1 O v_arru_arru[4][2] $end
|
||||
$var wire 3 D v_enumb [2:0] $end
|
||||
$var wire 32 B v_enumed [31:0] $end
|
||||
$var wire 32 C v_enumed2 [31:0] $end
|
||||
$var real 64 : v_real $end
|
||||
$scope module unnamedblk1 $end
|
||||
$var wire 32 G b [31:0] $end
|
||||
$scope module unnamedblk2 $end
|
||||
$var wire 32 H a [31:0] $end
|
||||
$scope module v_strp $end
|
||||
$var wire 1 % b1 $end
|
||||
$var wire 1 & b0 $end
|
||||
$upscope $end
|
||||
$scope module v_strp_strp $end
|
||||
$scope module x1 $end
|
||||
$var wire 1 ' b1 $end
|
||||
$var wire 1 ( b0 $end
|
||||
$upscope $end
|
||||
$scope module x0 $end
|
||||
$var wire 1 ) b1 $end
|
||||
$var wire 1 * b0 $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module v_unip_strp $end
|
||||
$scope module x1 $end
|
||||
$var wire 1 + b1 $end
|
||||
$var wire 1 , b0 $end
|
||||
$upscope $end
|
||||
$scope module x0 $end
|
||||
$var wire 1 + b1 $end
|
||||
$var wire 1 , b0 $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$var wire 2 - v_arrp [2:1] $end
|
||||
$var wire 2 . v_arrp_arrp[3] [2:1] $end
|
||||
$var wire 2 / v_arrp_arrp[4] [2:1] $end
|
||||
$scope module v_arrp_strp[3] $end
|
||||
$var wire 1 1 b0 $end
|
||||
$var wire 1 0 b1 $end
|
||||
$var wire 1 0 b1 $end
|
||||
$var wire 1 1 b0 $end
|
||||
$upscope $end
|
||||
$scope module v_arrp_strp[4] $end
|
||||
$var wire 1 3 b0 $end
|
||||
$var wire 1 2 b1 $end
|
||||
$var wire 1 2 b1 $end
|
||||
$var wire 1 3 b0 $end
|
||||
$upscope $end
|
||||
$var wire 1 J v_arru[1] $end
|
||||
$var wire 1 K v_arru[2] $end
|
||||
$var wire 1 L v_arru_arru[3][1] $end
|
||||
$var wire 1 M v_arru_arru[3][2] $end
|
||||
$var wire 1 N v_arru_arru[4][1] $end
|
||||
$var wire 1 O v_arru_arru[4][2] $end
|
||||
$var wire 2 4 v_arru_arrp[3] [2:1] $end
|
||||
$var wire 2 5 v_arru_arrp[4] [2:1] $end
|
||||
$scope module v_arru_strp[3] $end
|
||||
$var wire 1 7 b0 $end
|
||||
$var wire 1 6 b1 $end
|
||||
$var wire 1 6 b1 $end
|
||||
$var wire 1 7 b0 $end
|
||||
$upscope $end
|
||||
$scope module v_arru_strp[4] $end
|
||||
$var wire 1 9 b0 $end
|
||||
$var wire 1 8 b1 $end
|
||||
$upscope $end
|
||||
$scope module v_enumb2_str $end
|
||||
$var wire 3 E a [2:0] $end
|
||||
$var wire 3 F b [2:0] $end
|
||||
$var wire 1 8 b1 $end
|
||||
$var wire 1 9 b0 $end
|
||||
$upscope $end
|
||||
$var real 64 : v_real $end
|
||||
$var real 64 < v_arr_real[0] $end
|
||||
$var real 64 > v_arr_real[1] $end
|
||||
$scope module v_str32x2[0] $end
|
||||
$var wire 32 @ data [31:0] $end
|
||||
$upscope $end
|
||||
$scope module v_str32x2[1] $end
|
||||
$var wire 32 A data [31:0] $end
|
||||
$upscope $end
|
||||
$scope module v_strp_strp $end
|
||||
$scope module x0 $end
|
||||
$var wire 1 * b0 $end
|
||||
$var wire 1 ) b1 $end
|
||||
$upscope $end
|
||||
$scope module x1 $end
|
||||
$var wire 1 ( b0 $end
|
||||
$var wire 1 ' b1 $end
|
||||
$upscope $end
|
||||
$var wire 32 B v_enumed [31:0] $end
|
||||
$var wire 32 C v_enumed2 [31:0] $end
|
||||
$var wire 3 D v_enumb [2:0] $end
|
||||
$scope module v_enumb2_str $end
|
||||
$var wire 3 E a [2:0] $end
|
||||
$var wire 3 F b [2:0] $end
|
||||
$upscope $end
|
||||
$scope module v_strp $end
|
||||
$var wire 1 & b0 $end
|
||||
$var wire 1 % b1 $end
|
||||
$upscope $end
|
||||
$scope module v_unip_strp $end
|
||||
$scope module x0 $end
|
||||
$var wire 1 , b0 $end
|
||||
$var wire 1 + b1 $end
|
||||
$upscope $end
|
||||
$scope module x1 $end
|
||||
$var wire 1 , b0 $end
|
||||
$var wire 1 + b1 $end
|
||||
$var wire 8 P unpacked_array[-2] [7:0] $end
|
||||
$var wire 8 Q unpacked_array[-1] [7:0] $end
|
||||
$var wire 8 R unpacked_array[0] [7:0] $end
|
||||
$var wire 1 S LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$scope module unnamedblk1 $end
|
||||
$var wire 32 G b [31:0] $end
|
||||
$scope module unnamedblk2 $end
|
||||
$var wire 32 H a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
$date
|
||||
Wed Feb 23 00:01:19 2022
|
||||
Tue Oct 24 11:01:27 2023
|
||||
|
||||
$end
|
||||
$version
|
||||
|
|
@ -9,125 +9,125 @@ $timescale
|
|||
1ps
|
||||
$end
|
||||
$scope module top $end
|
||||
$var wire 1 ! clk $end
|
||||
$scope module $unit $end
|
||||
$var bit 1 ! global_bit $end
|
||||
$upscope $end
|
||||
$var wire 1 " clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 ! clk $end
|
||||
$var integer 32 " cyc [31:0] $end
|
||||
$var wire 1 " clk $end
|
||||
$var integer 32 # cyc [31:0] $end
|
||||
$scope struct v_strp $end
|
||||
$var logic 1 # b1 $end
|
||||
$var logic 1 $ b0 $end
|
||||
$var bit 1 $ b1 $end
|
||||
$var bit 1 % b0 $end
|
||||
$upscope $end
|
||||
$scope struct v_strp_strp $end
|
||||
$scope struct x1 $end
|
||||
$var logic 1 % b1 $end
|
||||
$var logic 1 & b0 $end
|
||||
$var bit 1 & b1 $end
|
||||
$var bit 1 ' b0 $end
|
||||
$upscope $end
|
||||
$scope struct x0 $end
|
||||
$var logic 1 ' b1 $end
|
||||
$var logic 1 ( b0 $end
|
||||
$var bit 1 ( b1 $end
|
||||
$var bit 1 ) b0 $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope union v_unip_strp $end
|
||||
$scope struct x1 $end
|
||||
$var logic 1 ) b1 $end
|
||||
$var logic 1 * b0 $end
|
||||
$var bit 1 * b1 $end
|
||||
$var bit 1 + b0 $end
|
||||
$upscope $end
|
||||
$scope struct x0 $end
|
||||
$var logic 1 ) b1 $end
|
||||
$var logic 1 * b0 $end
|
||||
$var bit 1 * b1 $end
|
||||
$var bit 1 + b0 $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$var logic 2 + v_arrp [2:1] $end
|
||||
$var logic 2 , v_arrp_arrp[3] [2:1] $end
|
||||
$var logic 2 - v_arrp_arrp[4] [2:1] $end
|
||||
$var bit 2 , v_arrp [2:1] $end
|
||||
$var bit 2 - v_arrp_arrp[3] [2:1] $end
|
||||
$var bit 2 . v_arrp_arrp[4] [2:1] $end
|
||||
$scope struct v_arrp_strp[3] $end
|
||||
$var logic 1 . b1 $end
|
||||
$var logic 1 / b0 $end
|
||||
$var bit 1 / b1 $end
|
||||
$var bit 1 0 b0 $end
|
||||
$upscope $end
|
||||
$scope struct v_arrp_strp[4] $end
|
||||
$var logic 1 0 b1 $end
|
||||
$var logic 1 1 b0 $end
|
||||
$var bit 1 1 b1 $end
|
||||
$var bit 1 2 b0 $end
|
||||
$upscope $end
|
||||
$var logic 1 2 v_arru[1] $end
|
||||
$var logic 1 3 v_arru[2] $end
|
||||
$var logic 1 4 v_arru_arru[3][1] $end
|
||||
$var logic 1 5 v_arru_arru[3][2] $end
|
||||
$var logic 1 6 v_arru_arru[4][1] $end
|
||||
$var logic 1 7 v_arru_arru[4][2] $end
|
||||
$var logic 2 8 v_arru_arrp[3] [2:1] $end
|
||||
$var logic 2 9 v_arru_arrp[4] [2:1] $end
|
||||
$var bit 1 3 v_arru[1] $end
|
||||
$var bit 1 4 v_arru[2] $end
|
||||
$var bit 1 5 v_arru_arru[3][1] $end
|
||||
$var bit 1 6 v_arru_arru[3][2] $end
|
||||
$var bit 1 7 v_arru_arru[4][1] $end
|
||||
$var bit 1 8 v_arru_arru[4][2] $end
|
||||
$var bit 2 9 v_arru_arrp[3] [2:1] $end
|
||||
$var bit 2 : v_arru_arrp[4] [2:1] $end
|
||||
$scope struct v_arru_strp[3] $end
|
||||
$var logic 1 : b1 $end
|
||||
$var logic 1 ; b0 $end
|
||||
$var bit 1 ; b1 $end
|
||||
$var bit 1 < b0 $end
|
||||
$upscope $end
|
||||
$scope struct v_arru_strp[4] $end
|
||||
$var logic 1 < b1 $end
|
||||
$var logic 1 = b0 $end
|
||||
$var bit 1 = b1 $end
|
||||
$var bit 1 > b0 $end
|
||||
$upscope $end
|
||||
$var real 64 > v_real $end
|
||||
$var real 64 ? v_arr_real[0] $end
|
||||
$var real 64 @ v_arr_real[1] $end
|
||||
$var real 64 ? v_real $end
|
||||
$var real 64 @ v_arr_real[0] $end
|
||||
$var real 64 A v_arr_real[1] $end
|
||||
$scope struct v_str32x2[0] $end
|
||||
$var logic 32 A data [31:0] $end
|
||||
$var logic 32 B data [31:0] $end
|
||||
$upscope $end
|
||||
$scope struct v_str32x2[1] $end
|
||||
$var logic 32 B data [31:0] $end
|
||||
$attrbegin misc 07 t.enumed_t 4 ZERO ONE TWO THREE 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000010 00000000000000000000000000000011 1 $end
|
||||
$var logic 32 C data [31:0] $end
|
||||
$upscope $end
|
||||
$attrbegin misc 07 t.enumed_t 4 ZERO ONE TWO THREE 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000010 00000000000000000000000000000011 1 $end
|
||||
$attrbegin misc 07 "" 1 $end
|
||||
$var logic 32 C v_enumed [31:0] $end
|
||||
$var int 32 D v_enumed [31:0] $end
|
||||
$attrbegin misc 07 "" 1 $end
|
||||
$var logic 32 D v_enumed2 [31:0] $end
|
||||
$var int 32 E v_enumed2 [31:0] $end
|
||||
$attrbegin misc 07 t.enumb_t 4 BZERO BONE BTWO BTHREE 000 001 010 011 2 $end
|
||||
$attrbegin misc 07 "" 2 $end
|
||||
$var logic 3 E v_enumb [2:0] $end
|
||||
$var logic 3 F v_enumb [2:0] $end
|
||||
$scope struct v_enumb2_str $end
|
||||
$attrbegin misc 07 "" 2 $end
|
||||
$var logic 3 F a [2:0] $end
|
||||
$var logic 3 G a [2:0] $end
|
||||
$attrbegin misc 07 "" 2 $end
|
||||
$var logic 3 G b [2:0] $end
|
||||
$var logic 3 H b [2:0] $end
|
||||
$upscope $end
|
||||
$var logic 8 H unpacked_array[-2] [7:0] $end
|
||||
$var logic 8 I unpacked_array[-1] [7:0] $end
|
||||
$var logic 8 J unpacked_array[0] [7:0] $end
|
||||
$var bit 1 K LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$var logic 8 I unpacked_array[-2] [7:0] $end
|
||||
$var logic 8 J unpacked_array[-1] [7:0] $end
|
||||
$var logic 8 K unpacked_array[0] [7:0] $end
|
||||
$var bit 1 L LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$scope module unnamedblk1 $end
|
||||
$var integer 32 L b [31:0] $end
|
||||
$var integer 32 M b [31:0] $end
|
||||
$scope module unnamedblk2 $end
|
||||
$var integer 32 M a [31:0] $end
|
||||
$var integer 32 N a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module $unit $end
|
||||
$var bit 1 N global_bit $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
#0
|
||||
$dumpvars
|
||||
1N
|
||||
b00000000000000000000000000000000 N
|
||||
b00000000000000000000000000000000 M
|
||||
b00000000000000000000000000000000 L
|
||||
0K
|
||||
0L
|
||||
b00000000 K
|
||||
b00000000 J
|
||||
b00000000 I
|
||||
b00000000 H
|
||||
b000 H
|
||||
b000 G
|
||||
b000 F
|
||||
b000 E
|
||||
b00000000000000000000000000000000 E
|
||||
b00000000000000000000000000000000 D
|
||||
b00000000000000000000000000000000 C
|
||||
b00000000000000000000000000000000 B
|
||||
b00000000000000000000000011111111 A
|
||||
b00000000000000000000000011111111 B
|
||||
r0 A
|
||||
r0 @
|
||||
r0 ?
|
||||
r0 >
|
||||
0>
|
||||
0=
|
||||
0<
|
||||
0;
|
||||
0:
|
||||
b00 :
|
||||
b00 9
|
||||
b00 8
|
||||
08
|
||||
07
|
||||
06
|
||||
05
|
||||
|
|
@ -137,10 +137,10 @@ b00 8
|
|||
01
|
||||
00
|
||||
0/
|
||||
0.
|
||||
b00 .
|
||||
b00 -
|
||||
b00 ,
|
||||
b00 +
|
||||
0+
|
||||
0*
|
||||
0)
|
||||
0(
|
||||
|
|
@ -148,14 +148,13 @@ b00 +
|
|||
0&
|
||||
0%
|
||||
0$
|
||||
0#
|
||||
b00000000000000000000000000000000 "
|
||||
0!
|
||||
b00000000000000000000000000000000 #
|
||||
0"
|
||||
1!
|
||||
$end
|
||||
#10
|
||||
1!
|
||||
b00000000000000000000000000000001 "
|
||||
1#
|
||||
1"
|
||||
b00000000000000000000000000000001 #
|
||||
1$
|
||||
1%
|
||||
1&
|
||||
|
|
@ -163,73 +162,73 @@ b00000000000000000000000000000001 "
|
|||
1(
|
||||
1)
|
||||
1*
|
||||
b11 +
|
||||
1+
|
||||
b11 ,
|
||||
b11 -
|
||||
1.
|
||||
b11 .
|
||||
1/
|
||||
10
|
||||
11
|
||||
b11 8
|
||||
12
|
||||
b11 9
|
||||
1:
|
||||
b11 :
|
||||
1;
|
||||
1<
|
||||
1=
|
||||
r0.1 >
|
||||
r0.2 ?
|
||||
r0.3 @
|
||||
b00000000000000000000000011111110 A
|
||||
b00000000000000000000000000000001 B
|
||||
1>
|
||||
r0.1 ?
|
||||
r0.2 @
|
||||
r0.3 A
|
||||
b00000000000000000000000011111110 B
|
||||
b00000000000000000000000000000001 C
|
||||
b00000000000000000000000000000010 D
|
||||
b111 E
|
||||
b00000000000000000000000000000101 L
|
||||
b00000000000000000000000000000101 M
|
||||
#15
|
||||
0!
|
||||
#20
|
||||
1!
|
||||
b110 E
|
||||
b00000000000000000000000000000100 D
|
||||
b00000000000000000000000000000010 C
|
||||
b00000000000000000000000000000010 B
|
||||
b00000000000000000000000011111101 A
|
||||
r0.6 @
|
||||
r0.4 ?
|
||||
r0.2 >
|
||||
0=
|
||||
0<
|
||||
0;
|
||||
0:
|
||||
b00 9
|
||||
b00 8
|
||||
01
|
||||
00
|
||||
0/
|
||||
0.
|
||||
b00 -
|
||||
b00 ,
|
||||
b00 +
|
||||
0*
|
||||
0)
|
||||
0(
|
||||
0'
|
||||
0&
|
||||
0%
|
||||
0$
|
||||
0#
|
||||
b00000000000000000000000000000010 "
|
||||
b00000000000000000000000000000001 D
|
||||
b00000000000000000000000000000010 E
|
||||
b111 F
|
||||
b111 G
|
||||
#25
|
||||
0!
|
||||
#30
|
||||
1!
|
||||
b110 G
|
||||
b00000000000000000000000000000101 M
|
||||
b00000000000000000000000000000101 N
|
||||
#15
|
||||
0"
|
||||
#20
|
||||
1"
|
||||
b110 F
|
||||
b00000000000000000000000000000011 "
|
||||
1#
|
||||
b00000000000000000000000000000100 E
|
||||
b00000000000000000000000000000010 D
|
||||
b00000000000000000000000000000010 C
|
||||
b00000000000000000000000011111101 B
|
||||
r0.6 A
|
||||
r0.4 @
|
||||
r0.2 ?
|
||||
0>
|
||||
0=
|
||||
0<
|
||||
0;
|
||||
b00 :
|
||||
b00 9
|
||||
02
|
||||
01
|
||||
00
|
||||
0/
|
||||
b00 .
|
||||
b00 -
|
||||
b00 ,
|
||||
0+
|
||||
0*
|
||||
0)
|
||||
0(
|
||||
0'
|
||||
0&
|
||||
0%
|
||||
0$
|
||||
b00000000000000000000000000000010 #
|
||||
b111 G
|
||||
b111 H
|
||||
#25
|
||||
0"
|
||||
#30
|
||||
1"
|
||||
b110 H
|
||||
b110 G
|
||||
b00000000000000000000000000000011 #
|
||||
1$
|
||||
1%
|
||||
1&
|
||||
|
|
@ -237,52 +236,54 @@ b00000000000000000000000000000011 "
|
|||
1(
|
||||
1)
|
||||
1*
|
||||
b11 +
|
||||
1+
|
||||
b11 ,
|
||||
b11 -
|
||||
1.
|
||||
b11 .
|
||||
1/
|
||||
10
|
||||
11
|
||||
b11 8
|
||||
12
|
||||
b11 9
|
||||
1:
|
||||
b11 :
|
||||
1;
|
||||
1<
|
||||
1=
|
||||
r0.3 >
|
||||
r0.6000000000000001 ?
|
||||
r0.8999999999999999 @
|
||||
b00000000000000000000000011111100 A
|
||||
b00000000000000000000000000000011 B
|
||||
1>
|
||||
r0.3 ?
|
||||
r0.6000000000000001 @
|
||||
r0.8999999999999999 A
|
||||
b00000000000000000000000011111100 B
|
||||
b00000000000000000000000000000011 C
|
||||
b00000000000000000000000000000110 D
|
||||
b101 E
|
||||
b00000000000000000000000000000011 D
|
||||
b00000000000000000000000000000110 E
|
||||
b101 F
|
||||
#35
|
||||
0!
|
||||
0"
|
||||
#40
|
||||
1!
|
||||
b100 E
|
||||
b00000000000000000000000000001000 D
|
||||
1"
|
||||
b100 F
|
||||
b00000000000000000000000000001000 E
|
||||
b00000000000000000000000000000100 D
|
||||
b00000000000000000000000000000100 C
|
||||
b00000000000000000000000000000100 B
|
||||
b00000000000000000000000011111011 A
|
||||
r1.2 @
|
||||
r0.8 ?
|
||||
r0.4 >
|
||||
b00000000000000000000000011111011 B
|
||||
r1.2 A
|
||||
r0.8 @
|
||||
r0.4 ?
|
||||
0>
|
||||
0=
|
||||
0<
|
||||
0;
|
||||
0:
|
||||
b00 :
|
||||
b00 9
|
||||
b00 8
|
||||
02
|
||||
01
|
||||
00
|
||||
0/
|
||||
0.
|
||||
b00 .
|
||||
b00 -
|
||||
b00 ,
|
||||
b00 +
|
||||
0+
|
||||
0*
|
||||
0)
|
||||
0(
|
||||
|
|
@ -290,18 +291,16 @@ b00 +
|
|||
0&
|
||||
0%
|
||||
0$
|
||||
0#
|
||||
b00000000000000000000000000000100 "
|
||||
b101 F
|
||||
b00000000000000000000000000000100 #
|
||||
b101 G
|
||||
b101 H
|
||||
#45
|
||||
0!
|
||||
0"
|
||||
#50
|
||||
1!
|
||||
1"
|
||||
b100 H
|
||||
b100 G
|
||||
b100 F
|
||||
b00000000000000000000000000000101 "
|
||||
1#
|
||||
b00000000000000000000000000000101 #
|
||||
1$
|
||||
1%
|
||||
1&
|
||||
|
|
@ -309,52 +308,54 @@ b00000000000000000000000000000101 "
|
|||
1(
|
||||
1)
|
||||
1*
|
||||
b11 +
|
||||
1+
|
||||
b11 ,
|
||||
b11 -
|
||||
1.
|
||||
b11 .
|
||||
1/
|
||||
10
|
||||
11
|
||||
b11 8
|
||||
12
|
||||
b11 9
|
||||
1:
|
||||
b11 :
|
||||
1;
|
||||
1<
|
||||
1=
|
||||
r0.5 >
|
||||
r1 ?
|
||||
r1.5 @
|
||||
b00000000000000000000000011111010 A
|
||||
b00000000000000000000000000000101 B
|
||||
1>
|
||||
r0.5 ?
|
||||
r1 @
|
||||
r1.5 A
|
||||
b00000000000000000000000011111010 B
|
||||
b00000000000000000000000000000101 C
|
||||
b00000000000000000000000000001010 D
|
||||
b011 E
|
||||
b00000000000000000000000000000101 D
|
||||
b00000000000000000000000000001010 E
|
||||
b011 F
|
||||
#55
|
||||
0!
|
||||
0"
|
||||
#60
|
||||
1!
|
||||
b010 E
|
||||
b00000000000000000000000000001100 D
|
||||
1"
|
||||
b010 F
|
||||
b00000000000000000000000000001100 E
|
||||
b00000000000000000000000000000110 D
|
||||
b00000000000000000000000000000110 C
|
||||
b00000000000000000000000000000110 B
|
||||
b00000000000000000000000011111001 A
|
||||
r1.8 @
|
||||
r1.2 ?
|
||||
r0.6 >
|
||||
b00000000000000000000000011111001 B
|
||||
r1.8 A
|
||||
r1.2 @
|
||||
r0.6 ?
|
||||
0>
|
||||
0=
|
||||
0<
|
||||
0;
|
||||
0:
|
||||
b00 :
|
||||
b00 9
|
||||
b00 8
|
||||
02
|
||||
01
|
||||
00
|
||||
0/
|
||||
0.
|
||||
b00 .
|
||||
b00 -
|
||||
b00 ,
|
||||
b00 +
|
||||
0+
|
||||
0*
|
||||
0)
|
||||
0(
|
||||
|
|
@ -362,7 +363,6 @@ b00 +
|
|||
0&
|
||||
0%
|
||||
0$
|
||||
0#
|
||||
b00000000000000000000000000000110 "
|
||||
b011 F
|
||||
b00000000000000000000000000000110 #
|
||||
b011 G
|
||||
b011 H
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
$date
|
||||
Wed Feb 23 00:01:26 2022
|
||||
Tue Oct 24 11:01:32 2023
|
||||
|
||||
$end
|
||||
$version
|
||||
|
|
@ -9,124 +9,124 @@ $timescale
|
|||
1ps
|
||||
$end
|
||||
$scope module top $end
|
||||
$scope module $unit $end
|
||||
$var bit 1 ! global_bit $end
|
||||
$upscope $end
|
||||
$scope module t $end
|
||||
$var wire 1 ! clk $end
|
||||
$var integer 32 " cyc [31:0] $end
|
||||
$var wire 1 " clk $end
|
||||
$var integer 32 # cyc [31:0] $end
|
||||
$scope struct v_strp $end
|
||||
$var logic 1 # b1 $end
|
||||
$var logic 1 $ b0 $end
|
||||
$var bit 1 $ b1 $end
|
||||
$var bit 1 % b0 $end
|
||||
$upscope $end
|
||||
$scope struct v_strp_strp $end
|
||||
$scope struct x1 $end
|
||||
$var logic 1 % b1 $end
|
||||
$var logic 1 & b0 $end
|
||||
$var bit 1 & b1 $end
|
||||
$var bit 1 ' b0 $end
|
||||
$upscope $end
|
||||
$scope struct x0 $end
|
||||
$var logic 1 ' b1 $end
|
||||
$var logic 1 ( b0 $end
|
||||
$var bit 1 ( b1 $end
|
||||
$var bit 1 ) b0 $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope union v_unip_strp $end
|
||||
$scope struct x1 $end
|
||||
$var logic 1 ) b1 $end
|
||||
$var logic 1 * b0 $end
|
||||
$var bit 1 * b1 $end
|
||||
$var bit 1 + b0 $end
|
||||
$upscope $end
|
||||
$scope struct x0 $end
|
||||
$var logic 1 ) b1 $end
|
||||
$var logic 1 * b0 $end
|
||||
$var bit 1 * b1 $end
|
||||
$var bit 1 + b0 $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$var logic 2 + v_arrp [2:1] $end
|
||||
$var logic 2 , v_arrp_arrp[3] [2:1] $end
|
||||
$var logic 2 - v_arrp_arrp[4] [2:1] $end
|
||||
$var bit 2 , v_arrp [2:1] $end
|
||||
$var bit 2 - v_arrp_arrp[3] [2:1] $end
|
||||
$var bit 2 . v_arrp_arrp[4] [2:1] $end
|
||||
$scope struct v_arrp_strp[3] $end
|
||||
$var logic 1 . b1 $end
|
||||
$var logic 1 / b0 $end
|
||||
$var bit 1 / b1 $end
|
||||
$var bit 1 0 b0 $end
|
||||
$upscope $end
|
||||
$scope struct v_arrp_strp[4] $end
|
||||
$var logic 1 0 b1 $end
|
||||
$var logic 1 1 b0 $end
|
||||
$var bit 1 1 b1 $end
|
||||
$var bit 1 2 b0 $end
|
||||
$upscope $end
|
||||
$var logic 1 2 v_arru[1] $end
|
||||
$var logic 1 3 v_arru[2] $end
|
||||
$var logic 1 4 v_arru_arru[3][1] $end
|
||||
$var logic 1 5 v_arru_arru[3][2] $end
|
||||
$var logic 1 6 v_arru_arru[4][1] $end
|
||||
$var logic 1 7 v_arru_arru[4][2] $end
|
||||
$var logic 2 8 v_arru_arrp[3] [2:1] $end
|
||||
$var logic 2 9 v_arru_arrp[4] [2:1] $end
|
||||
$var bit 1 3 v_arru[1] $end
|
||||
$var bit 1 4 v_arru[2] $end
|
||||
$var bit 1 5 v_arru_arru[3][1] $end
|
||||
$var bit 1 6 v_arru_arru[3][2] $end
|
||||
$var bit 1 7 v_arru_arru[4][1] $end
|
||||
$var bit 1 8 v_arru_arru[4][2] $end
|
||||
$var bit 2 9 v_arru_arrp[3] [2:1] $end
|
||||
$var bit 2 : v_arru_arrp[4] [2:1] $end
|
||||
$scope struct v_arru_strp[3] $end
|
||||
$var logic 1 : b1 $end
|
||||
$var logic 1 ; b0 $end
|
||||
$var bit 1 ; b1 $end
|
||||
$var bit 1 < b0 $end
|
||||
$upscope $end
|
||||
$scope struct v_arru_strp[4] $end
|
||||
$var logic 1 < b1 $end
|
||||
$var logic 1 = b0 $end
|
||||
$var bit 1 = b1 $end
|
||||
$var bit 1 > b0 $end
|
||||
$upscope $end
|
||||
$var real 64 > v_real $end
|
||||
$var real 64 ? v_arr_real[0] $end
|
||||
$var real 64 @ v_arr_real[1] $end
|
||||
$var real 64 ? v_real $end
|
||||
$var real 64 @ v_arr_real[0] $end
|
||||
$var real 64 A v_arr_real[1] $end
|
||||
$scope struct v_str32x2[0] $end
|
||||
$var logic 32 A data [31:0] $end
|
||||
$var logic 32 B data [31:0] $end
|
||||
$upscope $end
|
||||
$scope struct v_str32x2[1] $end
|
||||
$var logic 32 B data [31:0] $end
|
||||
$attrbegin misc 07 t.enumed_t 4 ZERO ONE TWO THREE 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000010 00000000000000000000000000000011 1 $end
|
||||
$var logic 32 C data [31:0] $end
|
||||
$upscope $end
|
||||
$attrbegin misc 07 t.enumed_t 4 ZERO ONE TWO THREE 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000010 00000000000000000000000000000011 1 $end
|
||||
$attrbegin misc 07 "" 1 $end
|
||||
$var logic 32 C v_enumed [31:0] $end
|
||||
$var int 32 D v_enumed [31:0] $end
|
||||
$attrbegin misc 07 "" 1 $end
|
||||
$var logic 32 D v_enumed2 [31:0] $end
|
||||
$var int 32 E v_enumed2 [31:0] $end
|
||||
$attrbegin misc 07 t.enumb_t 4 BZERO BONE BTWO BTHREE 000 001 010 011 2 $end
|
||||
$attrbegin misc 07 "" 2 $end
|
||||
$var logic 3 E v_enumb [2:0] $end
|
||||
$var logic 3 F v_enumb [2:0] $end
|
||||
$scope struct v_enumb2_str $end
|
||||
$attrbegin misc 07 "" 2 $end
|
||||
$var logic 3 F a [2:0] $end
|
||||
$var logic 3 G a [2:0] $end
|
||||
$attrbegin misc 07 "" 2 $end
|
||||
$var logic 3 G b [2:0] $end
|
||||
$var logic 3 H b [2:0] $end
|
||||
$upscope $end
|
||||
$var logic 8 H unpacked_array[-2] [7:0] $end
|
||||
$var logic 8 I unpacked_array[-1] [7:0] $end
|
||||
$var logic 8 J unpacked_array[0] [7:0] $end
|
||||
$var bit 1 K LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$var logic 8 I unpacked_array[-2] [7:0] $end
|
||||
$var logic 8 J unpacked_array[-1] [7:0] $end
|
||||
$var logic 8 K unpacked_array[0] [7:0] $end
|
||||
$var bit 1 L LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end
|
||||
$scope module unnamedblk1 $end
|
||||
$var integer 32 L b [31:0] $end
|
||||
$var integer 32 M b [31:0] $end
|
||||
$scope module unnamedblk2 $end
|
||||
$var integer 32 M a [31:0] $end
|
||||
$var integer 32 N a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module $unit $end
|
||||
$var bit 1 N global_bit $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
#0
|
||||
$dumpvars
|
||||
1N
|
||||
b00000000000000000000000000000000 N
|
||||
b00000000000000000000000000000000 M
|
||||
b00000000000000000000000000000000 L
|
||||
0K
|
||||
0L
|
||||
b00000000 K
|
||||
b00000000 J
|
||||
b00000000 I
|
||||
b00000000 H
|
||||
b000 H
|
||||
b000 G
|
||||
b000 F
|
||||
b000 E
|
||||
b00000000000000000000000000000000 E
|
||||
b00000000000000000000000000000000 D
|
||||
b00000000000000000000000000000000 C
|
||||
b00000000000000000000000000000000 B
|
||||
b00000000000000000000000011111111 A
|
||||
b00000000000000000000000011111111 B
|
||||
r0 A
|
||||
r0 @
|
||||
r0 ?
|
||||
r0 >
|
||||
0>
|
||||
0=
|
||||
0<
|
||||
0;
|
||||
0:
|
||||
b00 :
|
||||
b00 9
|
||||
b00 8
|
||||
08
|
||||
07
|
||||
06
|
||||
05
|
||||
|
|
@ -136,10 +136,10 @@ b00 8
|
|||
01
|
||||
00
|
||||
0/
|
||||
0.
|
||||
b00 .
|
||||
b00 -
|
||||
b00 ,
|
||||
b00 +
|
||||
0+
|
||||
0*
|
||||
0)
|
||||
0(
|
||||
|
|
@ -147,14 +147,13 @@ b00 +
|
|||
0&
|
||||
0%
|
||||
0$
|
||||
0#
|
||||
b00000000000000000000000000000000 "
|
||||
0!
|
||||
b00000000000000000000000000000000 #
|
||||
0"
|
||||
1!
|
||||
$end
|
||||
#10
|
||||
1!
|
||||
b00000000000000000000000000000001 "
|
||||
1#
|
||||
1"
|
||||
b00000000000000000000000000000001 #
|
||||
1$
|
||||
1%
|
||||
1&
|
||||
|
|
@ -162,62 +161,64 @@ b00000000000000000000000000000001 "
|
|||
1(
|
||||
1)
|
||||
1*
|
||||
b11 +
|
||||
1+
|
||||
b11 ,
|
||||
b11 -
|
||||
1.
|
||||
b11 .
|
||||
1/
|
||||
10
|
||||
11
|
||||
b11 8
|
||||
12
|
||||
b11 9
|
||||
1:
|
||||
b11 :
|
||||
1;
|
||||
1<
|
||||
1=
|
||||
r0.1 >
|
||||
r0.2 ?
|
||||
r0.3 @
|
||||
b00000000000000000000000011111110 A
|
||||
b00000000000000000000000000000001 B
|
||||
1>
|
||||
r0.1 ?
|
||||
r0.2 @
|
||||
r0.3 A
|
||||
b00000000000000000000000011111110 B
|
||||
b00000000000000000000000000000001 C
|
||||
b00000000000000000000000000000010 D
|
||||
b111 E
|
||||
b00000000000000000000000000000101 L
|
||||
b00000000000000000000000000000001 D
|
||||
b00000000000000000000000000000010 E
|
||||
b111 F
|
||||
b00000000000000000000000000000101 M
|
||||
b00000000000000000000000000000101 N
|
||||
#11
|
||||
#12
|
||||
#13
|
||||
#14
|
||||
#15
|
||||
0!
|
||||
0"
|
||||
#16
|
||||
#17
|
||||
#18
|
||||
#19
|
||||
#20
|
||||
1!
|
||||
b110 E
|
||||
b00000000000000000000000000000100 D
|
||||
1"
|
||||
b110 F
|
||||
b00000000000000000000000000000100 E
|
||||
b00000000000000000000000000000010 D
|
||||
b00000000000000000000000000000010 C
|
||||
b00000000000000000000000000000010 B
|
||||
b00000000000000000000000011111101 A
|
||||
r0.6 @
|
||||
r0.4 ?
|
||||
r0.2 >
|
||||
b00000000000000000000000011111101 B
|
||||
r0.6 A
|
||||
r0.4 @
|
||||
r0.2 ?
|
||||
0>
|
||||
0=
|
||||
0<
|
||||
0;
|
||||
0:
|
||||
b00 :
|
||||
b00 9
|
||||
b00 8
|
||||
02
|
||||
01
|
||||
00
|
||||
0/
|
||||
0.
|
||||
b00 .
|
||||
b00 -
|
||||
b00 ,
|
||||
b00 +
|
||||
0+
|
||||
0*
|
||||
0)
|
||||
0(
|
||||
|
|
@ -225,26 +226,24 @@ b00 +
|
|||
0&
|
||||
0%
|
||||
0$
|
||||
0#
|
||||
b00000000000000000000000000000010 "
|
||||
b111 F
|
||||
b00000000000000000000000000000010 #
|
||||
b111 G
|
||||
b111 H
|
||||
#21
|
||||
#22
|
||||
#23
|
||||
#24
|
||||
#25
|
||||
0!
|
||||
0"
|
||||
#26
|
||||
#27
|
||||
#28
|
||||
#29
|
||||
#30
|
||||
1!
|
||||
1"
|
||||
b110 H
|
||||
b110 G
|
||||
b110 F
|
||||
b00000000000000000000000000000011 "
|
||||
1#
|
||||
b00000000000000000000000000000011 #
|
||||
1$
|
||||
1%
|
||||
1&
|
||||
|
|
@ -252,60 +251,62 @@ b00000000000000000000000000000011 "
|
|||
1(
|
||||
1)
|
||||
1*
|
||||
b11 +
|
||||
1+
|
||||
b11 ,
|
||||
b11 -
|
||||
1.
|
||||
b11 .
|
||||
1/
|
||||
10
|
||||
11
|
||||
b11 8
|
||||
12
|
||||
b11 9
|
||||
1:
|
||||
b11 :
|
||||
1;
|
||||
1<
|
||||
1=
|
||||
r0.3 >
|
||||
r0.6000000000000001 ?
|
||||
r0.8999999999999999 @
|
||||
b00000000000000000000000011111100 A
|
||||
b00000000000000000000000000000011 B
|
||||
1>
|
||||
r0.3 ?
|
||||
r0.6000000000000001 @
|
||||
r0.8999999999999999 A
|
||||
b00000000000000000000000011111100 B
|
||||
b00000000000000000000000000000011 C
|
||||
b00000000000000000000000000000110 D
|
||||
b101 E
|
||||
b00000000000000000000000000000011 D
|
||||
b00000000000000000000000000000110 E
|
||||
b101 F
|
||||
#31
|
||||
#32
|
||||
#33
|
||||
#34
|
||||
#35
|
||||
0!
|
||||
0"
|
||||
#36
|
||||
#37
|
||||
#38
|
||||
#39
|
||||
#40
|
||||
1!
|
||||
b100 E
|
||||
b00000000000000000000000000001000 D
|
||||
1"
|
||||
b100 F
|
||||
b00000000000000000000000000001000 E
|
||||
b00000000000000000000000000000100 D
|
||||
b00000000000000000000000000000100 C
|
||||
b00000000000000000000000000000100 B
|
||||
b00000000000000000000000011111011 A
|
||||
r1.2 @
|
||||
r0.8 ?
|
||||
r0.4 >
|
||||
b00000000000000000000000011111011 B
|
||||
r1.2 A
|
||||
r0.8 @
|
||||
r0.4 ?
|
||||
0>
|
||||
0=
|
||||
0<
|
||||
0;
|
||||
0:
|
||||
b00 :
|
||||
b00 9
|
||||
b00 8
|
||||
02
|
||||
01
|
||||
00
|
||||
0/
|
||||
0.
|
||||
b00 .
|
||||
b00 -
|
||||
b00 ,
|
||||
b00 +
|
||||
0+
|
||||
0*
|
||||
0)
|
||||
0(
|
||||
|
|
@ -313,26 +314,24 @@ b00 +
|
|||
0&
|
||||
0%
|
||||
0$
|
||||
0#
|
||||
b00000000000000000000000000000100 "
|
||||
b101 F
|
||||
b00000000000000000000000000000100 #
|
||||
b101 G
|
||||
b101 H
|
||||
#41
|
||||
#42
|
||||
#43
|
||||
#44
|
||||
#45
|
||||
0!
|
||||
0"
|
||||
#46
|
||||
#47
|
||||
#48
|
||||
#49
|
||||
#50
|
||||
1!
|
||||
1"
|
||||
b100 H
|
||||
b100 G
|
||||
b100 F
|
||||
b00000000000000000000000000000101 "
|
||||
1#
|
||||
b00000000000000000000000000000101 #
|
||||
1$
|
||||
1%
|
||||
1&
|
||||
|
|
@ -340,60 +339,62 @@ b00000000000000000000000000000101 "
|
|||
1(
|
||||
1)
|
||||
1*
|
||||
b11 +
|
||||
1+
|
||||
b11 ,
|
||||
b11 -
|
||||
1.
|
||||
b11 .
|
||||
1/
|
||||
10
|
||||
11
|
||||
b11 8
|
||||
12
|
||||
b11 9
|
||||
1:
|
||||
b11 :
|
||||
1;
|
||||
1<
|
||||
1=
|
||||
r0.5 >
|
||||
r1 ?
|
||||
r1.5 @
|
||||
b00000000000000000000000011111010 A
|
||||
b00000000000000000000000000000101 B
|
||||
1>
|
||||
r0.5 ?
|
||||
r1 @
|
||||
r1.5 A
|
||||
b00000000000000000000000011111010 B
|
||||
b00000000000000000000000000000101 C
|
||||
b00000000000000000000000000001010 D
|
||||
b011 E
|
||||
b00000000000000000000000000000101 D
|
||||
b00000000000000000000000000001010 E
|
||||
b011 F
|
||||
#51
|
||||
#52
|
||||
#53
|
||||
#54
|
||||
#55
|
||||
0!
|
||||
0"
|
||||
#56
|
||||
#57
|
||||
#58
|
||||
#59
|
||||
#60
|
||||
1!
|
||||
b010 E
|
||||
b00000000000000000000000000001100 D
|
||||
1"
|
||||
b010 F
|
||||
b00000000000000000000000000001100 E
|
||||
b00000000000000000000000000000110 D
|
||||
b00000000000000000000000000000110 C
|
||||
b00000000000000000000000000000110 B
|
||||
b00000000000000000000000011111001 A
|
||||
r1.8 @
|
||||
r1.2 ?
|
||||
r0.6 >
|
||||
b00000000000000000000000011111001 B
|
||||
r1.8 A
|
||||
r1.2 @
|
||||
r0.6 ?
|
||||
0>
|
||||
0=
|
||||
0<
|
||||
0;
|
||||
0:
|
||||
b00 :
|
||||
b00 9
|
||||
b00 8
|
||||
02
|
||||
01
|
||||
00
|
||||
0/
|
||||
0.
|
||||
b00 .
|
||||
b00 -
|
||||
b00 ,
|
||||
b00 +
|
||||
0+
|
||||
0*
|
||||
0)
|
||||
0(
|
||||
|
|
@ -401,10 +402,9 @@ b00 +
|
|||
0&
|
||||
0%
|
||||
0$
|
||||
0#
|
||||
b00000000000000000000000000000110 "
|
||||
b011 F
|
||||
b00000000000000000000000000000110 #
|
||||
b011 G
|
||||
b011 H
|
||||
#61
|
||||
#62
|
||||
#63
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sat Mar 5 13:48:47 2022 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 , clk $end
|
||||
$var wire 1 , clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 , clk $end
|
||||
$var wire 1 , clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$scope module sub1a $end
|
||||
$var wire 32 - ADD [31:0] $end
|
||||
|
|
|
|||
|
|
@ -18,8 +18,6 @@ execute(
|
|||
check_finished => 1,
|
||||
);
|
||||
|
||||
file_grep_not("$Self->{obj_dir}/simx.vcd", qr/scope/);
|
||||
file_grep_not("$Self->{obj_dir}/simx.vcd", qr/upscope/);
|
||||
file_grep_not("$Self->{obj_dir}/simx.vcd", qr/var/);
|
||||
|
||||
ok(1);
|
||||
|
|
|
|||
|
|
@ -1,14 +1,12 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sat Jan 27 15:03:24 2018
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 ' clk $end
|
||||
$var wire 1 ' clk $end
|
||||
$scope module t $end
|
||||
$var wire 32 $ c_trace_on [31:0] $end
|
||||
$var wire 1 ' clk $end
|
||||
$var wire 1 ' clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ c_trace_on [31:0] $end
|
||||
$var real 64 % r $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -83,7 +81,7 @@ r0.8999999999999999 %
|
|||
#95
|
||||
0'
|
||||
#100
|
||||
1'
|
||||
b00000000000000000000000000001011 #
|
||||
b00000000000000000000000000001001 $
|
||||
r0.9999999999999999 %
|
||||
1'
|
||||
|
|
|
|||
|
|
@ -1,163 +1,161 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Tue Apr 7 19:56:41 2020
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$scope module t $end
|
||||
$var wire 32 3 c_trace_on [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 + cyc [31:0] $end
|
||||
$var real 64 ; r $end
|
||||
$var wire 1 ' clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 32 $ c_trace_on [31:0] $end
|
||||
$var real 64 % r $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
||||
|
||||
#0
|
||||
0#
|
||||
b00000000000000000000000000000001 +
|
||||
b00000000000000000000000000000000 3
|
||||
r0 ;
|
||||
b00000000000000000000000000000001 #
|
||||
b00000000000000000000000000000000 $
|
||||
r0 %
|
||||
0'
|
||||
#10
|
||||
1#
|
||||
b00000000000000000000000000000010 +
|
||||
r0.1 ;
|
||||
b00000000000000000000000000000010 #
|
||||
r0.1 %
|
||||
1'
|
||||
#11
|
||||
#12
|
||||
#13
|
||||
#14
|
||||
#15
|
||||
0#
|
||||
0'
|
||||
#16
|
||||
#17
|
||||
#18
|
||||
#19
|
||||
#20
|
||||
1#
|
||||
b00000000000000000000000000000011 +
|
||||
b00000000000000000000000000000001 3
|
||||
r0.2 ;
|
||||
b00000000000000000000000000000011 #
|
||||
b00000000000000000000000000000001 $
|
||||
r0.2 %
|
||||
1'
|
||||
#21
|
||||
#22
|
||||
#23
|
||||
#24
|
||||
#25
|
||||
0#
|
||||
0'
|
||||
#26
|
||||
#27
|
||||
#28
|
||||
#29
|
||||
#30
|
||||
1#
|
||||
b00000000000000000000000000000100 +
|
||||
b00000000000000000000000000000010 3
|
||||
r0.3 ;
|
||||
b00000000000000000000000000000100 #
|
||||
b00000000000000000000000000000010 $
|
||||
r0.3 %
|
||||
1'
|
||||
#31
|
||||
#32
|
||||
#33
|
||||
#34
|
||||
#35
|
||||
0#
|
||||
0'
|
||||
#36
|
||||
#37
|
||||
#38
|
||||
#39
|
||||
#40
|
||||
1#
|
||||
b00000000000000000000000000000101 +
|
||||
b00000000000000000000000000000011 3
|
||||
r0.4 ;
|
||||
b00000000000000000000000000000101 #
|
||||
b00000000000000000000000000000011 $
|
||||
r0.4 %
|
||||
1'
|
||||
#41
|
||||
#42
|
||||
#43
|
||||
#44
|
||||
#45
|
||||
0#
|
||||
0'
|
||||
#46
|
||||
#47
|
||||
#48
|
||||
#49
|
||||
#50
|
||||
1#
|
||||
b00000000000000000000000000000110 +
|
||||
b00000000000000000000000000000100 3
|
||||
r0.5 ;
|
||||
b00000000000000000000000000000110 #
|
||||
b00000000000000000000000000000100 $
|
||||
r0.5 %
|
||||
1'
|
||||
#51
|
||||
#52
|
||||
#53
|
||||
#54
|
||||
#55
|
||||
0#
|
||||
0'
|
||||
#56
|
||||
#57
|
||||
#58
|
||||
#59
|
||||
#60
|
||||
1#
|
||||
b00000000000000000000000000000111 +
|
||||
b00000000000000000000000000000101 3
|
||||
r0.6 ;
|
||||
b00000000000000000000000000000111 #
|
||||
b00000000000000000000000000000101 $
|
||||
r0.6 %
|
||||
1'
|
||||
#61
|
||||
#62
|
||||
#63
|
||||
#64
|
||||
#65
|
||||
0#
|
||||
0'
|
||||
#66
|
||||
#67
|
||||
#68
|
||||
#69
|
||||
#70
|
||||
1#
|
||||
b00000000000000000000000000001000 +
|
||||
b00000000000000000000000000000110 3
|
||||
r0.7 ;
|
||||
b00000000000000000000000000001000 #
|
||||
b00000000000000000000000000000110 $
|
||||
r0.7 %
|
||||
1'
|
||||
#71
|
||||
#72
|
||||
#73
|
||||
#74
|
||||
#75
|
||||
0#
|
||||
0'
|
||||
#76
|
||||
#77
|
||||
#78
|
||||
#79
|
||||
#80
|
||||
1#
|
||||
b00000000000000000000000000001001 +
|
||||
b00000000000000000000000000000111 3
|
||||
r0.7999999999999999 ;
|
||||
b00000000000000000000000000001001 #
|
||||
b00000000000000000000000000000111 $
|
||||
r0.7999999999999999 %
|
||||
1'
|
||||
#81
|
||||
#82
|
||||
#83
|
||||
#84
|
||||
#85
|
||||
0#
|
||||
0'
|
||||
#86
|
||||
#87
|
||||
#88
|
||||
#89
|
||||
#90
|
||||
1#
|
||||
b00000000000000000000000000001010 +
|
||||
b00000000000000000000000000001000 3
|
||||
r0.8999999999999999 ;
|
||||
b00000000000000000000000000001010 #
|
||||
b00000000000000000000000000001000 $
|
||||
r0.8999999999999999 %
|
||||
1'
|
||||
#91
|
||||
#92
|
||||
#93
|
||||
#94
|
||||
#95
|
||||
0#
|
||||
0'
|
||||
#96
|
||||
#97
|
||||
#98
|
||||
#99
|
||||
#100
|
||||
1#
|
||||
b00000000000000000000000000001011 +
|
||||
b00000000000000000000000000001001 3
|
||||
r0.9999999999999999 ;
|
||||
b00000000000000000000000000001011 #
|
||||
b00000000000000000000000000001001 $
|
||||
r0.9999999999999999 %
|
||||
1'
|
||||
#101
|
||||
#102
|
||||
#103
|
||||
|
|
|
|||
|
|
@ -1,32 +1,31 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Tue Aug 10 15:49:51 2021 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 5 CLK $end
|
||||
$var wire 1 6 RESET $end
|
||||
$scope module t $end
|
||||
$var wire 1 5 CLK $end
|
||||
$var wire 1 # RESET $end
|
||||
$var wire 32 & val [31:0] $end
|
||||
$var wire 2 $ vec[3] [2:1] $end
|
||||
$var wire 2 % vec[4] [2:1] $end
|
||||
$var wire 1 5 CLK $end
|
||||
$var wire 1 # RESET $end
|
||||
$scope module glbl $end
|
||||
$var wire 1 7 GSR $end
|
||||
$var wire 1 7 GSR $end
|
||||
$upscope $end
|
||||
$var wire 2 $ vec[3] [2:1] $end
|
||||
$var wire 2 % vec[4] [2:1] $end
|
||||
$var wire 32 & val [31:0] $end
|
||||
$scope module little $end
|
||||
$var wire 1 5 clk $end
|
||||
$var wire 128 1 i128 [63:190] $end
|
||||
$var wire 49 / i48 [1:49] $end
|
||||
$var wire 8 . i8 [0:7] $end
|
||||
$var wire 1 5 clk $end
|
||||
$var wire 8 ' i8 [0:7] $end
|
||||
$var wire 49 ( i48 [1:49] $end
|
||||
$var wire 128 * i128 [63:190] $end
|
||||
$upscope $end
|
||||
$scope module neg $end
|
||||
$var wire 1 5 clk $end
|
||||
$var wire 128 * i128 [63:-64] $end
|
||||
$var wire 48 ( i48 [-1:-48] $end
|
||||
$var wire 8 ' i8 [0:-7] $end
|
||||
$var wire 1 5 clk $end
|
||||
$var wire 8 . i8 [0:-7] $end
|
||||
$var wire 48 / i48 [-1:-48] $end
|
||||
$var wire 128 1 i128 [63:-64] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$var wire 1 5 CLK $end
|
||||
$var wire 1 6 RESET $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
||||
|
|
@ -37,10 +36,10 @@ b00 $
|
|||
b00 %
|
||||
b00000000000000000000000000000000 &
|
||||
b00000000 '
|
||||
b000000000000000000000000000000000000000000000000 (
|
||||
b0000000000000000000000000000000000000000000000000 (
|
||||
b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 *
|
||||
b00000000 .
|
||||
b0000000000000000000000000000000000000000000000000 /
|
||||
b000000000000000000000000000000000000000000000000 /
|
||||
b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1
|
||||
05
|
||||
16
|
||||
|
|
@ -49,10 +48,10 @@ b0000000000000000000000000000000000000000000000000000000000000000000000000000000
|
|||
#2
|
||||
#3
|
||||
b11111111 '
|
||||
b111111111111111111111111111111111111111111111111 (
|
||||
b1111111111111111111111111111111111111111111111111 (
|
||||
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 *
|
||||
b11111111 .
|
||||
b1111111111111111111111111111111111111111111111111 /
|
||||
b111111111111111111111111111111111111111111111111 /
|
||||
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 1
|
||||
15
|
||||
#4
|
||||
|
|
@ -65,10 +64,10 @@ b1111111111111111111111111111111111111111111111111111111111111111111111111111111
|
|||
#9
|
||||
0#
|
||||
b00000000 '
|
||||
b000000000000000000000000000000000000000000000000 (
|
||||
b0000000000000000000000000000000000000000000000000 (
|
||||
b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 *
|
||||
b00000000 .
|
||||
b0000000000000000000000000000000000000000000000000 /
|
||||
b000000000000000000000000000000000000000000000000 /
|
||||
b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1
|
||||
15
|
||||
06
|
||||
|
|
@ -81,10 +80,10 @@ b0000000000000000000000000000000000000000000000000000000000000000000000000000000
|
|||
#15
|
||||
b00000000000000000000000000000001 &
|
||||
b11111111 '
|
||||
b111111111111111111111111111111111111111111111111 (
|
||||
b1111111111111111111111111111111111111111111111111 (
|
||||
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 *
|
||||
b11111111 .
|
||||
b1111111111111111111111111111111111111111111111111 /
|
||||
b111111111111111111111111111111111111111111111111 /
|
||||
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 1
|
||||
15
|
||||
#16
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sun Aug 28 08:18:01 2022 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 # clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Thu May 12 22:13:21 2022 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 ) clk $end
|
||||
$var wire 1 ) clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 ) clk $end
|
||||
$var wire 1 ) clk $end
|
||||
$scope module sub1a $end
|
||||
$var wire 32 * ADD [31:0] $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
|
|
|
|||
|
|
@ -1,71 +1,69 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Tue Apr 7 21:19:07 2020
|
||||
$end
|
||||
$timescale 1ms $end
|
||||
$timescale 1ms $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 + clk $end
|
||||
$var wire 1 # clk $end
|
||||
$scope module t $end
|
||||
$var wire 1 + clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
||||
|
||||
#0
|
||||
b00000000000000000000000000000000 #
|
||||
0+
|
||||
0#
|
||||
b00000000000000000000000000000000 $
|
||||
#10
|
||||
b00000000000000000000000000000001 #
|
||||
1+
|
||||
1#
|
||||
b00000000000000000000000000000001 $
|
||||
#15
|
||||
0+
|
||||
0#
|
||||
#20
|
||||
b00000000000000000000000000000010 #
|
||||
1+
|
||||
1#
|
||||
b00000000000000000000000000000010 $
|
||||
#25
|
||||
0+
|
||||
0#
|
||||
#30
|
||||
b00000000000000000000000000000011 #
|
||||
1+
|
||||
1#
|
||||
b00000000000000000000000000000011 $
|
||||
#35
|
||||
0+
|
||||
0#
|
||||
#40
|
||||
b00000000000000000000000000000100 #
|
||||
1+
|
||||
1#
|
||||
b00000000000000000000000000000100 $
|
||||
#45
|
||||
0+
|
||||
0#
|
||||
#50
|
||||
b00000000000000000000000000000101 #
|
||||
1+
|
||||
1#
|
||||
b00000000000000000000000000000101 $
|
||||
#55
|
||||
0+
|
||||
0#
|
||||
#60
|
||||
b00000000000000000000000000000110 #
|
||||
1+
|
||||
1#
|
||||
b00000000000000000000000000000110 $
|
||||
#65
|
||||
0+
|
||||
0#
|
||||
#70
|
||||
b00000000000000000000000000000111 #
|
||||
1+
|
||||
1#
|
||||
b00000000000000000000000000000111 $
|
||||
#75
|
||||
0+
|
||||
0#
|
||||
#80
|
||||
b00000000000000000000000000001000 #
|
||||
1+
|
||||
1#
|
||||
b00000000000000000000000000001000 $
|
||||
#85
|
||||
0+
|
||||
0#
|
||||
#90
|
||||
b00000000000000000000000000001001 #
|
||||
1+
|
||||
1#
|
||||
b00000000000000000000000000001001 $
|
||||
#95
|
||||
0+
|
||||
0#
|
||||
#100
|
||||
b00000000000000000000000000001010 #
|
||||
1+
|
||||
1#
|
||||
b00000000000000000000000000001010 $
|
||||
#105
|
||||
0+
|
||||
0#
|
||||
#110
|
||||
1+
|
||||
b00000000000000000000000000001011 #
|
||||
1#
|
||||
b00000000000000000000000000001011 $
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sat Oct 15 13:17:45 2022 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module TOP $end
|
||||
$scope module t $end
|
||||
$var wire 32 % CLOCK_CYCLE [31:0] $end
|
||||
$var wire 1 $ clk $end
|
||||
$var wire 1 # rst $end
|
||||
$var wire 1 # rst $end
|
||||
$var wire 1 $ clk $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
|
|
|||
|
|
@ -1,16 +1,14 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sat Mar 7 18:39:02 2020
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module topa $end
|
||||
$var wire 1 3 clk $end
|
||||
$var wire 1 # clk $end
|
||||
$scope module t $end
|
||||
$var wire 32 + c_trace_on [31:0] $end
|
||||
$var wire 1 3 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$var wire 32 % c_trace_on [31:0] $end
|
||||
$scope module sub $end
|
||||
$var wire 32 ; inside_sub_a [31:0] $end
|
||||
$var wire 32 & inside_sub_a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -18,88 +16,67 @@ $enddefinitions $end
|
|||
|
||||
|
||||
#10
|
||||
b00000000000000000000000000000001 #
|
||||
b00000000000000000000000000000000 +
|
||||
13
|
||||
b00000000000000000000000000000001 ;
|
||||
#10
|
||||
1#
|
||||
b00000000000000000000000000000001 $
|
||||
b00000000000000000000000000000000 %
|
||||
b00000000000000000000000000000001 &
|
||||
#15
|
||||
#15
|
||||
03
|
||||
0#
|
||||
#20
|
||||
#20
|
||||
b00000000000000000000000000000010 #
|
||||
b00000000000000000000000000000011 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000000010 $
|
||||
b00000000000000000000000000000011 %
|
||||
#25
|
||||
#25
|
||||
03
|
||||
0#
|
||||
#30
|
||||
#30
|
||||
b00000000000000000000000000000011 #
|
||||
b00000000000000000000000000000100 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000000011 $
|
||||
b00000000000000000000000000000100 %
|
||||
#35
|
||||
#35
|
||||
03
|
||||
0#
|
||||
#40
|
||||
#40
|
||||
b00000000000000000000000000000100 #
|
||||
b00000000000000000000000000000101 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000000100 $
|
||||
b00000000000000000000000000000101 %
|
||||
#45
|
||||
#45
|
||||
03
|
||||
0#
|
||||
#50
|
||||
#50
|
||||
b00000000000000000000000000000101 #
|
||||
b00000000000000000000000000000110 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000000101 $
|
||||
b00000000000000000000000000000110 %
|
||||
#55
|
||||
#55
|
||||
03
|
||||
0#
|
||||
#60
|
||||
#60
|
||||
b00000000000000000000000000000110 #
|
||||
b00000000000000000000000000000111 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000000110 $
|
||||
b00000000000000000000000000000111 %
|
||||
#65
|
||||
#65
|
||||
03
|
||||
0#
|
||||
#70
|
||||
#70
|
||||
b00000000000000000000000000000111 #
|
||||
b00000000000000000000000000001000 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000000111 $
|
||||
b00000000000000000000000000001000 %
|
||||
#75
|
||||
#75
|
||||
03
|
||||
0#
|
||||
#80
|
||||
#80
|
||||
b00000000000000000000000000001000 #
|
||||
b00000000000000000000000000001001 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000001000 $
|
||||
b00000000000000000000000000001001 %
|
||||
#85
|
||||
#85
|
||||
03
|
||||
0#
|
||||
#90
|
||||
#90
|
||||
b00000000000000000000000000001001 #
|
||||
b00000000000000000000000000001010 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000001001 $
|
||||
b00000000000000000000000000001010 %
|
||||
#95
|
||||
#95
|
||||
03
|
||||
0#
|
||||
#100
|
||||
#100
|
||||
b00000000000000000000000000001010 #
|
||||
b00000000000000000000000000001011 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000001010 $
|
||||
b00000000000000000000000000001011 %
|
||||
#105
|
||||
#105
|
||||
03
|
||||
0#
|
||||
#110
|
||||
#110
|
||||
13
|
||||
b00000000000000000000000000001011 #
|
||||
b00000000000000000000000000001100 +
|
||||
1#
|
||||
b00000000000000000000000000001011 $
|
||||
b00000000000000000000000000001100 %
|
||||
|
|
|
|||
|
|
@ -1,15 +1,13 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sun Mar 1 20:49:13 2020
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module topa $end
|
||||
$scope module t $end
|
||||
$var wire 32 3 c_trace_on [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 + cyc [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$var wire 32 % c_trace_on [31:0] $end
|
||||
$scope module sub $end
|
||||
$var wire 32 ; inside_sub_a [31:0] $end
|
||||
$var wire 32 & inside_sub_a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -18,64 +16,64 @@ $enddefinitions $end
|
|||
|
||||
#0
|
||||
0#
|
||||
b00000000000000000000000000000001 +
|
||||
b00000000000000000000000000000000 3
|
||||
b00000000000000000000000000000001 ;
|
||||
b00000000000000000000000000000001 $
|
||||
b00000000000000000000000000000000 %
|
||||
b00000000000000000000000000000001 &
|
||||
#10000
|
||||
1#
|
||||
b00000000000000000000000000000010 +
|
||||
b00000000000000000000000000000011 3
|
||||
b00000000000000000000000000000010 $
|
||||
b00000000000000000000000000000011 %
|
||||
#15000
|
||||
0#
|
||||
#20000
|
||||
1#
|
||||
b00000000000000000000000000000011 +
|
||||
b00000000000000000000000000000100 3
|
||||
b00000000000000000000000000000011 $
|
||||
b00000000000000000000000000000100 %
|
||||
#25000
|
||||
0#
|
||||
#30000
|
||||
1#
|
||||
b00000000000000000000000000000100 +
|
||||
b00000000000000000000000000000101 3
|
||||
b00000000000000000000000000000100 $
|
||||
b00000000000000000000000000000101 %
|
||||
#35000
|
||||
0#
|
||||
#40000
|
||||
1#
|
||||
b00000000000000000000000000000101 +
|
||||
b00000000000000000000000000000110 3
|
||||
b00000000000000000000000000000101 $
|
||||
b00000000000000000000000000000110 %
|
||||
#45000
|
||||
0#
|
||||
#50000
|
||||
1#
|
||||
b00000000000000000000000000000110 +
|
||||
b00000000000000000000000000000111 3
|
||||
b00000000000000000000000000000110 $
|
||||
b00000000000000000000000000000111 %
|
||||
#55000
|
||||
0#
|
||||
#60000
|
||||
1#
|
||||
b00000000000000000000000000000111 +
|
||||
b00000000000000000000000000001000 3
|
||||
b00000000000000000000000000000111 $
|
||||
b00000000000000000000000000001000 %
|
||||
#65000
|
||||
0#
|
||||
#70000
|
||||
1#
|
||||
b00000000000000000000000000001000 +
|
||||
b00000000000000000000000000001001 3
|
||||
b00000000000000000000000000001000 $
|
||||
b00000000000000000000000000001001 %
|
||||
#75000
|
||||
0#
|
||||
#80000
|
||||
1#
|
||||
b00000000000000000000000000001001 +
|
||||
b00000000000000000000000000001010 3
|
||||
b00000000000000000000000000001001 $
|
||||
b00000000000000000000000000001010 %
|
||||
#85000
|
||||
0#
|
||||
#90000
|
||||
1#
|
||||
b00000000000000000000000000001010 +
|
||||
b00000000000000000000000000001011 3
|
||||
b00000000000000000000000000001010 $
|
||||
b00000000000000000000000000001011 %
|
||||
#95000
|
||||
0#
|
||||
#100000
|
||||
1#
|
||||
b00000000000000000000000000001011 +
|
||||
b00000000000000000000000000001100 3
|
||||
b00000000000000000000000000001011 $
|
||||
b00000000000000000000000000001100 %
|
||||
|
|
|
|||
|
|
@ -1,28 +1,26 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sat Feb 29 09:09:40 2020
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module topa $end
|
||||
$var wire 1 3 clk $end
|
||||
$var wire 1 # clk $end
|
||||
$scope module t $end
|
||||
$var wire 32 + c_trace_on [31:0] $end
|
||||
$var wire 1 3 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$var wire 32 % c_trace_on [31:0] $end
|
||||
$scope module sub $end
|
||||
$var wire 32 ; inside_sub_a [31:0] $end
|
||||
$var wire 32 & inside_sub_a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module topb $end
|
||||
$var wire 1 N clk $end
|
||||
$var wire 1 ( clk $end
|
||||
$scope module t $end
|
||||
$var wire 32 ^ c_trace_on [31:0] $end
|
||||
$var wire 1 N clk $end
|
||||
$var wire 32 V cyc [31:0] $end
|
||||
$var real 64 > r $end
|
||||
$var wire 1 ( clk $end
|
||||
$var wire 32 + cyc [31:0] $end
|
||||
$var wire 32 , c_trace_on [31:0] $end
|
||||
$var real 64 ) r $end
|
||||
$scope module sub $end
|
||||
$var wire 32 f inside_sub_a [31:0] $end
|
||||
$var wire 32 - inside_sub_a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -30,99 +28,99 @@ $enddefinitions $end
|
|||
|
||||
|
||||
#0
|
||||
b00000000000000000000000000000001 #
|
||||
b00000000000000000000000000000000 +
|
||||
03
|
||||
b00000000000000000000000000000001 ;
|
||||
r0 >
|
||||
0N
|
||||
b00000000000000000000000000000001 V
|
||||
b00000000000000000000000000000000 ^
|
||||
b00000000000000000000000000000010 f
|
||||
0#
|
||||
b00000000000000000000000000000001 $
|
||||
b00000000000000000000000000000000 %
|
||||
0(
|
||||
r0 )
|
||||
b00000000000000000000000000000001 &
|
||||
b00000000000000000000000000000001 +
|
||||
b00000000000000000000000000000000 ,
|
||||
b00000000000000000000000000000010 -
|
||||
#10
|
||||
b00000000000000000000000000000010 #
|
||||
b00000000000000000000000000000011 +
|
||||
13
|
||||
r0.1 >
|
||||
1N
|
||||
1#
|
||||
b00000000000000000000000000000010 $
|
||||
b00000000000000000000000000000011 %
|
||||
1(
|
||||
r0.1 )
|
||||
#15
|
||||
03
|
||||
0N
|
||||
0#
|
||||
0(
|
||||
#20
|
||||
b00000000000000000000000000000011 #
|
||||
b00000000000000000000000000000100 +
|
||||
13
|
||||
r0.2 >
|
||||
1N
|
||||
1#
|
||||
b00000000000000000000000000000011 $
|
||||
b00000000000000000000000000000100 %
|
||||
1(
|
||||
r0.2 )
|
||||
#25
|
||||
03
|
||||
0N
|
||||
0#
|
||||
0(
|
||||
#30
|
||||
b00000000000000000000000000000100 #
|
||||
b00000000000000000000000000000101 +
|
||||
13
|
||||
r0.3 >
|
||||
1N
|
||||
1#
|
||||
b00000000000000000000000000000100 $
|
||||
b00000000000000000000000000000101 %
|
||||
1(
|
||||
r0.3 )
|
||||
#35
|
||||
03
|
||||
0N
|
||||
0#
|
||||
0(
|
||||
#40
|
||||
b00000000000000000000000000000101 #
|
||||
b00000000000000000000000000000110 +
|
||||
13
|
||||
r0.4 >
|
||||
1N
|
||||
1#
|
||||
b00000000000000000000000000000101 $
|
||||
b00000000000000000000000000000110 %
|
||||
1(
|
||||
r0.4 )
|
||||
#45
|
||||
03
|
||||
0N
|
||||
0#
|
||||
0(
|
||||
#50
|
||||
b00000000000000000000000000000110 #
|
||||
b00000000000000000000000000000111 +
|
||||
13
|
||||
r0.5 >
|
||||
1N
|
||||
1#
|
||||
b00000000000000000000000000000110 $
|
||||
b00000000000000000000000000000111 %
|
||||
1(
|
||||
r0.5 )
|
||||
#55
|
||||
03
|
||||
0N
|
||||
0#
|
||||
0(
|
||||
#60
|
||||
b00000000000000000000000000000111 #
|
||||
b00000000000000000000000000001000 +
|
||||
13
|
||||
r0.6 >
|
||||
1N
|
||||
1#
|
||||
b00000000000000000000000000000111 $
|
||||
b00000000000000000000000000001000 %
|
||||
1(
|
||||
r0.6 )
|
||||
#65
|
||||
03
|
||||
0N
|
||||
0#
|
||||
0(
|
||||
#70
|
||||
b00000000000000000000000000001000 #
|
||||
b00000000000000000000000000001001 +
|
||||
13
|
||||
r0.7 >
|
||||
1N
|
||||
1#
|
||||
b00000000000000000000000000001000 $
|
||||
b00000000000000000000000000001001 %
|
||||
1(
|
||||
r0.7 )
|
||||
#75
|
||||
03
|
||||
0N
|
||||
0#
|
||||
0(
|
||||
#80
|
||||
b00000000000000000000000000001001 #
|
||||
b00000000000000000000000000001010 +
|
||||
13
|
||||
r0.7999999999999999 >
|
||||
1N
|
||||
1#
|
||||
b00000000000000000000000000001001 $
|
||||
b00000000000000000000000000001010 %
|
||||
1(
|
||||
r0.7999999999999999 )
|
||||
#85
|
||||
03
|
||||
0N
|
||||
0#
|
||||
0(
|
||||
#90
|
||||
b00000000000000000000000000001010 #
|
||||
b00000000000000000000000000001011 +
|
||||
13
|
||||
r0.8999999999999999 >
|
||||
1N
|
||||
1#
|
||||
b00000000000000000000000000001010 $
|
||||
b00000000000000000000000000001011 %
|
||||
1(
|
||||
r0.8999999999999999 )
|
||||
#95
|
||||
03
|
||||
0N
|
||||
0#
|
||||
0(
|
||||
#100
|
||||
b00000000000000000000000000001011 #
|
||||
b00000000000000000000000000001100 +
|
||||
13
|
||||
r0.9999999999999999 >
|
||||
1N
|
||||
1#
|
||||
b00000000000000000000000000001011 $
|
||||
b00000000000000000000000000001100 %
|
||||
1(
|
||||
r0.9999999999999999 )
|
||||
|
|
|
|||
|
|
@ -1,26 +1,24 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sat Feb 29 09:18:19 2020
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module topa $end
|
||||
$scope module t $end
|
||||
$var wire 32 3 c_trace_on [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 + cyc [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$var wire 32 % c_trace_on [31:0] $end
|
||||
$scope module sub $end
|
||||
$var wire 32 ; inside_sub_a [31:0] $end
|
||||
$var wire 32 & inside_sub_a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$scope module topb $end
|
||||
$scope module t $end
|
||||
$var wire 32 ^ c_trace_on [31:0] $end
|
||||
$var wire 1 > clk $end
|
||||
$var wire 32 V cyc [31:0] $end
|
||||
$var real 64 F r $end
|
||||
$var wire 1 ( clk $end
|
||||
$var wire 32 + cyc [31:0] $end
|
||||
$var wire 32 , c_trace_on [31:0] $end
|
||||
$var real 64 ) r $end
|
||||
$scope module sub $end
|
||||
$var wire 32 f inside_sub_a [31:0] $end
|
||||
$var wire 32 - inside_sub_a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -29,98 +27,98 @@ $enddefinitions $end
|
|||
|
||||
#0
|
||||
0#
|
||||
b00000000000000000000000000000001 $
|
||||
b00000000000000000000000000000000 %
|
||||
0(
|
||||
r0 )
|
||||
b00000000000000000000000000000001 &
|
||||
b00000000000000000000000000000001 +
|
||||
b00000000000000000000000000000000 3
|
||||
b00000000000000000000000000000001 ;
|
||||
0>
|
||||
r0 F
|
||||
b00000000000000000000000000000001 V
|
||||
b00000000000000000000000000000000 ^
|
||||
b00000000000000000000000000000010 f
|
||||
b00000000000000000000000000000000 ,
|
||||
b00000000000000000000000000000010 -
|
||||
#10000
|
||||
1#
|
||||
b00000000000000000000000000000010 +
|
||||
b00000000000000000000000000000011 3
|
||||
1>
|
||||
r0.1 F
|
||||
b00000000000000000000000000000010 $
|
||||
b00000000000000000000000000000011 %
|
||||
1(
|
||||
r0.1 )
|
||||
#15000
|
||||
0#
|
||||
0>
|
||||
0(
|
||||
#20000
|
||||
1#
|
||||
b00000000000000000000000000000011 +
|
||||
b00000000000000000000000000000100 3
|
||||
1>
|
||||
r0.2 F
|
||||
b00000000000000000000000000000011 $
|
||||
b00000000000000000000000000000100 %
|
||||
1(
|
||||
r0.2 )
|
||||
#25000
|
||||
0#
|
||||
0>
|
||||
0(
|
||||
#30000
|
||||
1#
|
||||
b00000000000000000000000000000100 +
|
||||
b00000000000000000000000000000101 3
|
||||
1>
|
||||
r0.3 F
|
||||
b00000000000000000000000000000100 $
|
||||
b00000000000000000000000000000101 %
|
||||
1(
|
||||
r0.3 )
|
||||
#35000
|
||||
0#
|
||||
0>
|
||||
0(
|
||||
#40000
|
||||
1#
|
||||
b00000000000000000000000000000101 +
|
||||
b00000000000000000000000000000110 3
|
||||
1>
|
||||
r0.4 F
|
||||
b00000000000000000000000000000101 $
|
||||
b00000000000000000000000000000110 %
|
||||
1(
|
||||
r0.4 )
|
||||
#45000
|
||||
0#
|
||||
0>
|
||||
0(
|
||||
#50000
|
||||
1#
|
||||
b00000000000000000000000000000110 +
|
||||
b00000000000000000000000000000111 3
|
||||
1>
|
||||
r0.5 F
|
||||
b00000000000000000000000000000110 $
|
||||
b00000000000000000000000000000111 %
|
||||
1(
|
||||
r0.5 )
|
||||
#55000
|
||||
0#
|
||||
0>
|
||||
0(
|
||||
#60000
|
||||
1#
|
||||
b00000000000000000000000000000111 +
|
||||
b00000000000000000000000000001000 3
|
||||
1>
|
||||
r0.6 F
|
||||
b00000000000000000000000000000111 $
|
||||
b00000000000000000000000000001000 %
|
||||
1(
|
||||
r0.6 )
|
||||
#65000
|
||||
0#
|
||||
0>
|
||||
0(
|
||||
#70000
|
||||
1#
|
||||
b00000000000000000000000000001000 +
|
||||
b00000000000000000000000000001001 3
|
||||
1>
|
||||
r0.7 F
|
||||
b00000000000000000000000000001000 $
|
||||
b00000000000000000000000000001001 %
|
||||
1(
|
||||
r0.7 )
|
||||
#75000
|
||||
0#
|
||||
0>
|
||||
0(
|
||||
#80000
|
||||
1#
|
||||
b00000000000000000000000000001001 +
|
||||
b00000000000000000000000000001010 3
|
||||
1>
|
||||
r0.7999999999999999 F
|
||||
b00000000000000000000000000001001 $
|
||||
b00000000000000000000000000001010 %
|
||||
1(
|
||||
r0.7999999999999999 )
|
||||
#85000
|
||||
0#
|
||||
0>
|
||||
0(
|
||||
#90000
|
||||
1#
|
||||
b00000000000000000000000000001010 +
|
||||
b00000000000000000000000000001011 3
|
||||
1>
|
||||
r0.8999999999999999 F
|
||||
b00000000000000000000000000001010 $
|
||||
b00000000000000000000000000001011 %
|
||||
1(
|
||||
r0.8999999999999999 )
|
||||
#95000
|
||||
0#
|
||||
0>
|
||||
0(
|
||||
#100000
|
||||
1#
|
||||
1>
|
||||
b00000000000000000000000000001011 +
|
||||
b00000000000000000000000000001100 3
|
||||
r0.9999999999999999 F
|
||||
b00000000000000000000000000001011 $
|
||||
b00000000000000000000000000001100 %
|
||||
1(
|
||||
r0.9999999999999999 )
|
||||
|
|
|
|||
|
|
@ -1,16 +1,14 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sat Mar 7 18:38:11 2020
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module topa $end
|
||||
$var wire 1 3 clk $end
|
||||
$var wire 1 # clk $end
|
||||
$scope module t $end
|
||||
$var wire 32 + c_trace_on [31:0] $end
|
||||
$var wire 1 3 clk $end
|
||||
$var wire 32 # cyc [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$var wire 32 % c_trace_on [31:0] $end
|
||||
$scope module sub $end
|
||||
$var wire 32 ; inside_sub_a [31:0] $end
|
||||
$var wire 32 & inside_sub_a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -18,88 +16,67 @@ $enddefinitions $end
|
|||
|
||||
|
||||
#10
|
||||
b00000000000000000000000000000001 #
|
||||
b00000000000000000000000000000000 +
|
||||
13
|
||||
b00000000000000000000000000000001 ;
|
||||
#10
|
||||
1#
|
||||
b00000000000000000000000000000001 $
|
||||
b00000000000000000000000000000000 %
|
||||
b00000000000000000000000000000001 &
|
||||
#15
|
||||
#15
|
||||
03
|
||||
0#
|
||||
#20
|
||||
#20
|
||||
b00000000000000000000000000000010 #
|
||||
b00000000000000000000000000000011 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000000010 $
|
||||
b00000000000000000000000000000011 %
|
||||
#25
|
||||
#25
|
||||
03
|
||||
0#
|
||||
#30
|
||||
#30
|
||||
b00000000000000000000000000000011 #
|
||||
b00000000000000000000000000000100 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000000011 $
|
||||
b00000000000000000000000000000100 %
|
||||
#35
|
||||
#35
|
||||
03
|
||||
0#
|
||||
#40
|
||||
#40
|
||||
b00000000000000000000000000000100 #
|
||||
b00000000000000000000000000000101 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000000100 $
|
||||
b00000000000000000000000000000101 %
|
||||
#45
|
||||
#45
|
||||
03
|
||||
0#
|
||||
#50
|
||||
#50
|
||||
b00000000000000000000000000000101 #
|
||||
b00000000000000000000000000000110 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000000101 $
|
||||
b00000000000000000000000000000110 %
|
||||
#55
|
||||
#55
|
||||
03
|
||||
0#
|
||||
#60
|
||||
#60
|
||||
b00000000000000000000000000000110 #
|
||||
b00000000000000000000000000000111 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000000110 $
|
||||
b00000000000000000000000000000111 %
|
||||
#65
|
||||
#65
|
||||
03
|
||||
0#
|
||||
#70
|
||||
#70
|
||||
b00000000000000000000000000000111 #
|
||||
b00000000000000000000000000001000 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000000111 $
|
||||
b00000000000000000000000000001000 %
|
||||
#75
|
||||
#75
|
||||
03
|
||||
0#
|
||||
#80
|
||||
#80
|
||||
b00000000000000000000000000001000 #
|
||||
b00000000000000000000000000001001 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000001000 $
|
||||
b00000000000000000000000000001001 %
|
||||
#85
|
||||
#85
|
||||
03
|
||||
0#
|
||||
#90
|
||||
#90
|
||||
b00000000000000000000000000001001 #
|
||||
b00000000000000000000000000001010 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000001001 $
|
||||
b00000000000000000000000000001010 %
|
||||
#95
|
||||
#95
|
||||
03
|
||||
0#
|
||||
#100
|
||||
#100
|
||||
b00000000000000000000000000001010 #
|
||||
b00000000000000000000000000001011 +
|
||||
13
|
||||
1#
|
||||
b00000000000000000000000000001010 $
|
||||
b00000000000000000000000000001011 %
|
||||
#105
|
||||
#105
|
||||
03
|
||||
0#
|
||||
#110
|
||||
#110
|
||||
13
|
||||
b00000000000000000000000000001011 #
|
||||
b00000000000000000000000000001100 +
|
||||
1#
|
||||
b00000000000000000000000000001011 $
|
||||
b00000000000000000000000000001100 %
|
||||
|
|
|
|||
|
|
@ -1,15 +1,13 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sun Mar 1 21:32:22 2020
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module topa $end
|
||||
$scope module t $end
|
||||
$var wire 32 3 c_trace_on [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 + cyc [31:0] $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 $ cyc [31:0] $end
|
||||
$var wire 32 % c_trace_on [31:0] $end
|
||||
$scope module sub $end
|
||||
$var wire 32 ; inside_sub_a [31:0] $end
|
||||
$var wire 32 & inside_sub_a [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
|
|
@ -18,64 +16,64 @@ $enddefinitions $end
|
|||
|
||||
#0
|
||||
0#
|
||||
b00000000000000000000000000000001 +
|
||||
b00000000000000000000000000000000 3
|
||||
b00000000000000000000000000000001 ;
|
||||
b00000000000000000000000000000001 $
|
||||
b00000000000000000000000000000000 %
|
||||
b00000000000000000000000000000001 &
|
||||
#10000
|
||||
1#
|
||||
b00000000000000000000000000000010 +
|
||||
b00000000000000000000000000000011 3
|
||||
b00000000000000000000000000000010 $
|
||||
b00000000000000000000000000000011 %
|
||||
#15000
|
||||
0#
|
||||
#20000
|
||||
1#
|
||||
b00000000000000000000000000000011 +
|
||||
b00000000000000000000000000000100 3
|
||||
b00000000000000000000000000000011 $
|
||||
b00000000000000000000000000000100 %
|
||||
#25000
|
||||
0#
|
||||
#30000
|
||||
1#
|
||||
b00000000000000000000000000000100 +
|
||||
b00000000000000000000000000000101 3
|
||||
b00000000000000000000000000000100 $
|
||||
b00000000000000000000000000000101 %
|
||||
#35000
|
||||
0#
|
||||
#40000
|
||||
1#
|
||||
b00000000000000000000000000000101 +
|
||||
b00000000000000000000000000000110 3
|
||||
b00000000000000000000000000000101 $
|
||||
b00000000000000000000000000000110 %
|
||||
#45000
|
||||
0#
|
||||
#50000
|
||||
1#
|
||||
b00000000000000000000000000000110 +
|
||||
b00000000000000000000000000000111 3
|
||||
b00000000000000000000000000000110 $
|
||||
b00000000000000000000000000000111 %
|
||||
#55000
|
||||
0#
|
||||
#60000
|
||||
1#
|
||||
b00000000000000000000000000000111 +
|
||||
b00000000000000000000000000001000 3
|
||||
b00000000000000000000000000000111 $
|
||||
b00000000000000000000000000001000 %
|
||||
#65000
|
||||
0#
|
||||
#70000
|
||||
1#
|
||||
b00000000000000000000000000001000 +
|
||||
b00000000000000000000000000001001 3
|
||||
b00000000000000000000000000001000 $
|
||||
b00000000000000000000000000001001 %
|
||||
#75000
|
||||
0#
|
||||
#80000
|
||||
1#
|
||||
b00000000000000000000000000001001 +
|
||||
b00000000000000000000000000001010 3
|
||||
b00000000000000000000000000001001 $
|
||||
b00000000000000000000000000001010 %
|
||||
#85000
|
||||
0#
|
||||
#90000
|
||||
1#
|
||||
b00000000000000000000000000001010 +
|
||||
b00000000000000000000000000001011 3
|
||||
b00000000000000000000000000001010 $
|
||||
b00000000000000000000000000001011 %
|
||||
#95000
|
||||
0#
|
||||
#100000
|
||||
1#
|
||||
b00000000000000000000000000001011 +
|
||||
b00000000000000000000000000001100 3
|
||||
b00000000000000000000000000001011 $
|
||||
b00000000000000000000000000001100 %
|
||||
|
|
|
|||
|
|
@ -1,26 +1,25 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Thu Sep 22 13:02:07 2022 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 & 9num $end
|
||||
$var wire 1 ' bra[ket]slash/dash-colon:9backslash\done $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 % double__underscore $end
|
||||
$var wire 1 $ escaped_normal $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ escaped_normal $end
|
||||
$var wire 1 % double__underscore $end
|
||||
$var wire 1 & 9num $end
|
||||
$var wire 1 ' bra[ket]slash/dash-colon:9backslash\done $end
|
||||
$scope module t $end
|
||||
$var wire 1 $ 9num $end
|
||||
$var wire 32 * a0.cyc [31:0] $end
|
||||
$var wire 1 $ bra[ket]slash/dash-colon:9backslash\done $end
|
||||
$var wire 1 $ check:alias $end
|
||||
$var wire 1 ) check;alias $end
|
||||
$var wire 1 $ check_alias $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 ( cyc [31:0] $end
|
||||
$var wire 1 $ double__underscore $end
|
||||
$var wire 1 $ escaped_normal $end
|
||||
$var wire 1 $ escaped_normal $end
|
||||
$var wire 1 $ double__underscore $end
|
||||
$var wire 1 $ 9num $end
|
||||
$var wire 1 $ bra[ket]slash/dash-colon:9backslash\done $end
|
||||
$var wire 1 $ wire $end
|
||||
$var wire 1 $ check_alias $end
|
||||
$var wire 1 $ check:alias $end
|
||||
$var wire 1 ) check;alias $end
|
||||
$var wire 32 * a0.cyc [31:0] $end
|
||||
$var wire 32 * other.cyc [31:0] $end
|
||||
$var wire 1 $ wire $end
|
||||
$scope module a0 $end
|
||||
$var wire 32 ( cyc [31:0] $end
|
||||
$upscope $end
|
||||
|
|
|
|||
|
|
@ -1,16 +1,14 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Tue Jul 24 18:46:01 2012
|
||||
$end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ reset_l $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ reset_l $end
|
||||
$scope module t $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 % inmod $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ reset_l $end
|
||||
$var wire 1 % inmod $end
|
||||
$var wire 32 & rawmod [31:0] $end
|
||||
$var wire 1 $ reset_l $end
|
||||
$scope module genblk1 $end
|
||||
$var wire 32 ' ingen [31:0] $end
|
||||
$upscope $end
|
||||
|
|
|
|||
|
|
@ -1,21 +1,20 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sat Mar 6 21:09:45 2021 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top1 $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 ' counter [31:0] $end
|
||||
$var wire 1 ( done_o $end
|
||||
$var wire 1 $ rst $end
|
||||
$var wire 1 & stop $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ rst $end
|
||||
$var wire 32 % trace_number [31:0] $end
|
||||
$var wire 1 & stop $end
|
||||
$var wire 32 ' counter [31:0] $end
|
||||
$var wire 1 ( done_o $end
|
||||
$scope module top $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 ' counter [31:0] $end
|
||||
$var wire 1 ( done_o $end
|
||||
$var wire 1 $ rst $end
|
||||
$var wire 1 & stop $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ rst $end
|
||||
$var wire 32 % trace_number [31:0] $end
|
||||
$var wire 1 & stop $end
|
||||
$var wire 32 ' counter [31:0] $end
|
||||
$var wire 1 ( done_o $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
|
|
|||
|
|
@ -1,21 +1,20 @@
|
|||
$version Generated by VerilatedVcd $end
|
||||
$date Sat Mar 6 21:09:47 2021 $end
|
||||
$timescale 1ps $end
|
||||
|
||||
$scope module top0 $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 ' counter [31:0] $end
|
||||
$var wire 1 ( done_o $end
|
||||
$var wire 1 $ rst $end
|
||||
$var wire 1 & stop $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ rst $end
|
||||
$var wire 32 % trace_number [31:0] $end
|
||||
$var wire 1 & stop $end
|
||||
$var wire 32 ' counter [31:0] $end
|
||||
$var wire 1 ( done_o $end
|
||||
$scope module top $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 32 ' counter [31:0] $end
|
||||
$var wire 1 ( done_o $end
|
||||
$var wire 1 $ rst $end
|
||||
$var wire 1 & stop $end
|
||||
$var wire 1 # clk $end
|
||||
$var wire 1 $ rst $end
|
||||
$var wire 32 % trace_number [31:0] $end
|
||||
$var wire 1 & stop $end
|
||||
$var wire 32 ' counter [31:0] $end
|
||||
$var wire 1 ( done_o $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
|
|
|||
Loading…
Reference in New Issue