parent
248de2be2e
commit
d667b73e8d
2
Changes
2
Changes
|
@ -18,7 +18,9 @@ Verilator 5.021 devel
|
|||
* Add --runtime-debug for Verilated executable runtime debugging.
|
||||
* Add `--decorations node` for inserting debug comments into emitted code.
|
||||
* Add `unroll_disable` and `unroll_full` loop control metacomments (#3260). [Jiaxun Yang]
|
||||
* Add --json-only and related JSON dumping (#4715) (#4831). [Szymon Gizler, Antmicro Ltd.]
|
||||
* Remove deprecated 32-bit pointer mode (`gcc -m32`).
|
||||
* Deprecate --xml-only and XML dumping (#4715) (#4831).
|
||||
* Change zero replication width error to ZEROREPL warning (#4753) (#4762). [Pengcheng Xu]
|
||||
* Support dumping coverage with --main.
|
||||
* Support `vpiConstType` in `vpi_get_str()` (#4797). [Marlon James]
|
||||
|
|
10
Makefile.in
10
Makefile.in
|
@ -112,7 +112,7 @@ SUBDIRS = docs src test_regress \
|
|||
examples/make_tracing_c \
|
||||
examples/make_tracing_sc \
|
||||
examples/make_protect_lib \
|
||||
examples/xml_py \
|
||||
examples/json_py \
|
||||
|
||||
INFOS = verilator.html verilator.pdf
|
||||
|
||||
|
@ -269,7 +269,7 @@ installdata:
|
|||
$(MKINSTALLDIRS) $(DESTDIR)$(pkgdatadir)/examples/cmake_tracing_c
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(pkgdatadir)/examples/cmake_tracing_sc
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(pkgdatadir)/examples/cmake_protect_lib
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(pkgdatadir)/examples/xml_py
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(pkgdatadir)/examples/json_py
|
||||
cd $(srcdir) \
|
||||
; for p in $(VL_INST_DATA_SRCDIR_FILES) ; do \
|
||||
$(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \
|
||||
|
@ -305,7 +305,7 @@ uninstall:
|
|||
-rmdir $(DESTDIR)$(pkgdatadir)/examples/cmake_tracing_c
|
||||
-rmdir $(DESTDIR)$(pkgdatadir)/examples/cmake_tracing_sc
|
||||
-rmdir $(DESTDIR)$(pkgdatadir)/examples/cmake_protect_lib
|
||||
-rmdir $(DESTDIR)$(pkgdatadir)/examples/xml_py
|
||||
-rmdir $(DESTDIR)$(pkgdatadir)/examples/json_py
|
||||
-rmdir $(DESTDIR)$(pkgdatadir)/examples
|
||||
-rmdir $(DESTDIR)$(pkgdatadir)
|
||||
-rmdir $(DESTDIR)$(pkgconfigdir)
|
||||
|
@ -399,8 +399,8 @@ PY_PROGRAMS = \
|
|||
bin/verilator_gantt \
|
||||
bin/verilator_includer \
|
||||
bin/verilator_profcfunc \
|
||||
examples/xml_py/vl_file_copy \
|
||||
examples/xml_py/vl_hier_graph \
|
||||
examples/json_py/vl_file_copy \
|
||||
examples/json_py/vl_hier_graph \
|
||||
docs/guide/conf.py \
|
||||
docs/bin/vl_sphinx_extract \
|
||||
docs/bin/vl_sphinx_fix \
|
||||
|
|
|
@ -490,6 +490,11 @@ detailed descriptions of these arguments.
|
|||
--x-assign <mode> Assign non-initial Xs to this value
|
||||
--x-initial <mode> Assign initial Xs to this value
|
||||
--x-initial-edge Enable initial X->0 and X->1 edge triggers
|
||||
--no-json-edit-nums Don't dump editNum in .tree.json files
|
||||
--no-json-ids Don't use short identifiers instead of adresses/paths in .tree.json
|
||||
--json-only Create JSON parser output (.tree.json and .meta.json)
|
||||
--json-only-output .tree.json output filename
|
||||
--json-only-meta-output .tree.meta.json output filename
|
||||
--xml-only Create XML parser output
|
||||
--xml-output XML output filename
|
||||
-y <dir> Directory to search for modules
|
||||
|
|
|
@ -13,3 +13,7 @@ C++14 compiler support
|
|||
|
||||
Verilator will require C++20 or newer compilers for both compiling
|
||||
Verilator and compiling all Verilated models no sooner than January 2025.
|
||||
|
||||
XML output
|
||||
Verilator currently supports XML parser output (enabled with `--xml-only`).
|
||||
Support for `--xml-*` options will be deprecated no sooner than January 2025.
|
||||
|
|
|
@ -1766,19 +1766,57 @@ Summary:
|
|||
iterations. This may be another indication of problems with the
|
||||
modeled design that should be addressed.
|
||||
|
||||
.. option:: --json-only
|
||||
|
||||
Create JSON output only, do not create any other output.
|
||||
|
||||
The JSON format is intended to be used to leverage Verilator's parser and
|
||||
elaboration to feed to other downstream tools. For details on the format, see
|
||||
the Verilator Internals manual. Be aware that the JSON
|
||||
format is still evolving; there will be some changes in future versions.
|
||||
|
||||
This option disables some more agressive transformations and dumps only the
|
||||
final state of the AST.
|
||||
|
||||
.. option:: --json-only-meta-output <filename>
|
||||
|
||||
Specifies the filename for the metadata output file (`.tree.meta.json`) of --json-only.
|
||||
Using this option automatically sets :vlopt:`--json-only`.
|
||||
|
||||
.. option:: --json-only-output <filename>
|
||||
|
||||
Specifies the filename for the main output file (`.tree.json`) of --json-only.
|
||||
Using this option automatically sets :vlopt:`--json-only`.
|
||||
|
||||
.. option:: --no-json-edit-nums
|
||||
|
||||
Don't dump editNum in .tree.json files. This may make the file more
|
||||
run-to-run stable for easier comparison.
|
||||
|
||||
.. option:: --no-json-ids
|
||||
|
||||
Don't use short identifiers instead of adresses/paths in .tree.json.
|
||||
|
||||
.. option:: --xml-only
|
||||
|
||||
Create XML output only, do not create any other output.
|
||||
|
||||
The XML format is intended to be used to leverage Verilator's parser and
|
||||
elaboration to feed to other downstream tools. Be aware that the XML
|
||||
format is still evolving; there will be some changes in future versions.
|
||||
elaboration to feed to other downstream tools.
|
||||
|
||||
.. note::
|
||||
|
||||
This feature is deprecated in favor of :vlopt:`--json-only`.
|
||||
|
||||
.. option:: --xml-output <filename>
|
||||
|
||||
Specifies the filename for the XML output file. Using this option
|
||||
automatically sets :vlopt:`--xml-only`.
|
||||
|
||||
.. note::
|
||||
|
||||
This feature is deprecated in favor of :vlopt:`--json-only`.
|
||||
|
||||
.. option:: -y <dir>
|
||||
|
||||
Add the directory to the list of directories that should be searched to find
|
||||
|
|
|
@ -112,6 +112,10 @@ In specific debug and other modes, it also creates:
|
|||
|
||||
* - *{prefix}*\ .xml
|
||||
- XML tree information (from --xml)
|
||||
* - *{prefix}*\ .tree.json
|
||||
- JSON tree information (from --json-only)
|
||||
* - *{prefix}*\ .tree.meta.json
|
||||
- JSON tree metadata (from --json-only)
|
||||
* - *{prefix}*\ __cdc.txt
|
||||
- Clock Domain Crossing checks (from --cdc)
|
||||
* - *{prefix}*\ __stats.txt
|
||||
|
|
|
@ -1696,6 +1696,84 @@ Similarly, the ``NETLIST`` has a list of modules referred to by its
|
|||
``op1p()`` pointer.
|
||||
|
||||
|
||||
.tree.json Output
|
||||
-----------------
|
||||
|
||||
``.tree.json``` is an alternative dump format to ``.tree`` that is meant for
|
||||
programmatic processing (e.g. with `astsee <https://github.com/antmicro/astsee>`_).
|
||||
To enable this dump format, use :vlopt:`--json-only`.
|
||||
|
||||
Structure:
|
||||
::
|
||||
|
||||
{
|
||||
/* Attributes that are common to all types of nodes */
|
||||
"type": "VAR",
|
||||
"name": "cyc",
|
||||
/* By default addresses and filenames use short/stable ids rather than real value */
|
||||
"addr": "(H)",
|
||||
"loc": "a,25:12,26:15", /* "fileid,firstLine:firstCol,lastLine:endCol" (endCol is right exclusive) */
|
||||
"editNum": 602,
|
||||
/* Fields that are specific to AstVar nodes: */
|
||||
"origName": "cyc",
|
||||
"isSc": false,
|
||||
"ioDirection": "NONE",
|
||||
"isConst": false,
|
||||
"isPullup": false,
|
||||
"isPulldown": false,
|
||||
"isUsedClock": false,
|
||||
"isSigPublic": false,
|
||||
"isLatched": false,
|
||||
"isUsedLoopIdx": false,
|
||||
"noReset": false,
|
||||
"attrIsolateAssign": false,
|
||||
"attrFileDescr": false,
|
||||
"isDpiOpenArray": false,
|
||||
"isFuncReturn": false,
|
||||
"isFuncLocal": false,
|
||||
"attrClocker": "UNKNOWN",
|
||||
"lifetime": "NONE",
|
||||
"varType": "VAR",
|
||||
/* Lists of child nodes (which use similar structure as their parent): */
|
||||
"childDTypep": [ /* ... */ ],
|
||||
"delayp": [ /* ... */ ],
|
||||
"valuep": [ /* ... */ ],
|
||||
"attrsp": [ /* ... */ ]
|
||||
}
|
||||
|
||||
.tree.meta.json Output
|
||||
----------------
|
||||
|
||||
.tree.meta.json contains metadata that is common across the whole AST tree.
|
||||
|
||||
Besides de-duplication of data shared between multiple stages, .meta.json enables offloading
|
||||
unstable data (that can vary from machine-to-machine or run-to-run) from main .tree.json.
|
||||
This offloading allows, for example, to use byte-to-byte comparisons of AST dumps in tests.
|
||||
|
||||
::
|
||||
|
||||
{"files": {
|
||||
/* Map id to filename, and other metadata */
|
||||
"d": {"filename":"/home/ant/tmp/verilator/include/verilated_std.sv", "realpath":"/home/ant/tmp/verilator/include/verilated_std.sv", "language":"1800-2017"},
|
||||
"a": {"filename":"<built-in>", "realpath":"<built-in>", "language":"1800-2017"},
|
||||
"b": {"filename":"<command-line>", "realpath":"<command-line>", "language":"1800-2017"},
|
||||
"c": {"filename":"input.vc", "realpath":"/home/ant/tmp/verilator/test_regress/input.vc", "language":"1800-2017"},
|
||||
"e": {"filename":"t/t_EXAMPLE.v", "realpath":"/home/ant/tmp/verilator/test_regress/t/t_EXAMPLE.v", "language":"1800-2017"}
|
||||
},"pointers": {
|
||||
/* Map id to real address */
|
||||
"(AG)": "0x562997289180",
|
||||
"(YF)": "0x5629971c50b0",
|
||||
"(WF)": "0x5629971e7ae0",
|
||||
/* ... /*
|
||||
},"ptrFieldNames": [
|
||||
/* List of fields that are used for storing pointers */
|
||||
"aboveScopep",
|
||||
"voidp",
|
||||
"addr",
|
||||
/* ... */
|
||||
]}
|
||||
|
||||
|
||||
.tree.dot Output
|
||||
----------------
|
||||
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
#!/usr/bin/env python3
|
||||
# -*- Python -*- See copyright, etc below
|
||||
# pylint: disable=C0114,C0115,C0209,R0903
|
||||
# pylint: disable=C0103,C0114,C0115,C0209,R0903
|
||||
######################################################################
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
import tempfile
|
||||
import xml.etree.ElementTree as ET
|
||||
from shutil import copy2
|
||||
from tempfile import NamedTemporaryFile
|
||||
# from pprint import pprint, pformat
|
||||
|
||||
#######################################################################
|
||||
|
@ -25,29 +25,30 @@ class VlFileCopy:
|
|||
|
||||
self.debug = debug
|
||||
|
||||
with tempfile.NamedTemporaryFile() as xml_temp:
|
||||
with NamedTemporaryFile() as tree_temp, NamedTemporaryFile(
|
||||
) as meta_temp:
|
||||
vargs = [
|
||||
'--xml-output',
|
||||
xml_temp.name,
|
||||
'--json-only-output',
|
||||
tree_temp.name,
|
||||
'--json-only-meta-output',
|
||||
meta_temp.name,
|
||||
'--bbox-sys', # Parse some stuff can't translate
|
||||
'--bbox-unsup',
|
||||
'--prefix vlxml'
|
||||
] # So we know name of .xml output
|
||||
'--prefix vljson'
|
||||
]
|
||||
vargs += verilator_args
|
||||
self.run_verilator(vargs)
|
||||
self.tree = ET.parse(xml_temp.name)
|
||||
self.tree = json.load(tree_temp)
|
||||
self.meta = json.load(meta_temp)
|
||||
|
||||
os.makedirs(output_dir, 0o777, True)
|
||||
|
||||
# Find and copy the files
|
||||
root = self.tree.getroot()
|
||||
xfiles = root.find('files')
|
||||
for xfile in xfiles.findall('file'):
|
||||
filename = xfile.get('filename')
|
||||
if not re.match('^<', filename): # e.g. <built-in>
|
||||
for file_id in self.meta['files']:
|
||||
path = self.meta['files'][file_id]['realpath']
|
||||
if not re.match('^<', path): # e.g. <built-in>
|
||||
if self.debug:
|
||||
print("\tcp %s %s" % (filename, output_dir))
|
||||
copy2(filename, output_dir)
|
||||
print("\tcp %s %s" % (path, output_dir))
|
||||
copy2(path, output_dir)
|
||||
|
||||
def run_verilator(self, vargs):
|
||||
"""Run Verilator command, check errors"""
|
||||
|
@ -71,7 +72,7 @@ if __name__ == '__main__':
|
|||
allow_abbrev=False,
|
||||
formatter_class=argparse.RawTextHelpFormatter,
|
||||
description=
|
||||
"""Example of using Verilator XML output to copy a list of files to an
|
||||
"""Example of using Verilator JSON output to copy a list of files to an
|
||||
output directory (-odir, defaults to 'copied'), e.g. to easily create a
|
||||
tarball of the design to pass to others.
|
||||
|
|
@ -4,10 +4,10 @@
|
|||
######################################################################
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import os
|
||||
import subprocess
|
||||
import tempfile
|
||||
import xml.etree.ElementTree as ET
|
||||
from tempfile import NamedTemporaryFile
|
||||
# from pprint import pprint, pformat
|
||||
|
||||
#######################################################################
|
||||
|
@ -22,19 +22,23 @@ class VlHierGraph:
|
|||
output_filename='graph.dot'): # output filename
|
||||
self.debug = debug
|
||||
self.next_vertex_number = 0
|
||||
self.name_to_number = {}
|
||||
self.addr_to_number = {}
|
||||
|
||||
with tempfile.NamedTemporaryFile() as xml_temp:
|
||||
with NamedTemporaryFile() as tree_temp, NamedTemporaryFile(
|
||||
) as meta_temp:
|
||||
vargs = [
|
||||
'--xml-output',
|
||||
xml_temp.name,
|
||||
'--json-only-output',
|
||||
tree_temp.name,
|
||||
'--json-only-meta-output',
|
||||
meta_temp.name,
|
||||
'--bbox-sys', # Parse some stuff can't translate
|
||||
'--bbox-unsup',
|
||||
'--prefix vlxml'
|
||||
] # So we know name of .xml output
|
||||
'--prefix vljson'
|
||||
]
|
||||
vargs += verilator_args
|
||||
self.run_verilator(vargs)
|
||||
self.tree = ET.parse(xml_temp.name)
|
||||
self.tree = json.load(tree_temp)
|
||||
self.meta = json.load(meta_temp)
|
||||
|
||||
with open(output_filename, "w", encoding="utf8") as fh:
|
||||
# For more serious purposes, use the python graphviz package instead
|
||||
|
@ -46,31 +50,45 @@ class VlHierGraph:
|
|||
)
|
||||
fh.write(" edge [fontsize=6]")
|
||||
# Find cells
|
||||
root = self.tree.getroot()
|
||||
netlist = root.find('netlist')
|
||||
for module in netlist.findall('module'):
|
||||
modules = self.flatten(self.tree, lambda n: n['type'] == "MODULE")
|
||||
top_module = True
|
||||
for mod in modules:
|
||||
# origNames are before parameterization, name if after
|
||||
mod_name = module.get('name')
|
||||
mod_number = self.name_to_vertex_number(mod_name)
|
||||
fh.write(" n%d [label=\"%s\"" % (mod_number, mod_name))
|
||||
if module.get('topModule'):
|
||||
mod_number = self.addr_to_vertex_number(mod['addr'])
|
||||
fh.write(" n%d [label=\"%s\"" % (mod_number, mod['name']))
|
||||
if top_module:
|
||||
fh.write(" color=\"red\" rank=1")
|
||||
top_module = False
|
||||
fh.write("];\n")
|
||||
|
||||
for instance in module.findall('instance'):
|
||||
inst_name = instance.get('name')
|
||||
def_name = instance.get('defName')
|
||||
def_number = self.name_to_vertex_number(def_name)
|
||||
cells = self.flatten(mod, lambda n: n['type'] == "CELL")
|
||||
for cell in cells:
|
||||
def_number = self.addr_to_vertex_number(cell['modp'])
|
||||
fh.write(" n%d->n%d [label=\"%s\"];\n" %
|
||||
(mod_number, def_number, inst_name))
|
||||
(mod_number, def_number, cell['name']))
|
||||
|
||||
fh.write("}\n")
|
||||
|
||||
def name_to_vertex_number(self, name):
|
||||
if name not in self.name_to_number:
|
||||
def flatten(self, node, accept_cb=lambda n: True):
|
||||
"""Flatten tree to list using DFS.
|
||||
accept_cb(node) should return True for nodes you want to save"""
|
||||
arr = []
|
||||
self.dfs(node, lambda n: accept_cb(n) and arr.append(n))
|
||||
return arr
|
||||
|
||||
def dfs(self, node, node_cb):
|
||||
"""Traverse given tree using DFS and apply node_cb(node) on each one"""
|
||||
node_cb(node)
|
||||
for _, v in node.items():
|
||||
if isinstance(v, list): # childlist
|
||||
for child in v:
|
||||
self.dfs(child, node_cb)
|
||||
|
||||
def addr_to_vertex_number(self, name):
|
||||
if name not in self.addr_to_number:
|
||||
self.next_vertex_number += 1
|
||||
self.name_to_number[name] = self.next_vertex_number
|
||||
return self.name_to_number[name]
|
||||
self.addr_to_number[name] = self.next_vertex_number
|
||||
return self.addr_to_number[name]
|
||||
|
||||
def run_verilator(self, vargs):
|
||||
"""Run Verilator command, check errors"""
|
||||
|
@ -94,7 +112,7 @@ if __name__ == '__main__':
|
|||
allow_abbrev=False,
|
||||
formatter_class=argparse.RawTextHelpFormatter,
|
||||
description=
|
||||
"""Example of using Verilator XML output to create a .dot file showing the
|
||||
"""Example of using Verilator JSON output to create a .dot file showing the
|
||||
design module hierarchy.
|
||||
|
||||
Example usage:
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
#include <iomanip>
|
||||
#include <memory>
|
||||
#include <sstream>
|
||||
|
||||
VL_DEFINE_DEBUG_FUNCTIONS;
|
||||
|
||||
|
@ -1330,6 +1331,28 @@ void AstNode::dumpTreeDot(std::ostream& os) const {
|
|||
drawChildren(os, this, m_op4p, "op4");
|
||||
}
|
||||
|
||||
void AstNode::dumpTreeJsonFile(const string& filename, bool doDump) {
|
||||
if (!doDump) return;
|
||||
UINFO(2, "Dumping " << filename << endl);
|
||||
const std::unique_ptr<std::ofstream> treejsonp{V3File::new_ofstream(filename)};
|
||||
if (treejsonp->fail()) v3fatal("Can't write " << filename);
|
||||
dumpTreeJson(*treejsonp);
|
||||
*treejsonp << '\n';
|
||||
}
|
||||
|
||||
void AstNode::dumpJsonMetaFile(const string& filename) {
|
||||
UINFO(2, "Dumping " << filename << endl);
|
||||
const std::unique_ptr<std::ofstream> treejsonp{V3File::new_ofstream(filename)};
|
||||
if (treejsonp->fail()) v3fatal("Can't write " << filename);
|
||||
*treejsonp << '{';
|
||||
FileLine::fileNameNumMapDumpJson(*treejsonp);
|
||||
*treejsonp << ',';
|
||||
v3Global.idPtrMapDumpJson(*treejsonp);
|
||||
*treejsonp << ',';
|
||||
v3Global.ptrNamesDumpJson(*treejsonp);
|
||||
*treejsonp << "}\n";
|
||||
}
|
||||
|
||||
void AstNode::dumpTreeDotFile(const string& filename, bool doDump) {
|
||||
if (doDump) {
|
||||
UINFO(2, "Dumping " << filename << endl);
|
||||
|
|
25
src/V3Ast.h
25
src/V3Ast.h
|
@ -31,6 +31,7 @@
|
|||
#include "V3Ast__gen_forward_class_decls.h" // From ./astgen
|
||||
|
||||
#include <cmath>
|
||||
#include <cstdint>
|
||||
#include <functional>
|
||||
#include <map>
|
||||
#include <set>
|
||||
|
@ -2219,6 +2220,23 @@ public:
|
|||
static void dumpTreeFileGdb(const AstNode* nodep, const char* filenamep = nullptr);
|
||||
void dumpTreeDot(std::ostream& os = std::cout) const;
|
||||
void dumpTreeDotFile(const string& filename, bool doDump = true);
|
||||
virtual void dumpJson(std::ostream& os) const { dumpJsonGen(os); }; // node specific fields
|
||||
// Generated by 'astgen'. Dumps node-specific pointers and calls 'dumpJson()' of parent class
|
||||
// Note that we don't make it virtual as it would result in infinite recursion
|
||||
void dumpJsonGen(std::ostream& os) const {};
|
||||
virtual void dumpTreeJsonOpGen(std::ostream& os, const string& indent) const {};
|
||||
void dumpTreeJson(std::ostream& os, const string& indent = "") const;
|
||||
void dumpTreeJsonFile(const string& filename, bool doDump = true);
|
||||
void dumpJsonMetaFile(const string& filename);
|
||||
|
||||
// Render node address for dumps. By default this is just the address
|
||||
// printed as hex, but with --dump-tree-addrids we map addresses to short
|
||||
// strings with a bijection to aid human readability. Observe that this might
|
||||
// not actually be a unique identifier as the address can get reused after a
|
||||
// node has been freed.
|
||||
static std::string nodeAddr(const AstNode* nodep) {
|
||||
return v3Global.opt.dumpTreeAddrids() ? v3Global.ptrToId(nodep) : cvtToHex(nodep);
|
||||
}
|
||||
|
||||
// METHODS - static advancement
|
||||
static AstNode* afterCommentp(AstNode* nodep) {
|
||||
|
@ -2291,6 +2309,11 @@ protected:
|
|||
// Use instead VNVisitor::iterateSubtreeReturnEdits
|
||||
AstNode* iterateSubtreeReturnEdits(VNVisitor& v);
|
||||
|
||||
static void dumpJsonNum(std::ostream& os, const std::string& name, int64_t val);
|
||||
static void dumpJsonBool(std::ostream& os, const std::string& name, bool val);
|
||||
static void dumpJsonStr(std::ostream& os, const std::string& name, const std::string& val);
|
||||
static void dumpJsonPtr(std::ostream& os, const std::string& name, const AstNode* const valp);
|
||||
|
||||
private:
|
||||
void iterateListBackwardsConst(VNVisitorConst& v);
|
||||
|
||||
|
@ -2845,5 +2868,7 @@ AstNode* VNVisitor::iterateSubtreeReturnEdits(AstNode* nodep) {
|
|||
|
||||
// Inline function definitions need to go last
|
||||
#include "V3AstInlines.h"
|
||||
void dumpNodeListJson(std::ostream& os, const AstNode* nodep, const std::string& listName,
|
||||
const string& indent);
|
||||
|
||||
#endif // Guard
|
||||
|
|
|
@ -52,6 +52,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstNodeDType;
|
||||
// ACCESSORS
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
virtual void dumpSmall(std::ostream& str) const;
|
||||
bool hasDType() const override { return true; }
|
||||
/// Require VlUnpacked, instead of [] for POD elements.
|
||||
|
@ -148,6 +149,7 @@ protected:
|
|||
public:
|
||||
ASTGEN_MEMBERS_AstNodeArrayDType;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
void dumpSmall(std::ostream& str) const override;
|
||||
const char* broken() const override {
|
||||
BROKEN_RTN(!((m_refDTypep && !childDTypep()) || (!m_refDTypep && childDTypep())));
|
||||
|
@ -212,6 +214,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstNodeUOrStructDType;
|
||||
int uniqueNum() const { return m_uniqueNum; }
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
bool isCompound() const override { return !packed(); }
|
||||
// For basicp() we reuse the size to indicate a "fake" basic type of same size
|
||||
AstBasicDType* basicp() const override {
|
||||
|
@ -377,6 +380,7 @@ private:
|
|||
public:
|
||||
ASTGEN_MEMBERS_AstBasicDType;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
// width/widthMin/numeric compared elsewhere
|
||||
bool same(const AstNode* samep) const override;
|
||||
bool similarDType(const AstNodeDType* samep) const override {
|
||||
|
@ -536,6 +540,7 @@ public:
|
|||
return this == samep || (type() == samep->type() && same(samep));
|
||||
}
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
void dumpSmall(std::ostream& str) const override;
|
||||
string name() const override VL_MT_STABLE;
|
||||
AstBasicDType* basicp() const override VL_MT_STABLE { return nullptr; }
|
||||
|
@ -793,6 +798,7 @@ public:
|
|||
string name() const override VL_MT_STABLE { return m_name; }
|
||||
void name(const string& flag) override { m_name = flag; }
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
void dumpSmall(std::ostream& str) const override;
|
||||
// METHODS
|
||||
AstBasicDType* basicp() const override VL_MT_STABLE { return subDTypep()->basicp(); }
|
||||
|
@ -850,6 +856,7 @@ public:
|
|||
|
||||
// METHODS
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
void dumpSmall(std::ostream& str) const override;
|
||||
AstBasicDType* basicp() const override VL_MT_STABLE { return nullptr; }
|
||||
AstNodeDType* skipRefp() const override VL_MT_STABLE { return (AstNodeDType*)this; }
|
||||
|
@ -963,6 +970,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstParamTypeDType;
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
AstNodeDType* getChildDTypep() const override { return childDTypep(); }
|
||||
AstNodeDType* subDTypep() const override VL_MT_STABLE {
|
||||
return dtypep() ? dtypep() : childDTypep();
|
||||
|
@ -1112,6 +1120,7 @@ public:
|
|||
return skipRefp()->similarDType(samep->skipRefp());
|
||||
}
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
void dumpSmall(std::ostream& str) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; }
|
||||
string prettyDTypeName() const override {
|
||||
|
|
|
@ -50,6 +50,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstNodeExpr;
|
||||
// METHODS
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
// TODO: The only AstNodeExpr without dtype is AstArg. Otherwise this could be final.
|
||||
bool hasDType() const override { return true; }
|
||||
virtual string emitVerilog() = 0; /// Format string for verilog writing; see V3EmitV
|
||||
|
@ -196,6 +197,7 @@ protected:
|
|||
public:
|
||||
ASTGEN_MEMBERS_AstNodeCCall;
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
int instrCount() const override { return INSTR_COUNT_CALL; }
|
||||
bool same(const AstNode* samep) const override {
|
||||
const AstNodeCCall* const asamep = VN_DBG_AS(samep, NodeCCall);
|
||||
|
@ -248,6 +250,7 @@ protected:
|
|||
public:
|
||||
const char* broken() const override;
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; } // * = Var name
|
||||
bool isGateOptimizable() const override;
|
||||
string dotted() const { return m_dotted; } // * = Scope name or ""
|
||||
|
@ -357,6 +360,7 @@ public:
|
|||
// cppcheck-suppress functionConst
|
||||
void iterateChildren(VNVisitorConst& v) {}
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
};
|
||||
class AstNodeTriop VL_NOT_FINAL : public AstNodeExpr {
|
||||
// Ternary expression
|
||||
|
@ -377,6 +381,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstNodeTriop;
|
||||
// METHODS
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
// Set out to evaluation of a AstConst'ed
|
||||
virtual void numberOperate(V3Number& out, const V3Number& lhs, const V3Number& rhs,
|
||||
const V3Number& ths)
|
||||
|
@ -458,6 +463,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstNodeUniop;
|
||||
// METHODS
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
// Set out to evaluation of a AstConst'ed lhs
|
||||
virtual void numberOperate(V3Number& out, const V3Number& lhs) = 0;
|
||||
virtual bool cleanLhs() const = 0;
|
||||
|
@ -510,6 +516,7 @@ protected:
|
|||
|
||||
public:
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
int instrCount() const override { return widthInstrs(); }
|
||||
VAccess access() const { return m_access; }
|
||||
void access(const VAccess& flag) { m_access = flag; } // Avoid using this; Set in constructor
|
||||
|
@ -591,6 +598,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstAttrOf;
|
||||
VAttrType attrType() const { return m_attrType; }
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
|
||||
string emitVerilog() override { V3ERROR_NA_RETURN(""); }
|
||||
string emitC() override { V3ERROR_NA_RETURN(""); }
|
||||
|
@ -765,6 +773,7 @@ public:
|
|||
== VN_DBG_AS(samep, ClassOrPackageRef)->m_classOrPackageNodep);
|
||||
}
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; } // * = Var name
|
||||
AstNode* classOrPackageNodep() const { return m_classOrPackageNodep; }
|
||||
void classOrPackageNodep(AstNode* nodep) { m_classOrPackageNodep = nodep; }
|
||||
|
@ -1120,6 +1129,7 @@ public:
|
|||
return new AstDot{fl, true, packageOrClassp, rhsp};
|
||||
}
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
bool colon() const { return m_colon; }
|
||||
|
||||
string emitVerilog() override { V3ERROR_NA_RETURN(""); }
|
||||
|
@ -1148,6 +1158,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstEnumItemRef;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
string name() const override VL_MT_STABLE { return itemp()->name(); }
|
||||
int instrCount() const override { return 0; }
|
||||
bool same(const AstNode* samep) const override {
|
||||
|
@ -1425,6 +1436,9 @@ public:
|
|||
|
||||
private:
|
||||
KeyItemMap m_map; // Node value for each array index
|
||||
// METHODS
|
||||
void dumpInitList(std::ostream& str) const;
|
||||
|
||||
public:
|
||||
AstInitArray(FileLine* fl, AstNodeDType* newDTypep, AstNodeExpr* defaultp)
|
||||
: ASTGEN_SUPER_InitArray(fl) {
|
||||
|
@ -1433,6 +1447,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstInitArray;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
const char* broken() const override;
|
||||
void cloneRelink() override;
|
||||
bool same(const AstNode* samep) const override {
|
||||
|
@ -1524,6 +1539,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstMemberSel;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; }
|
||||
void name(const string& name) override { m_name = name; }
|
||||
VAccess access() const { return m_access; }
|
||||
|
@ -1591,6 +1607,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstParseRef;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; } // * = Var name
|
||||
bool same(const AstNode* samep) const override {
|
||||
const AstParseRef* const asamep = VN_DBG_AS(samep, ParseRef);
|
||||
|
@ -1647,6 +1664,7 @@ public:
|
|||
bool cleanOut() const override { V3ERROR_NA_RETURN(""); }
|
||||
int instrCount() const override { return widthInstrs() * 2; }
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
bool isDefault() const { return m_default; }
|
||||
void isDefault(bool flag) { m_default = flag; }
|
||||
};
|
||||
|
@ -1877,6 +1895,7 @@ public:
|
|||
string emitC() override { V3ERROR_NA_RETURN(""); }
|
||||
bool cleanOut() const override { return true; }
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
string scopeSymName() const { // Name for __Vscope variable including children
|
||||
return scopeNameFormatter(scopeAttrp());
|
||||
}
|
||||
|
@ -4352,6 +4371,7 @@ public:
|
|||
int instrCount() const override { return INSTR_COUNT_TIME; }
|
||||
bool same(const AstNode* /*samep*/) const override { return true; }
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
void timeunit(const VTimescale& flag) { m_timeunit = flag; }
|
||||
VTimescale timeunit() const { return m_timeunit; }
|
||||
};
|
||||
|
@ -4372,6 +4392,7 @@ public:
|
|||
int instrCount() const override { return INSTR_COUNT_TIME; }
|
||||
bool same(const AstNode* /*samep*/) const override { return true; }
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
void timeunit(const VTimescale& flag) { m_timeunit = flag; }
|
||||
VTimescale timeunit() const { return m_timeunit; }
|
||||
};
|
||||
|
@ -4520,6 +4541,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstSel;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
void numberOperate(V3Number& out, const V3Number& from, const V3Number& bit,
|
||||
const V3Number& width) override {
|
||||
out.opSel(from, bit.toUInt() + width.toUInt() - 1, bit.toUInt());
|
||||
|
@ -4560,6 +4582,7 @@ public:
|
|||
, m_declRange{declRange} {}
|
||||
ASTGEN_MEMBERS_AstSliceSel;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
void numberOperate(V3Number& out, const V3Number& from, const V3Number& lo,
|
||||
const V3Number& width) override {
|
||||
V3ERROR_NA;
|
||||
|
@ -4722,6 +4745,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstCAwait;
|
||||
bool isTimingControl() const override { return true; }
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
AstSenTree* sensesp() const { return m_sensesp; }
|
||||
void clearSensesp() { m_sensesp = nullptr; }
|
||||
void numberOperate(V3Number& out, const V3Number& lhs) override { V3ERROR_NA; }
|
||||
|
@ -4760,6 +4784,7 @@ public:
|
|||
return size() == VN_DBG_AS(samep, CCast)->size();
|
||||
}
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
//
|
||||
int size() const { return m_size; }
|
||||
};
|
||||
|
@ -5252,6 +5277,7 @@ public:
|
|||
bool cleanLhs() const override { return false; }
|
||||
bool sizeMattersLhs() const override { return false; }
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
void timeunit(const VTimescale& flag) { m_timeunit = flag; }
|
||||
VTimescale timeunit() const { return m_timeunit; }
|
||||
};
|
||||
|
@ -5518,6 +5544,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstVarRef;
|
||||
inline string name() const override; // * = Var name
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
const char* broken() const override;
|
||||
bool same(const AstNode* samep) const override;
|
||||
inline bool same(const AstVarRef* samep) const;
|
||||
|
@ -5542,6 +5569,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstVarXRef;
|
||||
string name() const override VL_MT_STABLE { return m_name; } // * = Var name
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
string dotted() const { return m_dotted; }
|
||||
void dotted(const string& dotted) { m_dotted = dotted; }
|
||||
string inlinedDots() const { return m_inlinedDots; }
|
||||
|
|
|
@ -47,6 +47,7 @@ protected:
|
|||
public:
|
||||
ASTGEN_MEMBERS_AstNodeBlock;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; } // * = Block name
|
||||
void name(const string& name) override { m_name = name; }
|
||||
bool unnamed() const { return m_unnamed; }
|
||||
|
@ -123,6 +124,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstNodeFTask;
|
||||
virtual AstNodeFTask* cloneType(const string& name) = 0;
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; } // * = Var name
|
||||
bool maybePointedTo() const override { return true; }
|
||||
bool isGateOptimizable() const override {
|
||||
|
@ -210,6 +212,7 @@ public:
|
|||
, m_name{name} {}
|
||||
ASTGEN_MEMBERS_AstNodeFile;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; }
|
||||
bool same(const AstNode* /*samep*/) const override { return true; }
|
||||
};
|
||||
|
@ -258,6 +261,7 @@ protected:
|
|||
public:
|
||||
ASTGEN_MEMBERS_AstNodeModule;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
bool maybePointedTo() const override { return true; }
|
||||
string name() const override VL_MT_STABLE { return m_name; }
|
||||
virtual bool timescaleMatters() const = 0;
|
||||
|
@ -313,6 +317,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstNodeProcedure;
|
||||
// METHODS
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
bool isJustOneBodyStmt() const { return stmtsp() && !stmtsp()->nextp(); }
|
||||
bool isSuspendable() const { return m_suspendable; }
|
||||
void setSuspendable() { m_suspendable = true; }
|
||||
|
@ -328,6 +333,7 @@ protected:
|
|||
public:
|
||||
ASTGEN_MEMBERS_AstNodeRange;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
};
|
||||
class AstNodeStmt VL_NOT_FINAL : public AstNode {
|
||||
// Procedural statement
|
||||
|
@ -341,6 +347,7 @@ public:
|
|||
void addNextStmt(AstNode* newp,
|
||||
AstNode* belowp) override; // Stop statement searchback here
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
};
|
||||
class AstNodeAssign VL_NOT_FINAL : public AstNodeStmt {
|
||||
// Iteration is in order, and we want rhsp to be visited first (which is the execution order)
|
||||
|
@ -407,6 +414,7 @@ public:
|
|||
bool same(const AstNode* samep) const override { return samep->name() == name(); }
|
||||
void name(const string& name) override { m_name = name; }
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
bool immediate() const { return m_immediate; }
|
||||
};
|
||||
class AstNodeFor VL_NOT_FINAL : public AstNodeStmt {
|
||||
|
@ -505,6 +513,8 @@ public:
|
|||
};
|
||||
class AstNodeText VL_NOT_FINAL : public AstNode {
|
||||
string m_text;
|
||||
// METHODS
|
||||
string shortText() const;
|
||||
|
||||
protected:
|
||||
// Node that puts text into the output stream
|
||||
|
@ -515,6 +525,7 @@ protected:
|
|||
public:
|
||||
ASTGEN_MEMBERS_AstNodeText;
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
bool same(const AstNode* samep) const override {
|
||||
const AstNodeText* asamep = VN_DBG_AS(samep, NodeText);
|
||||
return text() == asamep->text();
|
||||
|
@ -554,6 +565,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstActive;
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; }
|
||||
// Statements are broken into pieces, as some must come before others.
|
||||
void sensesp(AstSenTree* nodep) { m_sensesp = nodep; }
|
||||
|
@ -652,6 +664,7 @@ public:
|
|||
string name() const override VL_MT_STABLE { return m_name; }
|
||||
bool maybePointedTo() const override { return true; }
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
bool same(const AstNode* samep) const override {
|
||||
const AstCFunc* const asamep = VN_DBG_AS(samep, CFunc);
|
||||
return ((isTrace() == asamep->isTrace()) && (rtnTypeVoid() == asamep->rtnTypeVoid())
|
||||
|
@ -752,6 +765,7 @@ public:
|
|||
, m_useType{useType} {}
|
||||
ASTGEN_MEMBERS_AstCUse;
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; }
|
||||
VUseType useType() const { return m_useType; }
|
||||
};
|
||||
|
@ -806,6 +820,7 @@ public:
|
|||
// No cloneRelink, we presume cloneee's want the same module linkages
|
||||
void cloneRelink() override {} // TODO V3Param shouldn't require avoiding cloneRelinkGen
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
bool maybePointedTo() const override { return true; }
|
||||
// ACCESSORS
|
||||
string name() const override VL_MT_STABLE { return m_name; } // * = Cell name
|
||||
|
@ -845,6 +860,7 @@ public:
|
|||
, m_timeunit{timeunit} {}
|
||||
ASTGEN_MEMBERS_AstCellInline;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
// ACCESSORS
|
||||
string name() const override VL_MT_STABLE { return m_name; } // * = Cell name
|
||||
string origModName() const { return m_origModName; } // * = modp()->origName() before inlining
|
||||
|
@ -871,6 +887,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstClassExtends;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
bool hasDType() const override { return true; }
|
||||
string verilogKwd() const override { return isImplements() ? "implements" : "extends"; }
|
||||
// Class being extended (after link and instantiation if needed)
|
||||
|
@ -903,6 +920,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstClocking;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
std::string name() const override VL_MT_STABLE { return m_name; }
|
||||
bool isDefault() const { return m_isDefault; }
|
||||
bool isGlobal() const { return m_isGlobal; }
|
||||
|
@ -1166,6 +1184,7 @@ public:
|
|||
ExecMTask* execMTaskp() const { return m_execMTaskp; }
|
||||
void execMTaskp(ExecMTask* execMTaskp) { m_execMTaskp = execMTaskp; }
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
};
|
||||
class AstModport final : public AstNode {
|
||||
// A modport in an interface
|
||||
|
@ -1197,6 +1216,7 @@ public:
|
|||
, m_export{isExport} {}
|
||||
ASTGEN_MEMBERS_AstModportFTaskRef;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; }
|
||||
bool isImport() const { return !m_export; }
|
||||
bool isExport() const { return m_export; }
|
||||
|
@ -1218,6 +1238,7 @@ public:
|
|||
, m_direction{direction} {}
|
||||
ASTGEN_MEMBERS_AstModportVarRef;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; }
|
||||
void direction(const VDirection& flag) { m_direction = flag; }
|
||||
VDirection direction() const { return m_direction; }
|
||||
|
@ -1255,6 +1276,7 @@ public:
|
|||
void cloneRelink() override { V3ERROR_NA; }
|
||||
string name() const override VL_MT_STABLE { return "$root"; }
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
AstNodeModule* topModulep() const VL_MT_STABLE { // Top module in hierarchy
|
||||
return modulesp(); // First one in the list, for now
|
||||
}
|
||||
|
@ -1305,6 +1327,7 @@ public:
|
|||
, m_packagep{packagep} {}
|
||||
ASTGEN_MEMBERS_AstPackageExport;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; }
|
||||
AstPackage* packagep() const { return m_packagep; }
|
||||
void packagep(AstPackage* nodep) { m_packagep = nodep; }
|
||||
|
@ -1330,6 +1353,7 @@ public:
|
|||
, m_packagep{packagep} {}
|
||||
ASTGEN_MEMBERS_AstPackageImport;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; }
|
||||
AstPackage* packagep() const { return m_packagep; }
|
||||
void packagep(AstPackage* nodep) { m_packagep = nodep; }
|
||||
|
@ -1356,6 +1380,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstPin;
|
||||
void cloneRelink() override {} // TODO V3Param shouldn't require avoiding cloneRelinkGen
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
string name() const override VL_MT_STABLE { return m_name; } // * = Pin name, ""=go by number
|
||||
void name(const string& name) override { m_name = name; }
|
||||
string prettyOperatorName() const override;
|
||||
|
@ -1469,6 +1494,7 @@ public:
|
|||
string name() const override VL_MT_STABLE { return m_name; } // * = Scope name
|
||||
void name(const string& name) override { m_name = name; }
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
bool same(const AstNode* samep) const override;
|
||||
string nameDotless() const;
|
||||
AstNodeModule* modp() const { return m_modp; }
|
||||
|
@ -1519,6 +1545,7 @@ public:
|
|||
, m_edgeType{VEdgeType::ET_NEVER} {}
|
||||
ASTGEN_MEMBERS_AstSenItem;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
bool same(const AstNode* samep) const override {
|
||||
return edgeType() == VN_DBG_AS(samep, SenItem)->edgeType();
|
||||
}
|
||||
|
@ -1549,6 +1576,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstSenTree;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
bool maybePointedTo() const override { return true; }
|
||||
bool isMulti() const { return m_multi; }
|
||||
void multi(bool flag) { m_multi = true; }
|
||||
|
@ -1581,6 +1609,7 @@ public:
|
|||
VStrength strength0() { return m_s0; }
|
||||
VStrength strength1() { return m_s1; }
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
};
|
||||
class AstTopScope final : public AstNode {
|
||||
// A singleton, held under the top level AstModule. Holds the top level
|
||||
|
@ -1633,6 +1662,7 @@ public:
|
|||
void clearCache();
|
||||
void repairCache();
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
};
|
||||
class AstTypedef final : public AstNode {
|
||||
// @astgen op1 := childDTypep : Optional[AstNodeDType]
|
||||
|
@ -1653,6 +1683,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstTypedef;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
AstNodeDType* getChildDTypep() const override { return childDTypep(); }
|
||||
virtual AstNodeDType* subDTypep() const VL_MT_STABLE {
|
||||
return dtypep() ? dtypep() : childDTypep();
|
||||
|
@ -1859,6 +1890,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstVar;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
bool same(const AstNode* samep) const override;
|
||||
string name() const override VL_MT_STABLE VL_MT_SAFE { return m_name; } // * = Var name
|
||||
bool hasDType() const override { return true; }
|
||||
|
@ -2109,6 +2141,7 @@ public:
|
|||
bool maybePointedTo() const override { return true; }
|
||||
string name() const override VL_MT_STABLE { return scopep()->name() + "->" + varp()->name(); }
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
bool same(const AstNode* samep) const override;
|
||||
bool hasDType() const override { return true; }
|
||||
AstVar* varp() const VL_MT_STABLE { return m_varp; } // [After Link] Pointer to variable
|
||||
|
@ -2137,6 +2170,7 @@ public:
|
|||
, m_implied{implied} {}
|
||||
ASTGEN_MEMBERS_AstBegin;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
void generate(bool flag) { m_generate = flag; }
|
||||
bool generate() const { return m_generate; }
|
||||
void setNeedProcess() { m_needProcess = true; }
|
||||
|
@ -2156,6 +2190,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstFork;
|
||||
bool isTimingControl() const override { return !joinType().joinNone(); }
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
VJoinType joinType() const { return m_joinType; }
|
||||
void joinType(const VJoinType& flag) { m_joinType = flag; }
|
||||
};
|
||||
|
@ -2226,6 +2261,7 @@ public:
|
|||
, m_support{false} {}
|
||||
ASTGEN_MEMBERS_AstCFile;
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
bool slow() const { return m_slow; }
|
||||
void slow(bool flag) { m_slow = flag; }
|
||||
bool source() const { return m_source; }
|
||||
|
@ -2241,6 +2277,7 @@ public:
|
|||
: ASTGEN_SUPER_VFile(fl, name) {}
|
||||
ASTGEN_MEMBERS_AstVFile;
|
||||
void dump(std::ostream& str = std::cout) const override;
|
||||
void dumpJson(std::ostream& str = std::cout) const override;
|
||||
};
|
||||
|
||||
// === AstNodeModule ===
|
||||
|
@ -2262,6 +2299,7 @@ public:
|
|||
string verilogKwd() const override { return "class"; }
|
||||
bool maybePointedTo() const override { return true; }
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
bool timescaleMatters() const override { return false; }
|
||||
AstClassPackage* classOrPackagep() const VL_MT_SAFE { return m_classOrPackagep; }
|
||||
void classOrPackagep(AstClassPackage* classpackagep) { m_classOrPackagep = classpackagep; }
|
||||
|
@ -2366,6 +2404,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstAlways;
|
||||
//
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
VAlwaysKwd keyword() const { return m_keyword; }
|
||||
};
|
||||
class AstAlwaysObserved final : public AstNodeProcedure {
|
||||
|
@ -2483,6 +2522,7 @@ public:
|
|||
int elementsConst() const VL_MT_STABLE { return hiConst() - loConst() + 1; }
|
||||
bool ascending() const { return leftConst() < rightConst(); }
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
virtual string emitC() { V3ERROR_NA_RETURN(""); }
|
||||
bool same(const AstNode* /*samep*/) const override { return true; }
|
||||
};
|
||||
|
@ -2658,6 +2698,7 @@ public:
|
|||
return nullptr;
|
||||
}
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
int instrCount() const override { return 1 + 2 * INSTR_COUNT_LD; }
|
||||
bool maybePointedTo() const override { return true; }
|
||||
void binNum(int flag) { m_binNum = flag; }
|
||||
|
@ -2691,6 +2732,7 @@ public:
|
|||
, m_declp{declp} {}
|
||||
ASTGEN_MEMBERS_AstCoverInc;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
int instrCount() const override { return 1 + 2 * INSTR_COUNT_LD; }
|
||||
bool same(const AstNode* samep) const override {
|
||||
return declp() == VN_DBG_AS(samep, CoverInc)->declp();
|
||||
|
@ -2739,6 +2781,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstDelay;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
bool isTimingControl() const override { return true; }
|
||||
bool same(const AstNode* /*samep*/) const override { return true; }
|
||||
void timeunit(const VTimescale& flag) { m_timeunit = flag; }
|
||||
|
@ -2788,6 +2831,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstDisplay;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
const char* broken() const override {
|
||||
BROKEN_RTN(!fmtp());
|
||||
return nullptr;
|
||||
|
@ -2961,6 +3005,7 @@ public:
|
|||
ASTGEN_MEMBERS_AstJumpGo;
|
||||
const char* broken() const override;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
int instrCount() const override { return INSTR_COUNT_BRANCH; }
|
||||
bool same(const AstNode* samep) const override {
|
||||
return labelp() == VN_DBG_AS(samep, JumpGo)->labelp();
|
||||
|
@ -2988,6 +3033,7 @@ public:
|
|||
return nullptr;
|
||||
}
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
int instrCount() const override { return 0; }
|
||||
bool same(const AstNode* samep) const override {
|
||||
return blockp() == VN_DBG_AS(samep, JumpLabel)->blockp();
|
||||
|
@ -3024,6 +3070,7 @@ public:
|
|||
void name(const string& name) override { m_name = name; }
|
||||
string name() const override VL_MT_STABLE { return m_name; } // * = Var name
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
string verilogKwd() const override { return "$printtimescale"; }
|
||||
bool isGateOptimizable() const override { return false; }
|
||||
bool isPredictOptimizable() const override { return false; }
|
||||
|
@ -3233,6 +3280,7 @@ public:
|
|||
this->valuep(valuep);
|
||||
}
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
int instrCount() const override { return 100; } // Large...
|
||||
ASTGEN_MEMBERS_AstTraceDecl;
|
||||
string name() const override VL_MT_STABLE { return m_showname; }
|
||||
|
@ -3276,6 +3324,7 @@ public:
|
|||
}
|
||||
ASTGEN_MEMBERS_AstTraceInc;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
int instrCount() const override { return 10 + 2 * INSTR_COUNT_LD; }
|
||||
bool hasDType() const override { return true; }
|
||||
bool same(const AstNode* samep) const override {
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
#include "V3EmitCBase.h"
|
||||
#include "V3File.h"
|
||||
#include "V3Global.h"
|
||||
#include "V3Graph.h"
|
||||
#include "V3Hasher.h"
|
||||
#include "V3PartitionGraph.h" // Just for mtask dumping
|
||||
|
@ -28,8 +29,34 @@
|
|||
|
||||
#include <iomanip>
|
||||
#include <iterator>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
// Routines for dumping dict fields (NOTE: due to leading ',' they can't be used for first field in
|
||||
// dict)
|
||||
void AstNode::dumpJsonNum(std::ostream& os, const std::string& name, int64_t val) {
|
||||
os << ",\"" << name << "\":" << val;
|
||||
}
|
||||
void AstNode::dumpJsonBool(std::ostream& os, const std::string& name, bool val) {
|
||||
os << ",\"" << name << "\":" << (val ? "true" : "false");
|
||||
}
|
||||
void AstNode::dumpJsonStr(std::ostream& os, const std::string& name, const std::string& val) {
|
||||
os << ",\"" << name << "\":\"" << V3OutFormatter::quoteNameControls(val) << '"';
|
||||
}
|
||||
void AstNode::dumpJsonPtr(std::ostream& os, const std::string& name, const AstNode* const valp) {
|
||||
v3Global.saveJsonPtrFieldName(name);
|
||||
std::string addr = "UNLINKED";
|
||||
if (valp) addr = (v3Global.opt.jsonIds() ? v3Global.ptrToId(valp) : cvtToHex(valp));
|
||||
os << ",\"" << name << "\":\"" << addr << '"';
|
||||
}
|
||||
|
||||
// Shorthands for dumping fields that use func name as key
|
||||
#define dumpJsonNumFunc(os, func) dumpJsonNum(os, #func, func())
|
||||
#define dumpJsonBoolFunc(os, func) dumpJsonBool(os, #func, func())
|
||||
#define dumpJsonStrFunc(os, func) dumpJsonStr(os, #func, func())
|
||||
#define dumpJsonPtrFunc(os, func) dumpJsonPtr(os, #func, func())
|
||||
|
||||
//======================================================================
|
||||
// Special methods
|
||||
|
||||
|
@ -74,6 +101,7 @@ int AstNodeSel::bitConst() const {
|
|||
}
|
||||
|
||||
void AstNodeStmt::dump(std::ostream& str) const { this->AstNode::dump(str); }
|
||||
void AstNodeStmt::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
|
||||
void AstNodeCCall::dump(std::ostream& str) const {
|
||||
this->AstNodeExpr::dump(str);
|
||||
|
@ -84,6 +112,10 @@ void AstNodeCCall::dump(std::ostream& str) const {
|
|||
str << " " << name();
|
||||
}
|
||||
}
|
||||
void AstNodeCCall::dumpJson(std::ostream& str) const {
|
||||
if (funcp()) dumpJsonStr(str, "funcName", funcp()->name());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
bool AstNodeCCall::isPure() { return funcp()->dpiPure(); }
|
||||
bool AstNodeUniop::isPure() {
|
||||
if (!m_purity.isCached()) m_purity.set(lhsp()->isPure());
|
||||
|
@ -1291,15 +1323,6 @@ void AstWhile::addNextStmt(AstNode* newp, AstNode* belowp) {
|
|||
//======================================================================
|
||||
// Per-type Debugging
|
||||
|
||||
// Render node address for dumps. By default this is just the address
|
||||
// printed as hex, but with --dump-tree-addrids we map addresses to short
|
||||
// strings with a bijection to aid human readability. Observe that this might
|
||||
// not actually be a unique identifier as the address can get reused after a
|
||||
// node has been freed.
|
||||
static std::string nodeAddr(const AstNode* nodep) {
|
||||
return v3Global.opt.dumpTreeAddrids() ? v3Global.ptrToId(nodep) : cvtToHex(nodep);
|
||||
}
|
||||
|
||||
void AstNode::dump(std::ostream& str) const {
|
||||
str << typeName() << " " << nodeAddr(this)
|
||||
#ifdef VL_DEBUG
|
||||
|
@ -1331,26 +1354,91 @@ void AstNode::dump(std::ostream& str) const {
|
|||
}
|
||||
}
|
||||
|
||||
void dumpNodeListJson(std::ostream& os, const AstNode* nodep, const std::string& listName,
|
||||
const string& indent) {
|
||||
os << ',';
|
||||
if (!nodep) { // empty list, print inline
|
||||
os << '"' << listName << "\": []";
|
||||
} else {
|
||||
os << '\n' << indent + " \"" << listName << "\": [\n";
|
||||
for (; nodep; nodep = nodep->nextp()) {
|
||||
nodep->dumpTreeJson(os, indent + " ");
|
||||
if (nodep->nextp()) os << ',';
|
||||
os << '\n';
|
||||
}
|
||||
os << indent << ']';
|
||||
}
|
||||
}
|
||||
|
||||
static void dumpFileInfo(std::ostream& os, const FileLine* fileinfop) {
|
||||
const std::string filename
|
||||
= v3Global.opt.jsonIds() ? fileinfop->filenameLetters() : fileinfop->filename();
|
||||
os << ",\"loc\":\"" << filename << ',' << fileinfop->firstLineno() << ':'
|
||||
<< fileinfop->firstColumn() << ',' << fileinfop->lastLineno() << ':'
|
||||
<< fileinfop->lastColumn() << '"';
|
||||
}
|
||||
|
||||
void AstNode::dumpTreeJson(std::ostream& os, const string& indent) const {
|
||||
os << indent << "{\"type\":\"" << typeName() << '"';
|
||||
dumpJsonStr(os, "name", V3OutFormatter::quoteNameControls(prettyName()));
|
||||
dumpJsonPtr(os, "addr", this);
|
||||
dumpFileInfo(os, fileline());
|
||||
#ifdef VL_DEBUG
|
||||
if (v3Global.opt.jsonEditNums()) dumpJsonNum(os, "editNum", editCount());
|
||||
#endif
|
||||
if (hasDType()) {
|
||||
dumpJsonPtrFunc(os, dtypep);
|
||||
} else { // V3Broken will throw an error
|
||||
if (dtypep()) {
|
||||
dumpJsonStr(os, "dtypep", " %Error-dtype-exp=null,got=" + nodeAddr(dtypep()));
|
||||
}
|
||||
}
|
||||
dumpJson(os);
|
||||
dumpTreeJsonOpGen(os, indent);
|
||||
os << "}";
|
||||
}
|
||||
|
||||
void AstNodeProcedure::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
if (isSuspendable()) str << " [SUSP]";
|
||||
if (needProcess()) str << " [NPRC]";
|
||||
}
|
||||
|
||||
void AstNodeProcedure::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, isSuspendable);
|
||||
dumpJsonBoolFunc(str, needProcess);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
|
||||
void AstAlways::dump(std::ostream& str) const {
|
||||
this->AstNodeProcedure::dump(str);
|
||||
if (keyword() != VAlwaysKwd::ALWAYS) str << " [" << keyword().ascii() << "]";
|
||||
}
|
||||
void AstAlways::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "keyword", keyword().ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
|
||||
void AstAttrOf::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
str << " [" << attrType().ascii() << "]";
|
||||
}
|
||||
void AstAttrOf::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "attrType", attrType().ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstBasicDType::dump(std::ostream& str) const {
|
||||
this->AstNodeDType::dump(str);
|
||||
str << " kwd=" << keyword().ascii();
|
||||
if (isRanged() && !rangep()) str << " range=[" << left() << ":" << right() << "]";
|
||||
}
|
||||
void AstBasicDType::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "keyword", keyword().ascii());
|
||||
if (isRanged() && !rangep()) {
|
||||
dumpJsonStr(str, "range", std::to_string(left()) + ":" + std::to_string(right()));
|
||||
}
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
string AstBasicDType::prettyDTypeName() const {
|
||||
std::ostringstream os;
|
||||
os << keyword().ascii();
|
||||
|
@ -1361,12 +1449,18 @@ string AstBasicDType::prettyDTypeName() const {
|
|||
}
|
||||
|
||||
void AstNodeExpr::dump(std::ostream& str) const { this->AstNode::dump(str); }
|
||||
void AstNodeExpr::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstNodeUniop::dump(std::ostream& str) const { this->AstNodeExpr::dump(str); }
|
||||
void AstNodeUniop::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
|
||||
void AstCCast::dump(std::ostream& str) const {
|
||||
this->AstNodeUniop::dump(str);
|
||||
str << " sz" << size();
|
||||
}
|
||||
void AstCCast::dumpJson(std::ostream& str) const {
|
||||
dumpJsonNumFunc(str, size);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstCell::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
if (recursive()) str << " [RECURSIVE]";
|
||||
|
@ -1377,11 +1471,20 @@ void AstCell::dump(std::ostream& str) const {
|
|||
str << " ->UNLINKED:" << modName();
|
||||
}
|
||||
}
|
||||
void AstCell::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStrFunc(str, origName);
|
||||
dumpJsonBoolFunc(str, recursive);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstCellInline::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
str << " -> " << origModName();
|
||||
str << " [scopep=" << nodeAddr(scopep()) << "]";
|
||||
}
|
||||
void AstCellInline::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStrFunc(str, origModName);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
bool AstClass::isCacheableChild(const AstNode* nodep) {
|
||||
return (VN_IS(nodep, Var) || VN_IS(nodep, Constraint) || VN_IS(nodep, EnumItemRef)
|
||||
|| (VN_IS(nodep, NodeFTask) && !VN_AS(nodep, NodeFTask)->isExternProto())
|
||||
|
@ -1408,10 +1511,20 @@ void AstClass::dump(std::ostream& str) const {
|
|||
if (isVirtual()) str << " [VIRT]";
|
||||
if (useVirtualPublic()) str << " [VIRPUB]";
|
||||
}
|
||||
void AstClass::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, isExtended);
|
||||
dumpJsonBoolFunc(str, isInterfaceClass);
|
||||
dumpJsonBoolFunc(str, isVirtual);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstClassExtends::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
if (isImplements()) str << " [IMPLEMENTS]";
|
||||
}
|
||||
void AstClassExtends::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, isImplements);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
AstClass* AstClassExtends::classOrNullp() const {
|
||||
const AstNodeDType* const dtp = dtypep() ? dtypep() : childDTypep();
|
||||
const AstClassRefDType* const refp = VN_CAST(dtp, ClassRefDType);
|
||||
|
@ -1437,6 +1550,7 @@ void AstClassRefDType::dump(std::ostream& str) const {
|
|||
str << " -> UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstClassRefDType::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstClassRefDType::dumpSmall(std::ostream& str) const {
|
||||
this->AstNodeDType::dumpSmall(str);
|
||||
str << "class:" << name();
|
||||
|
@ -1446,19 +1560,33 @@ void AstNodeCoverOrAssert::dump(std::ostream& str) const {
|
|||
this->AstNodeStmt::dump(str);
|
||||
if (immediate()) str << " [IMMEDIATE]";
|
||||
}
|
||||
void AstNodeCoverOrAssert::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, immediate);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstClocking::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
if (isDefault()) str << " [DEFAULT]";
|
||||
if (isGlobal()) str << " [GLOBAL]";
|
||||
}
|
||||
void AstClocking::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, isDefault);
|
||||
dumpJsonBoolFunc(str, isGlobal);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstDisplay::dump(std::ostream& str) const {
|
||||
this->AstNodeStmt::dump(str);
|
||||
// str << " " << displayType().ascii();
|
||||
}
|
||||
void AstDisplay::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstEnumDType::dump(std::ostream& str) const {
|
||||
this->AstNodeDType::dump(str);
|
||||
str << " enum";
|
||||
}
|
||||
void AstEnumDType::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBool(str, "enum", 1);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstEnumDType::dumpSmall(std::ostream& str) const {
|
||||
this->AstNodeDType::dumpSmall(str);
|
||||
str << "enum";
|
||||
|
@ -1479,6 +1607,7 @@ const char* AstEnumDType::broken() const {
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
void AstEnumItemRef::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstIfaceRefDType::dump(std::ostream& str) const {
|
||||
this->AstNodeDType::dump(str);
|
||||
if (cellName() != "") str << " cell=" << cellName();
|
||||
|
@ -1494,12 +1623,17 @@ void AstIfaceRefDType::dump(std::ostream& str) const {
|
|||
str << " -> UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstIfaceRefDType::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStrFunc(str, cellName);
|
||||
dumpJsonStrFunc(str, ifaceName);
|
||||
dumpJsonStrFunc(str, modportName);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstIfaceRefDType::dumpSmall(std::ostream& str) const {
|
||||
this->AstNodeDType::dumpSmall(str);
|
||||
str << "iface";
|
||||
}
|
||||
void AstInitArray::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
void AstInitArray::dumpInitList(std::ostream& str) const {
|
||||
int n = 0;
|
||||
const auto& mapr = map();
|
||||
for (const auto& itr : mapr) {
|
||||
|
@ -1507,9 +1641,21 @@ void AstInitArray::dump(std::ostream& str) const {
|
|||
str << " ...";
|
||||
break;
|
||||
}
|
||||
str << " [" << itr.first << "]=" << nodeAddr(itr.second);
|
||||
const string addr
|
||||
= (v3Global.opt.jsonIds() ? v3Global.ptrToId(itr.second) : nodeAddr(itr.second));
|
||||
str << " [" << itr.first << "]=" << addr;
|
||||
}
|
||||
}
|
||||
void AstInitArray::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
dumpInitList(str);
|
||||
}
|
||||
void AstInitArray::dumpJson(std::ostream& str) const {
|
||||
str << ',' << '"' << "initList" << '"' << ':' << '"';
|
||||
dumpInitList(str);
|
||||
str << '"';
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
const char* AstInitArray::broken() const {
|
||||
for (KeyItemMap::const_iterator it = m_map.begin(); it != m_map.end(); ++it) {
|
||||
BROKEN_RTN(!it->second);
|
||||
|
@ -1556,6 +1702,7 @@ void AstJumpGo::dump(std::ostream& str) const {
|
|||
str << "%Error:UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstJumpGo::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
const char* AstJumpGo::broken() const {
|
||||
BROKEN_RTN(!labelp()->brokeExistsBelow());
|
||||
return nullptr;
|
||||
|
@ -1570,6 +1717,7 @@ void AstJumpLabel::dump(std::ostream& str) const {
|
|||
str << "%Error:UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstJumpLabel::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
|
||||
void AstMemberDType::dumpSmall(std::ostream& str) const {
|
||||
this->AstNodeDType::dumpSmall(str);
|
||||
|
@ -1598,6 +1746,7 @@ void AstMemberSel::dump(std::ostream& str) const {
|
|||
str << "%Error:UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstMemberSel::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstModportFTaskRef::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
if (isExport()) str << " EXPORT";
|
||||
|
@ -1609,6 +1758,11 @@ void AstModportFTaskRef::dump(std::ostream& str) const {
|
|||
str << " -> UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstModportFTaskRef::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, isExport);
|
||||
dumpJsonBoolFunc(str, isImport);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstModportVarRef::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
if (direction().isAny()) str << " " << direction();
|
||||
|
@ -1619,6 +1773,10 @@ void AstModportVarRef::dump(std::ostream& str) const {
|
|||
str << " -> UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstModportVarRef::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "direction", direction().ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstPin::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
if (modVarp()) {
|
||||
|
@ -1630,6 +1788,11 @@ void AstPin::dump(std::ostream& str) const {
|
|||
if (svDotName()) str << " [.n]";
|
||||
if (svImplicit()) str << " [.SV]";
|
||||
}
|
||||
void AstPin::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, svDotName);
|
||||
dumpJsonBoolFunc(str, svImplicit);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
string AstPin::prettyOperatorName() const {
|
||||
return modVarp()
|
||||
? ((modVarp()->direction().isAny() ? modVarp()->direction().prettyName() + " " : "")
|
||||
|
@ -1640,20 +1803,37 @@ void AstPrintTimeScale::dump(std::ostream& str) const {
|
|||
this->AstNodeStmt::dump(str);
|
||||
str << " " << timeunit();
|
||||
}
|
||||
void AstPrintTimeScale::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "timeunit", timeunit().ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
|
||||
void AstNodeTermop::dump(std::ostream& str) const { this->AstNodeExpr::dump(str); }
|
||||
void AstNodeTermop::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstTime::dump(std::ostream& str) const {
|
||||
this->AstNodeTermop::dump(str);
|
||||
str << " " << timeunit();
|
||||
}
|
||||
void AstTime::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "timeunit", timeunit().ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstTimeD::dump(std::ostream& str) const {
|
||||
this->AstNodeTermop::dump(str);
|
||||
str << " " << timeunit();
|
||||
}
|
||||
void AstTimeD::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "timeunit", timeunit().ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstTimeImport::dump(std::ostream& str) const {
|
||||
this->AstNodeUniop::dump(str);
|
||||
str << " " << timeunit();
|
||||
}
|
||||
void AstTimeImport::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "timeunit", timeunit().ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstTypedef::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
if (attrPublic()) str << " [PUBLIC]";
|
||||
|
@ -1662,11 +1842,20 @@ void AstTypedef::dump(std::ostream& str) const {
|
|||
subDTypep()->dump(str);
|
||||
}
|
||||
}
|
||||
void AstTypedef::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, attrPublic);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstNodeRange::dump(std::ostream& str) const { this->AstNode::dump(str); }
|
||||
void AstNodeRange::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstRange::dump(std::ostream& str) const {
|
||||
this->AstNodeRange::dump(str);
|
||||
if (ascending()) str << " [ASCENDING]";
|
||||
}
|
||||
void AstRange::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, ascending);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstParamTypeDType::dump(std::ostream& str) const {
|
||||
this->AstNodeDType::dump(str);
|
||||
if (subDTypep()) {
|
||||
|
@ -1676,6 +1865,7 @@ void AstParamTypeDType::dump(std::ostream& str) const {
|
|||
str << " -> UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstParamTypeDType::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstRefDType::dump(std::ostream& str) const {
|
||||
this->AstNodeDType::dump(str);
|
||||
if (typedefp() || subDTypep()) {
|
||||
|
@ -1694,6 +1884,7 @@ void AstRefDType::dump(std::ostream& str) const {
|
|||
str << " -> UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstRefDType::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstRefDType::dumpSmall(std::ostream& str) const {
|
||||
this->AstNodeDType::dumpSmall(str);
|
||||
str << "ref";
|
||||
|
@ -1708,6 +1899,11 @@ void AstNodeUOrStructDType::dump(std::ostream& str) const {
|
|||
if (isFourstate()) str << " [4STATE]";
|
||||
if (classOrPackagep()) str << " pkg=" << nodeAddr(classOrPackagep());
|
||||
}
|
||||
void AstNodeUOrStructDType::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, packed);
|
||||
dumpJsonBoolFunc(str, isFourstate);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstNodeDType::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
if (generic()) str << " [GENERIC]";
|
||||
|
@ -1716,6 +1912,10 @@ void AstNodeDType::dump(std::ostream& str) const {
|
|||
dtp->dumpSmall(str);
|
||||
}
|
||||
}
|
||||
void AstNodeDType::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, generic);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstNodeDType::dumpSmall(std::ostream& str) const {
|
||||
str << "(" << (generic() ? "G/" : "") << ((isSigned() && !isDouble()) ? "s" : "")
|
||||
<< (isNosign() ? "n" : "") << (isDouble() ? "d" : "") << (isString() ? "str" : "");
|
||||
|
@ -1738,6 +1938,11 @@ void AstNodeArrayDType::dump(std::ostream& str) const {
|
|||
if (isCompound()) str << " [COMPOUND]";
|
||||
str << " " << declRange();
|
||||
}
|
||||
void AstNodeArrayDType::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, isCompound);
|
||||
dumpJsonStr(str, "declRange", cvtToStr(declRange()));
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
string AstPackArrayDType::prettyDTypeName() const {
|
||||
std::ostringstream os;
|
||||
if (const auto subp = subDTypep()) os << subp->prettyDTypeName();
|
||||
|
@ -1773,6 +1978,11 @@ void AstNetlist::dump(std::ostream& str) const {
|
|||
this->AstNode::dump(str);
|
||||
str << " [" << timeunit() << "/" << timeprecision() << "]";
|
||||
}
|
||||
void AstNetlist::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "timeunit", timeunit().ascii());
|
||||
dumpJsonStr(str, "timeprecision", timeprecision().ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
AstPackage* AstNetlist::dollarUnitPkgAddp() {
|
||||
if (!m_dollarUnitPkgp) {
|
||||
m_dollarUnitPkgp = new AstPackage{fileline(), AstPackage::dollarUnitName()};
|
||||
|
@ -1803,19 +2013,37 @@ void AstNodeModule::dump(std::ostream& str) const {
|
|||
}
|
||||
str << " [" << timeunit() << "]";
|
||||
}
|
||||
void AstNodeModule::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStrFunc(str, origName);
|
||||
dumpJsonNumFunc(str, level);
|
||||
dumpJsonBoolFunc(str, modPublic);
|
||||
dumpJsonBoolFunc(str, inLibrary);
|
||||
dumpJsonBoolFunc(str, dead);
|
||||
dumpJsonBoolFunc(str, recursiveClone);
|
||||
dumpJsonBoolFunc(str, recursive);
|
||||
dumpJsonStr(str, "timeunit", timeunit().ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstPackageExport::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
str << " -> " << packagep();
|
||||
}
|
||||
void AstPackageExport::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstPackageImport::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
str << " -> " << packagep();
|
||||
}
|
||||
void AstPackageImport::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstPatMember::dump(std::ostream& str) const {
|
||||
this->AstNodeExpr::dump(str);
|
||||
if (isDefault()) str << " [DEFAULT]";
|
||||
}
|
||||
void AstPatMember::dumpJson(std::ostream& str) const {
|
||||
if (isDefault()) dumpJsonBoolFunc(str, isDefault);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstNodeTriop::dump(std::ostream& str) const { this->AstNodeExpr::dump(str); }
|
||||
void AstNodeTriop::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstSel::dump(std::ostream& str) const {
|
||||
this->AstNodeTriop::dump(str);
|
||||
if (declRange().ranged()) {
|
||||
|
@ -1823,15 +2051,32 @@ void AstSel::dump(std::ostream& str) const {
|
|||
if (declElWidth() != 1) str << "/" << declElWidth();
|
||||
}
|
||||
}
|
||||
void AstSel::dumpJson(std::ostream& str) const {
|
||||
if (declRange().ranged()) {
|
||||
dumpJsonStr(str, "declRange", cvtToStr(declRange()));
|
||||
dumpJsonNumFunc(str, declElWidth);
|
||||
}
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstSliceSel::dump(std::ostream& str) const {
|
||||
this->AstNodeTriop::dump(str);
|
||||
if (declRange().ranged()) str << " decl" << declRange();
|
||||
}
|
||||
void AstSliceSel::dumpJson(std::ostream& str) const {
|
||||
if (declRange().ranged()) { dumpJsonStr(str, "declRange", cvtToStr(declRange())); }
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstMTaskBody::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
str << " ";
|
||||
m_execMTaskp->dump(str);
|
||||
}
|
||||
void AstMTaskBody::dumpJson(std::ostream& str) const {
|
||||
str << ',' << '"' << "execMTask" << '"' << ':' << '"';
|
||||
m_execMTaskp->dump(str); // TODO: Consider dumping it as json object
|
||||
str << '"';
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstTypeTable::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
for (int i = 0; i < static_cast<int>(VBasicDTypeKwd::_ENUM_MAX); ++i) {
|
||||
|
@ -1853,6 +2098,7 @@ void AstTypeTable::dump(std::ostream& str) const {
|
|||
}
|
||||
// Note get newline from caller too.
|
||||
}
|
||||
void AstTypeTable::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstAssocArrayDType::dumpSmall(std::ostream& str) const {
|
||||
this->AstNodeDType::dumpSmall(str);
|
||||
str << "[assoc-" << nodeAddr(keyDTypep()) << "]";
|
||||
|
@ -1931,6 +2177,10 @@ void AstVarScope::dump(std::ostream& str) const {
|
|||
str << " ->UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstVarScope::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, isTrace);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
bool AstVarScope::same(const AstNode* samep) const {
|
||||
const AstVarScope* const asamep = VN_DBG_AS(samep, VarScope);
|
||||
return varp()->same(asamep->varp()) && scopep()->same(asamep->scopep());
|
||||
|
@ -1940,6 +2190,10 @@ void AstNodeVarRef::dump(std::ostream& str) const {
|
|||
if (classOrPackagep()) str << " pkg=" << nodeAddr(classOrPackagep());
|
||||
str << " " << access().arrow() << " ";
|
||||
}
|
||||
void AstNodeVarRef::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "access", access().ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstVarXRef::dump(std::ostream& str) const {
|
||||
this->AstNodeVarRef::dump(str);
|
||||
str << ".=" << dotted() << " ";
|
||||
|
@ -1952,6 +2206,11 @@ void AstVarXRef::dump(std::ostream& str) const {
|
|||
str << "UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstVarXRef::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStrFunc(str, dotted);
|
||||
dumpJsonStrFunc(str, inlinedDots);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstVarRef::dump(std::ostream& str) const {
|
||||
this->AstNodeVarRef::dump(str);
|
||||
if (varScopep()) {
|
||||
|
@ -1962,6 +2221,7 @@ void AstVarRef::dump(std::ostream& str) const {
|
|||
str << "UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstVarRef::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
const char* AstVarRef::broken() const {
|
||||
BROKEN_RTN(!varp());
|
||||
return nullptr;
|
||||
|
@ -2006,6 +2266,36 @@ void AstVar::dump(std::ostream& str) const {
|
|||
if (!lifetime().isNone()) str << " [" << lifetime().ascii() << "] ";
|
||||
str << " " << varType();
|
||||
}
|
||||
void AstVar::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStrFunc(str, origName);
|
||||
dumpJsonBoolFunc(str, isSc);
|
||||
dumpJsonBoolFunc(str, isPrimaryIO);
|
||||
dumpJsonStr(str, "direction", direction().ascii());
|
||||
dumpJsonBoolFunc(str, isConst);
|
||||
dumpJsonBoolFunc(str, isPullup);
|
||||
dumpJsonBoolFunc(str, isPulldown);
|
||||
dumpJsonBoolFunc(str, isUsedClock);
|
||||
dumpJsonBoolFunc(str, isSigPublic);
|
||||
dumpJsonBoolFunc(str, isLatched);
|
||||
dumpJsonBoolFunc(str, isUsedLoopIdx);
|
||||
dumpJsonBoolFunc(str, noReset);
|
||||
dumpJsonBoolFunc(str, attrIsolateAssign);
|
||||
dumpJsonBoolFunc(str, attrFileDescr);
|
||||
dumpJsonBoolFunc(str, isDpiOpenArray);
|
||||
dumpJsonBoolFunc(str, isFuncReturn);
|
||||
dumpJsonBoolFunc(str, isFuncLocal);
|
||||
dumpJsonStr(str, "attrClocker", (attrClocker().unknown() ? "UNKNOWN" : attrClocker().ascii()));
|
||||
dumpJsonStr(str, "lifetime", lifetime().ascii());
|
||||
dumpJsonStr(str, "varType", varType().ascii());
|
||||
if (dtypep()) dumpJsonStr(str, "dtypeName", dtypep()->name());
|
||||
dumpJsonBoolFunc(str, isSigUserRdPublic);
|
||||
dumpJsonBoolFunc(str, isSigUserRWPublic);
|
||||
dumpJsonBoolFunc(str, isGParam);
|
||||
dumpJsonBoolFunc(str, isParam);
|
||||
dumpJsonBoolFunc(str, attrScBv);
|
||||
dumpJsonBoolFunc(str, attrSFormat);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
bool AstVar::same(const AstNode* samep) const {
|
||||
const AstVar* const asamep = VN_DBG_AS(samep, Var);
|
||||
return name() == asamep->name() && varType() == asamep->varType();
|
||||
|
@ -2023,6 +2313,7 @@ void AstScope::dump(std::ostream& str) const {
|
|||
str << " [cellp=" << nodeAddr(aboveCellp()) << "]";
|
||||
str << " [modp=" << nodeAddr(modp()) << "]";
|
||||
}
|
||||
void AstScope::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
bool AstScope::same(const AstNode* samep) const {
|
||||
const AstScope* const asamep = VN_DBG_AS(samep, Scope);
|
||||
return name() == asamep->name()
|
||||
|
@ -2035,22 +2326,44 @@ void AstScopeName::dump(std::ostream& str) const {
|
|||
if (dpiExport()) str << " [DPIEX]";
|
||||
if (forFormat()) str << " [FMT]";
|
||||
}
|
||||
void AstScopeName::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, dpiExport);
|
||||
dumpJsonBoolFunc(str, forFormat);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstSenTree::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
if (isMulti()) str << " [MULTI]";
|
||||
}
|
||||
void AstSenTree::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, isMulti);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstSenItem::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
str << " [" << edgeType().ascii() << "]";
|
||||
}
|
||||
void AstSenItem::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "edgeType", edgeType().ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstStrengthSpec::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
str << " (" << m_s0.ascii() << ", " << m_s1.ascii() << ")";
|
||||
}
|
||||
void AstStrengthSpec::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "strength0", m_s0.ascii());
|
||||
dumpJsonStr(str, "strength1", m_s1.ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstParseRef::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
str << " [" << expect().ascii() << "]";
|
||||
}
|
||||
void AstParseRef::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "expect", expect().ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstClassOrPackageRef::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
if (classOrPackageNodep()) str << " cpkg=" << nodeAddr(classOrPackageNodep());
|
||||
|
@ -2061,6 +2374,7 @@ void AstClassOrPackageRef::dump(std::ostream& str) const {
|
|||
str << "UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstClassOrPackageRef::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
AstNodeModule* AstClassOrPackageRef::classOrPackagep() const {
|
||||
AstNode* foundp = m_classOrPackageNodep;
|
||||
if (auto* const anodep = VN_CAST(foundp, Typedef)) foundp = anodep->subDTypep();
|
||||
|
@ -2073,6 +2387,10 @@ void AstDot::dump(std::ostream& str) const {
|
|||
this->AstNode::dump(str);
|
||||
if (colon()) str << " [::]";
|
||||
}
|
||||
void AstDot::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, colon);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstActive::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
str << " => ";
|
||||
|
@ -2082,6 +2400,7 @@ void AstActive::dump(std::ostream& str) const {
|
|||
str << "UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstActive::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstNodeFTaskRef::dump(std::ostream& str) const {
|
||||
this->AstNodeExpr::dump(str);
|
||||
if (classOrPackagep()) str << " pkg=" << nodeAddr(classOrPackagep());
|
||||
|
@ -2093,6 +2412,10 @@ void AstNodeFTaskRef::dump(std::ostream& str) const {
|
|||
str << "UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstNodeFTaskRef::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStrFunc(str, dotted);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstNodeFTask::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
if (classMethod()) str << " [METHOD]";
|
||||
|
@ -2130,10 +2453,26 @@ bool AstNodeFTask::getPurityRecurse() const {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
void AstNodeFTask::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBool(str, "method", classMethod());
|
||||
dumpJsonBoolFunc(str, dpiExport);
|
||||
dumpJsonBoolFunc(str, dpiImport);
|
||||
dumpJsonBoolFunc(str, dpiOpenChild);
|
||||
dumpJsonBoolFunc(str, dpiOpenParent);
|
||||
dumpJsonBoolFunc(str, prototype);
|
||||
dumpJsonBoolFunc(str, recursive);
|
||||
dumpJsonBoolFunc(str, taskPublic);
|
||||
dumpJsonStrFunc(str, cname);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstNodeBlock::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
if (unnamed()) str << " [UNNAMED]";
|
||||
}
|
||||
void AstNodeBlock::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, unnamed);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstBegin::dump(std::ostream& str) const {
|
||||
this->AstNodeBlock::dump(str);
|
||||
if (generate()) str << " [GEN]";
|
||||
|
@ -2141,6 +2480,13 @@ void AstBegin::dump(std::ostream& str) const {
|
|||
if (implied()) str << " [IMPLIED]";
|
||||
if (needProcess()) str << " [NPRC]";
|
||||
}
|
||||
void AstBegin::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, generate);
|
||||
dumpJsonBool(str, "genfor", bool(genforp()));
|
||||
dumpJsonBoolFunc(str, implied);
|
||||
dumpJsonBoolFunc(str, needProcess);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstCoverDecl::dump(std::ostream& str) const {
|
||||
this->AstNodeStmt::dump(str);
|
||||
if (!page().empty()) str << " page=" << page();
|
||||
|
@ -2159,6 +2505,12 @@ void AstCoverDecl::dump(std::ostream& str) const {
|
|||
if (binNum()) str << " bin" << std::dec << binNum();
|
||||
}
|
||||
}
|
||||
void AstCoverDecl::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStrFunc(str, page);
|
||||
dumpJsonStrFunc(str, linescov);
|
||||
dumpJsonNumFunc(str, binNum);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstCoverInc::dump(std::ostream& str) const {
|
||||
this->AstNodeStmt::dump(str);
|
||||
str << " -> ";
|
||||
|
@ -2168,14 +2520,23 @@ void AstCoverInc::dump(std::ostream& str) const {
|
|||
str << "%Error:UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstCoverInc::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstFork::dump(std::ostream& str) const {
|
||||
this->AstNodeBlock::dump(str);
|
||||
if (!joinType().join()) str << " [" << joinType() << "]";
|
||||
}
|
||||
void AstFork::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "joinType", joinType().ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstTraceDecl::dump(std::ostream& str) const {
|
||||
this->AstNodeStmt::dump(str);
|
||||
if (code()) str << " [code=" << code() << "]";
|
||||
}
|
||||
void AstTraceDecl::dumpJson(std::ostream& str) const {
|
||||
dumpJsonNumFunc(str, code);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstTraceInc::dump(std::ostream& str) const {
|
||||
this->AstNodeStmt::dump(str);
|
||||
str << " -> ";
|
||||
|
@ -2185,25 +2546,41 @@ void AstTraceInc::dump(std::ostream& str) const {
|
|||
str << "%Error:UNLINKED";
|
||||
}
|
||||
}
|
||||
void AstNodeText::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
void AstTraceInc::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
string AstNodeText::shortText() const {
|
||||
string out = text();
|
||||
string::size_type pos;
|
||||
if ((pos = out.find('\n')) != string::npos) {
|
||||
out.erase(pos, out.length() - pos);
|
||||
out += "...";
|
||||
}
|
||||
str << " \"" << out << "\"";
|
||||
return out;
|
||||
}
|
||||
void AstNodeText::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
str << " \"" << shortText() << "\"";
|
||||
}
|
||||
void AstNodeText::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStrFunc(str, shortText);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
|
||||
void AstNodeFile::dump(std::ostream& str) const { this->AstNode::dump(str); }
|
||||
void AstNodeFile::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
void AstVFile::dump(std::ostream& str) const { this->AstNodeFile::dump(str); }
|
||||
void AstVFile::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
|
||||
void AstCFile::dump(std::ostream& str) const {
|
||||
this->AstNodeFile::dump(str);
|
||||
if (source()) str << " [SRC]";
|
||||
if (slow()) str << " [SLOW]";
|
||||
}
|
||||
|
||||
void AstCFile::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, source);
|
||||
dumpJsonBoolFunc(str, slow);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
void AstCFunc::dump(std::ostream& str) const {
|
||||
this->AstNode::dump(str);
|
||||
if (slow()) str << " [SLOW]";
|
||||
|
@ -2221,6 +2598,22 @@ void AstCFunc::dump(std::ostream& str) const {
|
|||
if (needProcess()) str << " [NPRC]";
|
||||
if (entryPoint()) str << " [ENTRY]";
|
||||
}
|
||||
void AstCFunc::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, slow);
|
||||
dumpJsonBoolFunc(str, isStatic);
|
||||
dumpJsonBoolFunc(str, dpiExportDispatcher);
|
||||
dumpJsonBoolFunc(str, dpiExportImpl);
|
||||
dumpJsonBoolFunc(str, dpiImportPrototype);
|
||||
dumpJsonBoolFunc(str, dpiImportWrapper);
|
||||
dumpJsonBoolFunc(str, dpiContext);
|
||||
dumpJsonBoolFunc(str, isConstructor);
|
||||
dumpJsonBoolFunc(str, isDestructor);
|
||||
dumpJsonBoolFunc(str, isVirtual);
|
||||
dumpJsonBoolFunc(str, isCoroutine);
|
||||
dumpJsonBoolFunc(str, needProcess);
|
||||
dumpJsonGen(str);
|
||||
// TODO: maybe try to shorten these flags somehow
|
||||
}
|
||||
void AstCAwait::dump(std::ostream& str) const {
|
||||
this->AstNodeUniop::dump(str);
|
||||
if (sensesp()) {
|
||||
|
@ -2228,6 +2621,7 @@ void AstCAwait::dump(std::ostream& str) const {
|
|||
sensesp()->dump(str);
|
||||
}
|
||||
}
|
||||
void AstCAwait::dumpJson(std::ostream& str) const { dumpJsonGen(str); }
|
||||
int AstCMethodHard::instrCount() const {
|
||||
if (AstBasicDType* const basicp = fromp()->dtypep()->basicp()) {
|
||||
// TODO: add a more structured description of library methods, rather than using string
|
||||
|
@ -2315,6 +2709,10 @@ void AstCUse::dump(std::ostream& str) const {
|
|||
this->AstNode::dump(str);
|
||||
str << " [" << useType() << "]";
|
||||
}
|
||||
void AstCUse::dumpJson(std::ostream& str) const {
|
||||
dumpJsonStr(str, "useType", useType().ascii());
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
|
||||
AstAlways* AstAssignW::convertToAlways() {
|
||||
const bool hasTimingControl = isTimingControl();
|
||||
|
@ -2339,3 +2737,7 @@ void AstDelay::dump(std::ostream& str) const {
|
|||
this->AstNodeStmt::dump(str);
|
||||
if (isCycleDelay()) str << " [CYCLE]";
|
||||
}
|
||||
void AstDelay::dumpJson(std::ostream& str) const {
|
||||
dumpJsonBoolFunc(str, isCycleDelay);
|
||||
dumpJsonGen(str);
|
||||
}
|
||||
|
|
|
@ -88,6 +88,21 @@ void FileLineSingleton::fileNameNumMapDumpXml(std::ostream& os) {
|
|||
os << "</files>\n";
|
||||
}
|
||||
|
||||
void FileLineSingleton::fileNameNumMapDumpJson(std::ostream& os) {
|
||||
std::string sep = "\n ";
|
||||
os << "\"files\": {";
|
||||
for (const auto& itr : m_namemap) {
|
||||
const std::string name
|
||||
= itr.first == V3Options::getStdPackagePath() ? "<verilated_std>" : itr.first;
|
||||
os << sep << '"' << filenameLetters(itr.second) << '"' << ": {\"filename\":\"" << name
|
||||
<< '"' << ", \"realpath\":\""
|
||||
<< V3OutFormatter::quoteNameControls(V3Os::filenameRealPath(itr.first)) << '"'
|
||||
<< ", \"language\":\"" << numberToLang(itr.second).ascii() << "\"}";
|
||||
sep = ",\n ";
|
||||
}
|
||||
os << "\n }";
|
||||
}
|
||||
|
||||
FileLineSingleton::msgEnSetIdx_t FileLineSingleton::addMsgEnBitSet(const MsgEnBitSet& bitSet)
|
||||
VL_MT_SAFE_EXCLUDES(m_mutex) {
|
||||
V3LockGuard lock{m_mutex};
|
||||
|
|
|
@ -77,6 +77,7 @@ class FileLineSingleton final {
|
|||
m_languages.clear();
|
||||
}
|
||||
void fileNameNumMapDumpXml(std::ostream& os);
|
||||
void fileNameNumMapDumpJson(std::ostream& os);
|
||||
static string filenameLetters(fileNameIdx_t fileno) VL_PURE;
|
||||
|
||||
// Add given bitset to the interned bitsets, return interned index
|
||||
|
@ -310,6 +311,9 @@ public:
|
|||
return defaultFileLine().warnOff(code, flag);
|
||||
}
|
||||
static void fileNameNumMapDumpXml(std::ostream& os) { singleton().fileNameNumMapDumpXml(os); }
|
||||
static void fileNameNumMapDumpJson(std::ostream& os) {
|
||||
singleton().fileNameNumMapDumpJson(os);
|
||||
}
|
||||
|
||||
// METHODS - Called from netlist
|
||||
// Merge warning disables from another fileline
|
||||
|
|
|
@ -113,6 +113,30 @@ void V3Global::dumpCheckGlobalTree(const string& stagename, int newNumber, bool
|
|||
if (v3Global.opt.stats()) V3Stats::statsStage(stagename);
|
||||
}
|
||||
|
||||
void V3Global::idPtrMapDumpJson(std::ostream& os) {
|
||||
std::string sep = "\n ";
|
||||
os << "\"pointers\": {";
|
||||
for (const auto& itr : m_ptrToId) {
|
||||
os << sep << '"' << itr.second << "\": \"" << cvtToHex(itr.first) << '"';
|
||||
sep = ",\n ";
|
||||
}
|
||||
os << "\n }";
|
||||
}
|
||||
|
||||
void V3Global::saveJsonPtrFieldName(const std::string& fieldName) {
|
||||
m_jsonPtrNames.insert(fieldName);
|
||||
}
|
||||
|
||||
void V3Global::ptrNamesDumpJson(std::ostream& os) {
|
||||
std::string sep = "\n ";
|
||||
os << "\"ptrFieldNames\": [";
|
||||
for (const auto& itr : m_jsonPtrNames) {
|
||||
os << sep << '"' << itr << '"';
|
||||
sep = ",\n ";
|
||||
}
|
||||
os << "\n ]";
|
||||
}
|
||||
|
||||
const std::string& V3Global::ptrToId(const void* p) {
|
||||
const auto pair = m_ptrToId.emplace(p, "");
|
||||
if (pair.second) {
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
|
||||
class AstNetlist;
|
||||
class V3HierBlockPlan;
|
||||
|
@ -125,6 +126,9 @@ class V3Global final {
|
|||
std::unordered_map<const void*, std::string>
|
||||
m_ptrToId; // The actual 'address' <=> 'short string' bijection
|
||||
|
||||
// Names of fields that were dumped by dumpJsonPtr()
|
||||
std::unordered_set<std::string> m_jsonPtrNames;
|
||||
|
||||
public:
|
||||
// Options
|
||||
V3Options opt; // All options; let user see them directly
|
||||
|
@ -184,6 +188,9 @@ public:
|
|||
bool useParallelBuild() const { return m_useParallelBuild; }
|
||||
void useRandomizeMethods(bool flag) { m_useRandomizeMethods = flag; }
|
||||
bool useRandomizeMethods() const { return m_useRandomizeMethods; }
|
||||
void saveJsonPtrFieldName(const std::string& fieldName);
|
||||
void ptrNamesDumpJson(std::ostream& os);
|
||||
void idPtrMapDumpJson(std::ostream& os);
|
||||
const std::string& ptrToId(const void* p);
|
||||
};
|
||||
|
||||
|
|
|
@ -796,14 +796,15 @@ void V3Options::notify() VL_MT_DISABLED {
|
|||
if (!outFormatOk() && v3Global.opt.main()) ccSet(); // --main implies --cc if not provided
|
||||
if (!outFormatOk() && !dpiHdrOnly() && !lintOnly() && !preprocOnly() && !serializeOnly()) {
|
||||
v3fatal("verilator: Need --binary, --cc, --sc, --dpi-hdr-only, --lint-only, "
|
||||
"--xml-only or --E option");
|
||||
"--xml-only, --json-only or --E option");
|
||||
}
|
||||
|
||||
if (m_build && (m_gmake || m_cmake)) {
|
||||
cmdfl->v3error("--make cannot be used together with --build. Suggest see manual");
|
||||
}
|
||||
|
||||
// m_build, m_preprocOnly, m_dpiHdrOnly, m_lintOnly, and m_xmlOnly are mutually exclusive
|
||||
// m_build, m_preprocOnly, m_dpiHdrOnly, m_lintOnly, m_jsonOnly and m_xmlOnly are mutually
|
||||
// exclusive
|
||||
std::vector<std::string> backendFlags;
|
||||
if (m_build) {
|
||||
if (m_binary)
|
||||
|
@ -815,6 +816,7 @@ void V3Options::notify() VL_MT_DISABLED {
|
|||
if (m_dpiHdrOnly) backendFlags.push_back("--dpi-hdr-only");
|
||||
if (m_lintOnly) backendFlags.push_back("--lint-only");
|
||||
if (m_xmlOnly) backendFlags.push_back("--xml-only");
|
||||
if (m_jsonOnly) backendFlags.push_back("--json-only");
|
||||
if (backendFlags.size() > 1) {
|
||||
std::string backendFlagsString = backendFlags.front();
|
||||
for (size_t i = 1; i < backendFlags.size(); i++) {
|
||||
|
@ -1203,6 +1205,8 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc,
|
|||
DECL_OPTION("-dumpi-", CbPartialMatchVal, [this](const char* optp, const char* valp) {
|
||||
m_dumpLevel[optp] = std::atoi(valp);
|
||||
});
|
||||
DECL_OPTION("-json-edit-nums", OnOff, &m_jsonEditNums);
|
||||
DECL_OPTION("-json-ids", OnOff, &m_jsonIds);
|
||||
DECL_OPTION("-E", CbOnOff, [this](bool flag) {
|
||||
if (flag) m_std = false;
|
||||
m_preprocOnly = flag;
|
||||
|
@ -1664,6 +1668,15 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc,
|
|||
m_xmlOutput = valp;
|
||||
m_xmlOnly = true;
|
||||
});
|
||||
DECL_OPTION("-json-only", OnOff, &m_jsonOnly);
|
||||
DECL_OPTION("-json-only-output", CbVal, [this](const char* valp) {
|
||||
m_jsonOnlyOutput = valp;
|
||||
m_jsonOnly = true;
|
||||
});
|
||||
DECL_OPTION("-json-only-meta-output", CbVal, [this](const char* valp) {
|
||||
m_jsonOnlyMetaOutput = valp;
|
||||
m_jsonOnly = true;
|
||||
});
|
||||
|
||||
DECL_OPTION("-y", CbVal, [this, &optdir](const char* valp) {
|
||||
addIncDirUser(parseFileArg(optdir, string{valp}));
|
||||
|
|
|
@ -292,6 +292,7 @@ private:
|
|||
bool m_vpi = false; // main switch: --vpi
|
||||
bool m_xInitialEdge = false; // main switch: --x-initial-edge
|
||||
bool m_xmlOnly = false; // main switch: --xml-only
|
||||
bool m_jsonOnly = false; // main switch: --json-only
|
||||
|
||||
int m_buildJobs = -1; // main switch: --build-jobs, -j
|
||||
int m_convergeLimit = 100; // main switch: --converge-limit
|
||||
|
@ -302,6 +303,8 @@ private:
|
|||
int m_ifDepth = 0; // main switch: --if-depth
|
||||
int m_inlineMult = 2000; // main switch: --inline-mult
|
||||
int m_instrCountDpi = 200; // main switch: --instr-count-dpi
|
||||
bool m_jsonEditNums = true; // main switch: --no-json-edit-nums
|
||||
bool m_jsonIds = true; // main switch: --no-json-ids
|
||||
VOptionBool m_makeDepend; // main switch: -MMD
|
||||
int m_maxNumWidth = 65536; // main switch: --max-num-width
|
||||
int m_moduleRecursion = 100; // main switch: --module-recursion-depth
|
||||
|
@ -348,6 +351,8 @@ private:
|
|||
string m_xAssign; // main switch: --x-assign
|
||||
string m_xInitial; // main switch: --x-initial
|
||||
string m_xmlOutput; // main switch: --xml-output
|
||||
string m_jsonOnlyOutput; // main switch: --json-only-output
|
||||
string m_jsonOnlyMetaOutput; // main switch: --json-only-meta-output
|
||||
|
||||
// Language is now held in FileLine, on a per-node basis. However we still
|
||||
// have a concept of the default language at a global level.
|
||||
|
@ -519,7 +524,8 @@ public:
|
|||
bool vpi() const { return m_vpi; }
|
||||
bool xInitialEdge() const { return m_xInitialEdge; }
|
||||
bool xmlOnly() const { return m_xmlOnly; }
|
||||
bool serializeOnly() const { return m_xmlOnly; }
|
||||
bool jsonOnly() const { return m_jsonOnly; }
|
||||
bool serializeOnly() const { return m_xmlOnly || m_jsonOnly; }
|
||||
bool topIfacesSupported() const { return lintOnly() && !hierarchical(); }
|
||||
|
||||
int buildJobs() const VL_MT_SAFE { return m_buildJobs; }
|
||||
|
@ -531,6 +537,8 @@ public:
|
|||
int ifDepth() const { return m_ifDepth; }
|
||||
int inlineMult() const { return m_inlineMult; }
|
||||
int instrCountDpi() const { return m_instrCountDpi; }
|
||||
bool jsonEditNums() const { return m_jsonEditNums; }
|
||||
bool jsonIds() const { return m_jsonIds; }
|
||||
VOptionBool makeDepend() const { return m_makeDepend; }
|
||||
int maxNumWidth() const { return m_maxNumWidth; }
|
||||
int moduleRecursionDepth() const { return m_moduleRecursion; }
|
||||
|
@ -600,6 +608,8 @@ public:
|
|||
string xAssign() const { return m_xAssign; }
|
||||
string xInitial() const { return m_xInitial; }
|
||||
string xmlOutput() const { return m_xmlOutput; }
|
||||
string jsonOnlyOutput() const { return m_jsonOnlyOutput; }
|
||||
string jsonOnlyMetaOutput() const { return m_jsonOnlyMetaOutput; }
|
||||
|
||||
const V3StringSet& cppFiles() const { return m_cppFiles; }
|
||||
const V3StringList& cFlags() const { return m_cFlags; }
|
||||
|
|
|
@ -119,6 +119,19 @@ static void reportStatsIfEnabled() {
|
|||
}
|
||||
}
|
||||
|
||||
static void emitJson() VL_MT_DISABLED {
|
||||
const string filename
|
||||
= (v3Global.opt.jsonOnlyOutput().empty()
|
||||
? v3Global.opt.makeDir() + "/" + v3Global.opt.prefix() + ".tree.json"
|
||||
: v3Global.opt.jsonOnlyOutput());
|
||||
v3Global.rootp()->dumpTreeJsonFile(filename);
|
||||
}
|
||||
|
||||
static void emitXmlOrJson() VL_MT_DISABLED {
|
||||
if (v3Global.opt.xmlOnly()) V3EmitXml::emitxml();
|
||||
if (v3Global.opt.jsonOnly()) emitJson();
|
||||
}
|
||||
|
||||
static void process() {
|
||||
{
|
||||
const V3MtDisabledLockGuard mtDisabler{v3MtDisabledLock()};
|
||||
|
@ -151,7 +164,7 @@ static void process() {
|
|||
if (v3Global.opt.stats()) V3Stats::statsStageAll(v3Global.rootp(), "Link");
|
||||
if (v3Global.opt.debugExitUvm23()) {
|
||||
V3Error::abortIfErrors();
|
||||
if (v3Global.opt.serializeOnly()) V3EmitXml::emitxml();
|
||||
if (v3Global.opt.serializeOnly()) emitXmlOrJson();
|
||||
cout << "--debug-exit-uvm23: Exiting after UVM-supported pass\n";
|
||||
std::exit(0);
|
||||
}
|
||||
|
@ -180,7 +193,7 @@ static void process() {
|
|||
}
|
||||
if (v3Global.opt.debugExitUvm()) {
|
||||
V3Error::abortIfErrors();
|
||||
if (v3Global.opt.serializeOnly()) V3EmitXml::emitxml();
|
||||
if (v3Global.opt.serializeOnly()) emitXmlOrJson();
|
||||
cout << "--debug-exit-uvm: Exiting after UVM-supported pass\n";
|
||||
std::exit(0);
|
||||
}
|
||||
|
@ -576,11 +589,13 @@ static void process() {
|
|||
}
|
||||
{
|
||||
const V3MtDisabledLockGuard mtDisabler{v3MtDisabledLock()};
|
||||
if (v3Global.opt.serializeOnly()
|
||||
// Check XML when debugging to make sure no missing node types
|
||||
|| (v3Global.opt.debugCheck() && !v3Global.opt.lintOnly()
|
||||
&& !v3Global.opt.dpiHdrOnly())) {
|
||||
if (v3Global.opt.serializeOnly()) {
|
||||
emitXmlOrJson();
|
||||
} else if (v3Global.opt.debugCheck() && !v3Global.opt.lintOnly()
|
||||
&& !v3Global.opt.dpiHdrOnly()) {
|
||||
// Check XML/JSON when debugging to make sure no missing node types
|
||||
V3EmitXml::emitxml();
|
||||
emitJson();
|
||||
}
|
||||
|
||||
// Output DPI protected library files
|
||||
|
@ -684,6 +699,13 @@ static void verilate(const string& argString) {
|
|||
|
||||
// Final steps
|
||||
V3Global::dumpCheckGlobalTree("final", 990, dumpTreeEitherLevel() >= 3);
|
||||
if (v3Global.opt.jsonOnly()) {
|
||||
const string filename
|
||||
= (v3Global.opt.jsonOnlyMetaOutput().empty()
|
||||
? v3Global.opt.makeDir() + "/" + v3Global.opt.prefix() + ".tree.meta.json"
|
||||
: v3Global.opt.jsonOnlyMetaOutput());
|
||||
v3Global.rootp()->dumpJsonMetaFile(filename);
|
||||
}
|
||||
|
||||
V3Error::abortIfErrors();
|
||||
|
||||
|
|
25
src/astgen
25
src/astgen
|
@ -1020,6 +1020,29 @@ def write_ast_impl(filename):
|
|||
|
||||
emitBlock("}}\n")
|
||||
|
||||
emitBlock("void Ast{t}::dumpJsonGen(std::ostream& str) const {{\n",
|
||||
t=node.name)
|
||||
if node.superClass.name != 'Node':
|
||||
emitBlock(" Ast{base}::dumpJson(str);\n",
|
||||
base=node.superClass.name)
|
||||
for ptr in node.ptrs:
|
||||
emitBlock(" dumpJsonPtr(str, \"{name}\", m_{name});\n",
|
||||
name=ptr['name'])
|
||||
emitBlock("}}\n")
|
||||
|
||||
emitBlock(
|
||||
"void Ast{t}::dumpTreeJsonOpGen(std::ostream& str, const string& indent) const {{\n",
|
||||
t=node.name)
|
||||
for i in range(1, 5):
|
||||
op = node.getOp(i)
|
||||
if op is None:
|
||||
continue
|
||||
name, _, _ = op
|
||||
emitBlock(
|
||||
" dumpNodeListJson(str, {name}(), \"{name}\", indent);\n",
|
||||
name=name)
|
||||
emitBlock("}}\n")
|
||||
|
||||
|
||||
def write_ast_macros(filename):
|
||||
with open_file(filename) as fh:
|
||||
|
@ -1066,6 +1089,8 @@ def write_ast_macros(filename):
|
|||
Ast{t}* addNext(Ast{t}* nodep) {{ return static_cast<Ast{t}*>(AstNode::addNext(this, nodep)); }}
|
||||
const char* brokenGen() const override;
|
||||
void cloneRelinkGen() override;
|
||||
void dumpTreeJsonOpGen(std::ostream& str, const string& indent) const override;
|
||||
void dumpJsonGen(std::ostream& str) const;
|
||||
''',
|
||||
t=node.name)
|
||||
|
||||
|
|
|
@ -2527,6 +2527,7 @@ sub file_grep {
|
|||
} elsif (defined($expvalue) && $expvalue ne $1) {
|
||||
$self->error("File_grep: $filename: Got='$1' Expected='$expvalue' in regexp: $regexp\n");
|
||||
}
|
||||
return @{^CAPTURE};
|
||||
}
|
||||
|
||||
sub file_grep_count {
|
||||
|
|
|
@ -0,0 +1,658 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"UNLINKED","stdPackagep":"UNLINKED","evalp":"(E)","evalNbap":"(F)","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"(G)",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"$root","addr":"(H)","loc":"e,72:8,72:9","origName":"$root","level":1,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"clk0","addr":"(I)","loc":"e,74:16,74:20","dtypep":"(J)","origName":"clk0","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":true,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"clker","lifetime":"NONE","varType":"PORT","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"clk1","addr":"(K)","loc":"e,75:16,75:20","dtypep":"(J)","origName":"clk1","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":true,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"clker","lifetime":"NONE","varType":"PORT","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"clk2","addr":"(L)","loc":"e,76:16,76:20","dtypep":"(J)","origName":"clk2","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"clker","lifetime":"NONE","varType":"PORT","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"data_in","addr":"(M)","loc":"e,82:16,82:23","dtypep":"(J)","origName":"data_in","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.t2.t1.some_module.some_state","addr":"(N)","loc":"e,11:27,11:37","dtypep":"(O)","origName":"some_state","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"VAR","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.t2.t1.some_module.some_other_state","addr":"(P)","loc":"e,12:27,12:43","dtypep":"(O)","origName":"some_other_state","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"VAR","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__Vtrigprevexpr___TOP__clk1__0","addr":"(Q)","loc":"e,72:8,72:9","dtypep":"(J)","origName":"__Vtrigprevexpr___TOP__clk1__0","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactContinue","addr":"(R)","loc":"e,72:8,72:9","dtypep":"(S)","origName":"__VactContinue","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactIterCount","addr":"(T)","loc":"e,72:8,72:9","dtypep":"(U)","origName":"__VactIterCount","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactTriggered","addr":"(V)","loc":"e,72:8,72:9","dtypep":"(W)","origName":"__VactTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VnbaTriggered","addr":"(X)","loc":"e,72:8,72:9","dtypep":"(W)","origName":"__VnbaTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"TOPSCOPE","name":"","addr":"(G)","loc":"e,72:8,72:9","senTreesp": [],
|
||||
"scopep": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(Y)","loc":"e,72:8,72:9","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(H)","varsp": [],"blocksp": []}
|
||||
]},
|
||||
{"type":"CFUNC","name":"_eval_static","addr":"(Z)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial","addr":"(AB)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(BB)","loc":"e,72:8,72:9",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(CB)","loc":"e,72:8,72:9","dtypep":"(DB)","funcName":"_eval_initial__TOP","funcp":"(EB)","argsp": []}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(FB)","loc":"e,14:21,14:26","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"clk1","addr":"(HB)","loc":"e,14:21,14:26","dtypep":"(GB)","access":"RD","varp":"(K)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk1__0","addr":"(IB)","loc":"e,14:21,14:26","dtypep":"(GB)","access":"WR","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial__TOP","addr":"(EB)","loc":"e,72:8,72:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"DISPLAY","name":"","addr":"(JB)","loc":"e,100:7,100:13",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"*-* All Finished *-*\\n","addr":"(KB)","loc":"e,100:7,100:13","dtypep":"(LB)","exprsp": [],"scopeNamep": []}
|
||||
],"filep": []},
|
||||
{"type":"FINISH","name":"","addr":"(MB)","loc":"e,101:7,101:14"}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_final","addr":"(NB)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_settle","addr":"(OB)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_triggers__act","addr":"(PB)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(QB)","loc":"e,72:8,72:9",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"set","addr":"(RB)","loc":"e,72:8,72:9","dtypep":"(DB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(SB)","loc":"e,72:8,72:9","dtypep":"(GB)","access":"WR","varp":"(V)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(TB)","loc":"e,72:8,72:9","dtypep":"(UB)"},
|
||||
{"type":"AND","name":"","addr":"(VB)","loc":"e,14:13,14:20","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(WB)","loc":"e,14:21,14:26","dtypep":"(GB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk1","addr":"(XB)","loc":"e,14:21,14:26","dtypep":"(GB)","access":"RD","varp":"(K)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(YB)","loc":"e,14:13,14:20","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(ZB)","loc":"e,14:13,14:20","dtypep":"(GB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk1__0","addr":"(AC)","loc":"e,14:13,14:20","dtypep":"(GB)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(BC)","loc":"e,14:21,14:26","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"clk1","addr":"(CC)","loc":"e,14:21,14:26","dtypep":"(GB)","access":"RD","varp":"(K)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk1__0","addr":"(DC)","loc":"e,14:21,14:26","dtypep":"(GB)","access":"WR","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(EC)","loc":"e,72:8,72:9","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(FC)","loc":"e,72:8,72:9","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"TEXT","name":"","addr":"(GC)","loc":"e,72:8,72:9","shortText":"if (VL_UNLIKELY(vlSymsp->_vm_contextp__->debug())) {..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(HC)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(IC)","loc":"a,0:0,0:0","dtypep":"(DB)","funcName":"_dump_triggers__act","funcp":"(JC)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(KC)","loc":"e,72:8,72:9","shortText":"}..."},
|
||||
{"type":"TEXT","name":"","addr":"(LC)","loc":"e,72:8,72:9","shortText":"#endif..."}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_dump_triggers__act","addr":"(JC)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(MC)","loc":"e,72:8,72:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(NC)","loc":"e,72:8,72:9","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(OC)","loc":"e,72:8,72:9","dtypep":"(UB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(PC)","loc":"e,72:8,72:9","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(QC)","loc":"e,72:8,72:9","dtypep":"(GB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(RC)","loc":"e,72:8,72:9","dtypep":"(GB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(SC)","loc":"e,72:8,72:9","dtypep":"(GB)","access":"RD","varp":"(V)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(TC)","loc":"e,72:8,72:9","shortText":"VL_DBG_MSGF(\" No triggers active\\n\");..."}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(UC)","loc":"e,72:8,72:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(VC)","loc":"e,72:8,72:9","dtypep":"(WC)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(XC)","loc":"e,72:8,72:9","dtypep":"(WC)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(YC)","loc":"e,72:8,72:9","dtypep":"(ZC)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(AD)","loc":"e,72:8,72:9","dtypep":"(GB)","access":"RD","varp":"(V)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(BD)","loc":"e,72:8,72:9","dtypep":"(UB)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(CD)","loc":"e,72:8,72:9","shortText":"VL_DBG_MSGF(\" 'act' region trigger index 0 is active: @(posedge clk1)\\n\");..."}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_dump_triggers__nba","addr":"(DD)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(ED)","loc":"e,72:8,72:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(FD)","loc":"e,72:8,72:9","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(GD)","loc":"e,72:8,72:9","dtypep":"(UB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(HD)","loc":"e,72:8,72:9","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(ID)","loc":"e,72:8,72:9","dtypep":"(GB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(JD)","loc":"e,72:8,72:9","dtypep":"(GB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(KD)","loc":"e,72:8,72:9","dtypep":"(GB)","access":"RD","varp":"(X)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(LD)","loc":"e,72:8,72:9","shortText":"VL_DBG_MSGF(\" No triggers active\\n\");..."}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(MD)","loc":"e,72:8,72:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(ND)","loc":"e,72:8,72:9","dtypep":"(WC)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(OD)","loc":"e,72:8,72:9","dtypep":"(WC)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(PD)","loc":"e,72:8,72:9","dtypep":"(ZC)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(QD)","loc":"e,72:8,72:9","dtypep":"(GB)","access":"RD","varp":"(X)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(RD)","loc":"e,72:8,72:9","dtypep":"(UB)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(SD)","loc":"e,72:8,72:9","shortText":"VL_DBG_MSGF(\" 'nba' region trigger index 0 is active: @(posedge clk1)\\n\");..."}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_act","addr":"(TD)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_nba_sequent__TOP__0","addr":"(UD)","loc":"e,18:13,18:23","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(VD)","loc":"e,16:14,16:15",
|
||||
"condp": [
|
||||
{"type":"EQ","name":"","addr":"(WD)","loc":"e,16:14,16:15","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"2'h3","addr":"(XD)","loc":"e,16:9,16:14","dtypep":"(YD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(ZD)","loc":"e,15:13,15:23","dtypep":"(YD)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.t2.t1.some_module.some_state","addr":"(AE)","loc":"e,15:13,15:23","dtypep":"(YD)","access":"RD","varp":"(N)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"IF","name":"","addr":"(BE)","loc":"e,17:11,17:13",
|
||||
"condp": [
|
||||
{"type":"EQ","name":"","addr":"(CE)","loc":"e,17:32,17:34","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"2'h0","addr":"(DE)","loc":"e,17:35,17:36","dtypep":"(YD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(EE)","loc":"e,17:15,17:31","dtypep":"(YD)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.t2.t1.some_module.some_other_state","addr":"(FE)","loc":"e,17:15,17:31","dtypep":"(YD)","access":"RD","varp":"(P)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGNDLY","name":"","addr":"(GE)","loc":"e,18:24,18:26","dtypep":"(YD)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"2'h0","addr":"(HE)","loc":"e,18:27,18:32","dtypep":"(YD)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.t2.t1.some_module.some_state","addr":"(IE)","loc":"e,18:13,18:23","dtypep":"(YD)","access":"WR","varp":"(N)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],
|
||||
"elsesp": [
|
||||
{"type":"DISPLAY","name":"","addr":"(JE)","loc":"e,20:11,20:19",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"This is a display statement","addr":"(KE)","loc":"e,20:11,20:19","dtypep":"(LB)","exprsp": [],"scopeNamep": []}
|
||||
],"filep": []}
|
||||
]},
|
||||
{"type":"IF","name":"","addr":"(LE)","loc":"e,23:7,23:9",
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"clk1","addr":"(ME)","loc":"e,23:11,23:16","dtypep":"(GB)","access":"RD","varp":"(K)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGNDLY","name":"","addr":"(NE)","loc":"e,24:26,24:28","dtypep":"(YD)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"2'h0","addr":"(OE)","loc":"e,24:29,24:30","dtypep":"(YD)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.t2.t1.some_module.some_other_state","addr":"(PE)","loc":"e,24:9,24:25","dtypep":"(YD)","access":"WR","varp":"(P)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_nba","addr":"(F)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(QE)","loc":"e,72:8,72:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(RE)","loc":"e,72:8,72:9","dtypep":"(WC)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(SE)","loc":"e,72:8,72:9","dtypep":"(WC)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(TE)","loc":"e,72:8,72:9","dtypep":"(ZC)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(UE)","loc":"e,72:8,72:9","dtypep":"(GB)","access":"RD","varp":"(X)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(VE)","loc":"e,72:8,72:9","dtypep":"(UB)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(WE)","loc":"e,18:13,18:23",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(XE)","loc":"e,18:13,18:23","dtypep":"(DB)","funcName":"_nba_sequent__TOP__0","funcp":"(UD)","argsp": []}
|
||||
]}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_phase__act","addr":"(YE)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VpreTriggered","addr":"(ZE)","loc":"e,72:8,72:9","dtypep":"(W)","origName":"__VpreTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactExecute","addr":"(AF)","loc":"e,72:8,72:9","dtypep":"(S)","origName":"__VactExecute","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(BF)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(CF)","loc":"a,0:0,0:0","dtypep":"(DB)","funcName":"_eval_triggers__act","funcp":"(PB)","argsp": []}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(DF)","loc":"a,0:0,0:0","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(EF)","loc":"a,0:0,0:0","dtypep":"(GB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(FF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(V)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(GF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"WR","varp":"(AF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(HF)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(IF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(AF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(JF)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"andNot","addr":"(KF)","loc":"a,0:0,0:0","dtypep":"(DB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VpreTriggered","addr":"(LF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"WR","varp":"(ZE)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(MF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(V)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"},
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(NF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(X)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(OF)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"thisOr","addr":"(PF)","loc":"a,0:0,0:0","dtypep":"(DB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(QF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"WR","varp":"(X)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(RF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(V)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(SF)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(TF)","loc":"a,0:0,0:0","dtypep":"(DB)","funcName":"_eval_act","funcp":"(TD)","argsp": []}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"CRETURN","name":"","addr":"(UF)","loc":"a,0:0,0:0",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(VF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(AF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_phase__nba","addr":"(WF)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VnbaExecute","addr":"(XF)","loc":"e,72:8,72:9","dtypep":"(S)","origName":"__VnbaExecute","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(YF)","loc":"a,0:0,0:0","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(ZF)","loc":"a,0:0,0:0","dtypep":"(GB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(AG)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(X)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(BG)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"WR","varp":"(XF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(CG)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(DG)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(XF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(EG)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(FG)","loc":"a,0:0,0:0","dtypep":"(DB)","funcName":"_eval_nba","funcp":"(F)","argsp": []}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(GG)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"clear","addr":"(HG)","loc":"a,0:0,0:0","dtypep":"(DB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(IG)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"WR","varp":"(X)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"CRETURN","name":"","addr":"(JG)","loc":"a,0:0,0:0",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(KG)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(XF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval","addr":"(E)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VnbaIterCount","addr":"(LG)","loc":"e,72:8,72:9","dtypep":"(U)","origName":"__VnbaIterCount","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VnbaContinue","addr":"(MG)","loc":"e,72:8,72:9","dtypep":"(S)","origName":"__VnbaContinue","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(NG)","loc":"e,72:8,72:9","dtypep":"(U)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(OG)","loc":"e,72:8,72:9","dtypep":"(UB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(PG)","loc":"e,72:8,72:9","dtypep":"(U)","access":"WR","varp":"(LG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(QG)","loc":"e,72:8,72:9","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(RG)","loc":"e,72:8,72:9","dtypep":"(GB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(SG)","loc":"e,72:8,72:9","dtypep":"(GB)","access":"WR","varp":"(MG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"WHILE","name":"","addr":"(TG)","loc":"a,0:0,0:0","precondsp": [],
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(UG)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(MG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(VG)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"LT","name":"","addr":"(WG)","loc":"a,0:0,0:0","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h64","addr":"(XG)","loc":"a,0:0,0:0","dtypep":"(UB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(YG)","loc":"a,0:0,0:0","dtypep":"(U)","access":"RD","varp":"(LG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(ZG)","loc":"a,0:0,0:0","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(AH)","loc":"a,0:0,0:0","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(BH)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(CH)","loc":"a,0:0,0:0","dtypep":"(DB)","funcName":"_dump_triggers__nba","funcp":"(DD)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(DH)","loc":"a,0:0,0:0","shortText":"#endif..."},
|
||||
{"type":"TEXT","name":"","addr":"(EH)","loc":"a,0:0,0:0","shortText":"VL_FATAL_MT(\"t/t_clk_concat.v\", 72, \"\", "},
|
||||
{"type":"TEXT","name":"","addr":"(FH)","loc":"a,0:0,0:0","shortText":"\"NBA region did not converge.\");..."}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(GH)","loc":"e,72:8,72:9","dtypep":"(U)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(HH)","loc":"e,72:8,72:9","dtypep":"(U)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(IH)","loc":"e,72:8,72:9","dtypep":"(UB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(JH)","loc":"e,72:8,72:9","dtypep":"(UB)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(KH)","loc":"e,72:8,72:9","dtypep":"(U)","access":"RD","varp":"(LG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(LH)","loc":"e,72:8,72:9","dtypep":"(U)","access":"WR","varp":"(LG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(MH)","loc":"e,72:8,72:9","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h0","addr":"(NH)","loc":"e,72:8,72:9","dtypep":"(GB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(OH)","loc":"e,72:8,72:9","dtypep":"(GB)","access":"WR","varp":"(MG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(PH)","loc":"e,72:8,72:9","dtypep":"(U)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(QH)","loc":"e,72:8,72:9","dtypep":"(UB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(RH)","loc":"e,72:8,72:9","dtypep":"(U)","access":"WR","varp":"(T)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(SH)","loc":"e,72:8,72:9","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(TH)","loc":"e,72:8,72:9","dtypep":"(GB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(UH)","loc":"e,72:8,72:9","dtypep":"(GB)","access":"WR","varp":"(R)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"WHILE","name":"","addr":"(VH)","loc":"a,0:0,0:0","precondsp": [],
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(WH)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(R)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(XH)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"LT","name":"","addr":"(YH)","loc":"a,0:0,0:0","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h64","addr":"(ZH)","loc":"a,0:0,0:0","dtypep":"(UB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(AI)","loc":"a,0:0,0:0","dtypep":"(U)","access":"RD","varp":"(T)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(BI)","loc":"a,0:0,0:0","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(CI)","loc":"a,0:0,0:0","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(DI)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(EI)","loc":"a,0:0,0:0","dtypep":"(DB)","funcName":"_dump_triggers__act","funcp":"(JC)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(FI)","loc":"a,0:0,0:0","shortText":"#endif..."},
|
||||
{"type":"TEXT","name":"","addr":"(GI)","loc":"a,0:0,0:0","shortText":"VL_FATAL_MT(\"t/t_clk_concat.v\", 72, \"\", "},
|
||||
{"type":"TEXT","name":"","addr":"(HI)","loc":"a,0:0,0:0","shortText":"\"Active region did not converge.\");..."}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(II)","loc":"e,72:8,72:9","dtypep":"(U)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(JI)","loc":"e,72:8,72:9","dtypep":"(U)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(KI)","loc":"e,72:8,72:9","dtypep":"(UB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(LI)","loc":"e,72:8,72:9","dtypep":"(UB)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(MI)","loc":"e,72:8,72:9","dtypep":"(U)","access":"RD","varp":"(T)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(NI)","loc":"e,72:8,72:9","dtypep":"(U)","access":"WR","varp":"(T)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(OI)","loc":"e,72:8,72:9","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h0","addr":"(PI)","loc":"e,72:8,72:9","dtypep":"(GB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(QI)","loc":"e,72:8,72:9","dtypep":"(GB)","access":"WR","varp":"(R)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(RI)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"CCALL","name":"","addr":"(SI)","loc":"a,0:0,0:0","dtypep":"(GB)","funcName":"_eval_phase__act","funcp":"(YE)","argsp": []}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(TI)","loc":"e,72:8,72:9","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(UI)","loc":"e,72:8,72:9","dtypep":"(GB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(VI)","loc":"e,72:8,72:9","dtypep":"(GB)","access":"WR","varp":"(R)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],"incsp": []},
|
||||
{"type":"IF","name":"","addr":"(WI)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"CCALL","name":"","addr":"(XI)","loc":"a,0:0,0:0","dtypep":"(GB)","funcName":"_eval_phase__nba","funcp":"(WF)","argsp": []}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(YI)","loc":"e,72:8,72:9","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(ZI)","loc":"e,72:8,72:9","dtypep":"(GB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(AJ)","loc":"e,72:8,72:9","dtypep":"(GB)","access":"WR","varp":"(MG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],"incsp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_debug_assertions","addr":"(BJ)","loc":"e,72:8,72:9","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(CJ)","loc":"e,74:16,74:20",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(DJ)","loc":"e,74:16,74:20","dtypep":"(J)",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk0","addr":"(EJ)","loc":"e,74:16,74:20","dtypep":"(J)","access":"RD","varp":"(I)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"8'hfe","addr":"(FJ)","loc":"e,74:16,74:20","dtypep":"(GJ)"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"CSTMT","name":"","addr":"(HJ)","loc":"e,74:16,74:20",
|
||||
"exprsp": [
|
||||
{"type":"TEXT","name":"","addr":"(IJ)","loc":"e,74:16,74:20","shortText":"Verilated::overWidthError(\"clk0\");"}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(JJ)","loc":"e,75:16,75:20",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(KJ)","loc":"e,75:16,75:20","dtypep":"(J)",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk1","addr":"(LJ)","loc":"e,75:16,75:20","dtypep":"(J)","access":"RD","varp":"(K)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"8'hfe","addr":"(MJ)","loc":"e,75:16,75:20","dtypep":"(GJ)"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"CSTMT","name":"","addr":"(NJ)","loc":"e,75:16,75:20",
|
||||
"exprsp": [
|
||||
{"type":"TEXT","name":"","addr":"(OJ)","loc":"e,75:16,75:20","shortText":"Verilated::overWidthError(\"clk1\");"}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(PJ)","loc":"e,76:16,76:20",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(QJ)","loc":"e,76:16,76:20","dtypep":"(J)",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk2","addr":"(RJ)","loc":"e,76:16,76:20","dtypep":"(J)","access":"RD","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"8'hfe","addr":"(SJ)","loc":"e,76:16,76:20","dtypep":"(GJ)"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"CSTMT","name":"","addr":"(TJ)","loc":"e,76:16,76:20",
|
||||
"exprsp": [
|
||||
{"type":"TEXT","name":"","addr":"(UJ)","loc":"e,76:16,76:20","shortText":"Verilated::overWidthError(\"clk2\");"}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(VJ)","loc":"e,82:16,82:23",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(WJ)","loc":"e,82:16,82:23","dtypep":"(J)",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"data_in","addr":"(XJ)","loc":"e,82:16,82:23","dtypep":"(J)","access":"RD","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"8'hfe","addr":"(YJ)","loc":"e,82:16,82:23","dtypep":"(GJ)"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"CSTMT","name":"","addr":"(ZJ)","loc":"e,82:16,82:23",
|
||||
"exprsp": [
|
||||
{"type":"TEXT","name":"","addr":"(AK)","loc":"e,82:16,82:23","shortText":"Verilated::overWidthError(\"data_in\");"}
|
||||
]}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(BK)","loc":"e,72:8,72:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CRESET","name":"","addr":"(CK)","loc":"e,74:16,74:20",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"clk0","addr":"(DK)","loc":"e,74:16,74:20","dtypep":"(J)","access":"WR","varp":"(I)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(EK)","loc":"e,75:16,75:20",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"clk1","addr":"(FK)","loc":"e,75:16,75:20","dtypep":"(J)","access":"WR","varp":"(K)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(GK)","loc":"e,76:16,76:20",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"clk2","addr":"(HK)","loc":"e,76:16,76:20","dtypep":"(J)","access":"WR","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(IK)","loc":"e,82:16,82:23",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"data_in","addr":"(JK)","loc":"e,82:16,82:23","dtypep":"(J)","access":"WR","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(KK)","loc":"e,11:27,11:37",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"t.t2.t1.some_module.some_state","addr":"(LK)","loc":"e,11:27,11:37","dtypep":"(O)","access":"WR","varp":"(N)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(MK)","loc":"e,12:27,12:43",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"t.t2.t1.some_module.some_other_state","addr":"(NK)","loc":"e,12:27,12:43","dtypep":"(O)","access":"WR","varp":"(P)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(OK)","loc":"e,72:8,72:9",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk1__0","addr":"(PK)","loc":"e,72:8,72:9","dtypep":"(J)","access":"WR","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []}
|
||||
],"activesp": []}
|
||||
],
|
||||
"filesp": [
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat/Vt_clk_concat__Syms.cpp","addr":"(QK)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat/Vt_clk_concat__Syms.h","addr":"(RK)","loc":"a,0:0,0:0","source":false,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat/Vt_clk_concat.h","addr":"(SK)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat/Vt_clk_concat.cpp","addr":"(TK)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat/Vt_clk_concat_$root.h","addr":"(UK)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat/Vt_clk_concat_$root__Slow.cpp","addr":"(VK)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat/Vt_clk_concat_$root__DepSet_hb3f528eb__0__Slow.cpp","addr":"(WK)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat/Vt_clk_concat_$root__DepSet_h381ee88c__0.cpp","addr":"(XK)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat/Vt_clk_concat_$root__DepSet_hb3f528eb__0.cpp","addr":"(YK)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []}
|
||||
],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(DB)",
|
||||
"typesp": [
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(J)","loc":"d,50:22,50:24","dtypep":"(J)","keyword":"logic","generic":true,"rangep": []},
|
||||
{"type":"VOIDDTYPE","name":"","addr":"(DB)","loc":"d,51:21,51:30","dtypep":"(DB)","generic":false},
|
||||
{"type":"BASICDTYPE","name":"string","addr":"(LB)","loc":"d,156:10,156:16","dtypep":"(LB)","keyword":"string","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(O)","loc":"e,16:9,16:14","dtypep":"(O)","keyword":"logic","range":"1:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"VlTriggerVec","addr":"(W)","loc":"e,72:8,72:9","dtypep":"(W)","keyword":"VlTriggerVec","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(UB)","loc":"e,72:8,72:9","dtypep":"(UB)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"QData","addr":"(ZC)","loc":"e,72:8,72:9","dtypep":"(ZC)","keyword":"QData","range":"63:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(WC)","loc":"e,72:8,72:9","dtypep":"(WC)","keyword":"logic","range":"63:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"bit","addr":"(S)","loc":"e,72:8,72:9","dtypep":"(S)","keyword":"bit","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"bit","addr":"(U)","loc":"e,72:8,72:9","dtypep":"(U)","keyword":"bit","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(GB)","loc":"e,14:21,14:26","dtypep":"(GB)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(YD)","loc":"e,16:9,16:14","dtypep":"(YD)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(GJ)","loc":"e,74:16,74:20","dtypep":"(GJ)","keyword":"logic","range":"7:0","generic":true,"rangep": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(ZK)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(AL)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(ZK)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -10,16 +10,16 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
|
||||
scenarios(simulator => 1);
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ["+define+ATTRIBUTES"],
|
||||
verilator_flags2 => ["+define+ATTRIBUTES --no-json-edit-nums"],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep("$out_filename", qr/\<var loc="e,74,.*?" name="clk0" .*dir="input" .*vartype="logic" origName="clk0" clocker="true" public="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="e,75,.*?" name="clk1" .*dir="input" .*vartype="logic" origName="clk1" clocker="true" public="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="e,76,.*?" name="clk2" .*dir="input" .*vartype="logic" origName="clk2" clocker="true" public="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"clk0",.*"loc":"e,74:[^"]*",.*"origName":"clk0",.*"direction":"INPUT",.*"isSigPublic":true,.*"attrClocker":"clker",.*"varType":"PORT",.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"clk1",.*"loc":"e,75:[^"]*",.*"origName":"clk1",.*"direction":"INPUT",.*"isSigPublic":true,.*"attrClocker":"clker",.*"varType":"PORT",.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"clk2",.*"loc":"e,76:[^"]*",.*"origName":"clk2",.*"direction":"INPUT",.*"isSigPublic":true,.*"attrClocker":"clker",.*"varType":"PORT",.*"dtypeName":"logic"/);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
|
@ -0,0 +1,658 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"UNLINKED","stdPackagep":"UNLINKED","evalp":"(E)","evalNbap":"(F)","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"(G)",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"$root","addr":"(H)","loc":"f,72:8,72:9","origName":"$root","level":1,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"clk0","addr":"(I)","loc":"f,78:16,78:20","dtypep":"(J)","origName":"clk0","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":true,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"clker","lifetime":"NONE","varType":"PORT","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"clk1","addr":"(K)","loc":"f,79:16,79:20","dtypep":"(J)","origName":"clk1","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":true,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"clker","lifetime":"NONE","varType":"PORT","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"clk2","addr":"(L)","loc":"f,80:16,80:20","dtypep":"(J)","origName":"clk2","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"clker","lifetime":"NONE","varType":"PORT","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"data_in","addr":"(M)","loc":"f,82:16,82:23","dtypep":"(J)","origName":"data_in","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"non_clker","lifetime":"NONE","varType":"PORT","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.t2.t1.some_module.some_state","addr":"(N)","loc":"f,11:27,11:37","dtypep":"(O)","origName":"some_state","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"VAR","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.t2.t1.some_module.some_other_state","addr":"(P)","loc":"f,12:27,12:43","dtypep":"(O)","origName":"some_other_state","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"VAR","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__Vtrigprevexpr___TOP__clk1__0","addr":"(Q)","loc":"f,72:8,72:9","dtypep":"(J)","origName":"__Vtrigprevexpr___TOP__clk1__0","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactContinue","addr":"(R)","loc":"f,72:8,72:9","dtypep":"(S)","origName":"__VactContinue","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactIterCount","addr":"(T)","loc":"f,72:8,72:9","dtypep":"(U)","origName":"__VactIterCount","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactTriggered","addr":"(V)","loc":"f,72:8,72:9","dtypep":"(W)","origName":"__VactTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VnbaTriggered","addr":"(X)","loc":"f,72:8,72:9","dtypep":"(W)","origName":"__VnbaTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"TOPSCOPE","name":"","addr":"(G)","loc":"f,72:8,72:9","senTreesp": [],
|
||||
"scopep": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(Y)","loc":"f,72:8,72:9","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(H)","varsp": [],"blocksp": []}
|
||||
]},
|
||||
{"type":"CFUNC","name":"_eval_static","addr":"(Z)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial","addr":"(AB)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(BB)","loc":"f,72:8,72:9",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(CB)","loc":"f,72:8,72:9","dtypep":"(DB)","funcName":"_eval_initial__TOP","funcp":"(EB)","argsp": []}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(FB)","loc":"f,14:21,14:26","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"clk1","addr":"(HB)","loc":"f,14:21,14:26","dtypep":"(GB)","access":"RD","varp":"(K)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk1__0","addr":"(IB)","loc":"f,14:21,14:26","dtypep":"(GB)","access":"WR","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial__TOP","addr":"(EB)","loc":"f,72:8,72:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"DISPLAY","name":"","addr":"(JB)","loc":"f,100:7,100:13",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"*-* All Finished *-*\\n","addr":"(KB)","loc":"f,100:7,100:13","dtypep":"(LB)","exprsp": [],"scopeNamep": []}
|
||||
],"filep": []},
|
||||
{"type":"FINISH","name":"","addr":"(MB)","loc":"f,101:7,101:14"}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_final","addr":"(NB)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_settle","addr":"(OB)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_triggers__act","addr":"(PB)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(QB)","loc":"f,72:8,72:9",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"set","addr":"(RB)","loc":"f,72:8,72:9","dtypep":"(DB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(SB)","loc":"f,72:8,72:9","dtypep":"(GB)","access":"WR","varp":"(V)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(TB)","loc":"f,72:8,72:9","dtypep":"(UB)"},
|
||||
{"type":"AND","name":"","addr":"(VB)","loc":"f,14:13,14:20","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(WB)","loc":"f,14:21,14:26","dtypep":"(GB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk1","addr":"(XB)","loc":"f,14:21,14:26","dtypep":"(GB)","access":"RD","varp":"(K)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(YB)","loc":"f,14:13,14:20","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(ZB)","loc":"f,14:13,14:20","dtypep":"(GB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk1__0","addr":"(AC)","loc":"f,14:13,14:20","dtypep":"(GB)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(BC)","loc":"f,14:21,14:26","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"clk1","addr":"(CC)","loc":"f,14:21,14:26","dtypep":"(GB)","access":"RD","varp":"(K)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk1__0","addr":"(DC)","loc":"f,14:21,14:26","dtypep":"(GB)","access":"WR","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(EC)","loc":"f,72:8,72:9","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(FC)","loc":"f,72:8,72:9","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"TEXT","name":"","addr":"(GC)","loc":"f,72:8,72:9","shortText":"if (VL_UNLIKELY(vlSymsp->_vm_contextp__->debug())) {..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(HC)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(IC)","loc":"a,0:0,0:0","dtypep":"(DB)","funcName":"_dump_triggers__act","funcp":"(JC)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(KC)","loc":"f,72:8,72:9","shortText":"}..."},
|
||||
{"type":"TEXT","name":"","addr":"(LC)","loc":"f,72:8,72:9","shortText":"#endif..."}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_dump_triggers__act","addr":"(JC)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(MC)","loc":"f,72:8,72:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(NC)","loc":"f,72:8,72:9","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(OC)","loc":"f,72:8,72:9","dtypep":"(UB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(PC)","loc":"f,72:8,72:9","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(QC)","loc":"f,72:8,72:9","dtypep":"(GB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(RC)","loc":"f,72:8,72:9","dtypep":"(GB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(SC)","loc":"f,72:8,72:9","dtypep":"(GB)","access":"RD","varp":"(V)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(TC)","loc":"f,72:8,72:9","shortText":"VL_DBG_MSGF(\" No triggers active\\n\");..."}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(UC)","loc":"f,72:8,72:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(VC)","loc":"f,72:8,72:9","dtypep":"(WC)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(XC)","loc":"f,72:8,72:9","dtypep":"(WC)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(YC)","loc":"f,72:8,72:9","dtypep":"(ZC)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(AD)","loc":"f,72:8,72:9","dtypep":"(GB)","access":"RD","varp":"(V)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(BD)","loc":"f,72:8,72:9","dtypep":"(UB)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(CD)","loc":"f,72:8,72:9","shortText":"VL_DBG_MSGF(\" 'act' region trigger index 0 is active: @(posedge clk1)\\n\");..."}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_dump_triggers__nba","addr":"(DD)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(ED)","loc":"f,72:8,72:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(FD)","loc":"f,72:8,72:9","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(GD)","loc":"f,72:8,72:9","dtypep":"(UB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(HD)","loc":"f,72:8,72:9","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(ID)","loc":"f,72:8,72:9","dtypep":"(GB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(JD)","loc":"f,72:8,72:9","dtypep":"(GB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(KD)","loc":"f,72:8,72:9","dtypep":"(GB)","access":"RD","varp":"(X)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(LD)","loc":"f,72:8,72:9","shortText":"VL_DBG_MSGF(\" No triggers active\\n\");..."}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(MD)","loc":"f,72:8,72:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(ND)","loc":"f,72:8,72:9","dtypep":"(WC)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(OD)","loc":"f,72:8,72:9","dtypep":"(WC)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(PD)","loc":"f,72:8,72:9","dtypep":"(ZC)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(QD)","loc":"f,72:8,72:9","dtypep":"(GB)","access":"RD","varp":"(X)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(RD)","loc":"f,72:8,72:9","dtypep":"(UB)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(SD)","loc":"f,72:8,72:9","shortText":"VL_DBG_MSGF(\" 'nba' region trigger index 0 is active: @(posedge clk1)\\n\");..."}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_act","addr":"(TD)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_nba_sequent__TOP__0","addr":"(UD)","loc":"f,18:13,18:23","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(VD)","loc":"f,16:14,16:15",
|
||||
"condp": [
|
||||
{"type":"EQ","name":"","addr":"(WD)","loc":"f,16:14,16:15","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"2'h3","addr":"(XD)","loc":"f,16:9,16:14","dtypep":"(YD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(ZD)","loc":"f,15:13,15:23","dtypep":"(YD)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.t2.t1.some_module.some_state","addr":"(AE)","loc":"f,15:13,15:23","dtypep":"(YD)","access":"RD","varp":"(N)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"IF","name":"","addr":"(BE)","loc":"f,17:11,17:13",
|
||||
"condp": [
|
||||
{"type":"EQ","name":"","addr":"(CE)","loc":"f,17:32,17:34","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"2'h0","addr":"(DE)","loc":"f,17:35,17:36","dtypep":"(YD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(EE)","loc":"f,17:15,17:31","dtypep":"(YD)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.t2.t1.some_module.some_other_state","addr":"(FE)","loc":"f,17:15,17:31","dtypep":"(YD)","access":"RD","varp":"(P)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGNDLY","name":"","addr":"(GE)","loc":"f,18:24,18:26","dtypep":"(YD)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"2'h0","addr":"(HE)","loc":"f,18:27,18:32","dtypep":"(YD)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.t2.t1.some_module.some_state","addr":"(IE)","loc":"f,18:13,18:23","dtypep":"(YD)","access":"WR","varp":"(N)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],
|
||||
"elsesp": [
|
||||
{"type":"DISPLAY","name":"","addr":"(JE)","loc":"f,20:11,20:19",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"This is a display statement","addr":"(KE)","loc":"f,20:11,20:19","dtypep":"(LB)","exprsp": [],"scopeNamep": []}
|
||||
],"filep": []}
|
||||
]},
|
||||
{"type":"IF","name":"","addr":"(LE)","loc":"f,23:7,23:9",
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"clk1","addr":"(ME)","loc":"f,23:11,23:16","dtypep":"(GB)","access":"RD","varp":"(K)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGNDLY","name":"","addr":"(NE)","loc":"f,24:26,24:28","dtypep":"(YD)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"2'h0","addr":"(OE)","loc":"f,24:29,24:30","dtypep":"(YD)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.t2.t1.some_module.some_other_state","addr":"(PE)","loc":"f,24:9,24:25","dtypep":"(YD)","access":"WR","varp":"(P)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_nba","addr":"(F)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(QE)","loc":"f,72:8,72:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(RE)","loc":"f,72:8,72:9","dtypep":"(WC)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(SE)","loc":"f,72:8,72:9","dtypep":"(WC)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(TE)","loc":"f,72:8,72:9","dtypep":"(ZC)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(UE)","loc":"f,72:8,72:9","dtypep":"(GB)","access":"RD","varp":"(X)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(VE)","loc":"f,72:8,72:9","dtypep":"(UB)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(WE)","loc":"f,18:13,18:23",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(XE)","loc":"f,18:13,18:23","dtypep":"(DB)","funcName":"_nba_sequent__TOP__0","funcp":"(UD)","argsp": []}
|
||||
]}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_phase__act","addr":"(YE)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VpreTriggered","addr":"(ZE)","loc":"f,72:8,72:9","dtypep":"(W)","origName":"__VpreTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactExecute","addr":"(AF)","loc":"f,72:8,72:9","dtypep":"(S)","origName":"__VactExecute","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(BF)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(CF)","loc":"a,0:0,0:0","dtypep":"(DB)","funcName":"_eval_triggers__act","funcp":"(PB)","argsp": []}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(DF)","loc":"a,0:0,0:0","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(EF)","loc":"a,0:0,0:0","dtypep":"(GB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(FF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(V)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(GF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"WR","varp":"(AF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(HF)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(IF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(AF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(JF)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"andNot","addr":"(KF)","loc":"a,0:0,0:0","dtypep":"(DB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VpreTriggered","addr":"(LF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"WR","varp":"(ZE)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(MF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(V)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"},
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(NF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(X)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(OF)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"thisOr","addr":"(PF)","loc":"a,0:0,0:0","dtypep":"(DB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(QF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"WR","varp":"(X)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(RF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(V)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(SF)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(TF)","loc":"a,0:0,0:0","dtypep":"(DB)","funcName":"_eval_act","funcp":"(TD)","argsp": []}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"CRETURN","name":"","addr":"(UF)","loc":"a,0:0,0:0",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(VF)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(AF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_phase__nba","addr":"(WF)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VnbaExecute","addr":"(XF)","loc":"f,72:8,72:9","dtypep":"(S)","origName":"__VnbaExecute","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(YF)","loc":"a,0:0,0:0","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(ZF)","loc":"a,0:0,0:0","dtypep":"(GB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(AG)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(X)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(BG)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"WR","varp":"(XF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(CG)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(DG)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(XF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(EG)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(FG)","loc":"a,0:0,0:0","dtypep":"(DB)","funcName":"_eval_nba","funcp":"(F)","argsp": []}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(GG)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"clear","addr":"(HG)","loc":"a,0:0,0:0","dtypep":"(DB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(IG)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"WR","varp":"(X)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"CRETURN","name":"","addr":"(JG)","loc":"a,0:0,0:0",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(KG)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(XF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval","addr":"(E)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(Y)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VnbaIterCount","addr":"(LG)","loc":"f,72:8,72:9","dtypep":"(U)","origName":"__VnbaIterCount","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VnbaContinue","addr":"(MG)","loc":"f,72:8,72:9","dtypep":"(S)","origName":"__VnbaContinue","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(NG)","loc":"f,72:8,72:9","dtypep":"(U)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(OG)","loc":"f,72:8,72:9","dtypep":"(UB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(PG)","loc":"f,72:8,72:9","dtypep":"(U)","access":"WR","varp":"(LG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(QG)","loc":"f,72:8,72:9","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(RG)","loc":"f,72:8,72:9","dtypep":"(GB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(SG)","loc":"f,72:8,72:9","dtypep":"(GB)","access":"WR","varp":"(MG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"WHILE","name":"","addr":"(TG)","loc":"a,0:0,0:0","precondsp": [],
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(UG)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(MG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(VG)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"LT","name":"","addr":"(WG)","loc":"a,0:0,0:0","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h64","addr":"(XG)","loc":"a,0:0,0:0","dtypep":"(UB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(YG)","loc":"a,0:0,0:0","dtypep":"(U)","access":"RD","varp":"(LG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(ZG)","loc":"a,0:0,0:0","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(AH)","loc":"a,0:0,0:0","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(BH)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(CH)","loc":"a,0:0,0:0","dtypep":"(DB)","funcName":"_dump_triggers__nba","funcp":"(DD)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(DH)","loc":"a,0:0,0:0","shortText":"#endif..."},
|
||||
{"type":"TEXT","name":"","addr":"(EH)","loc":"a,0:0,0:0","shortText":"VL_FATAL_MT(\"t/t_clk_concat.v\", 72, \"\", "},
|
||||
{"type":"TEXT","name":"","addr":"(FH)","loc":"a,0:0,0:0","shortText":"\"NBA region did not converge.\");..."}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(GH)","loc":"f,72:8,72:9","dtypep":"(U)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(HH)","loc":"f,72:8,72:9","dtypep":"(U)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(IH)","loc":"f,72:8,72:9","dtypep":"(UB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(JH)","loc":"f,72:8,72:9","dtypep":"(UB)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(KH)","loc":"f,72:8,72:9","dtypep":"(U)","access":"RD","varp":"(LG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(LH)","loc":"f,72:8,72:9","dtypep":"(U)","access":"WR","varp":"(LG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(MH)","loc":"f,72:8,72:9","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h0","addr":"(NH)","loc":"f,72:8,72:9","dtypep":"(GB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(OH)","loc":"f,72:8,72:9","dtypep":"(GB)","access":"WR","varp":"(MG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(PH)","loc":"f,72:8,72:9","dtypep":"(U)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(QH)","loc":"f,72:8,72:9","dtypep":"(UB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(RH)","loc":"f,72:8,72:9","dtypep":"(U)","access":"WR","varp":"(T)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(SH)","loc":"f,72:8,72:9","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(TH)","loc":"f,72:8,72:9","dtypep":"(GB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(UH)","loc":"f,72:8,72:9","dtypep":"(GB)","access":"WR","varp":"(R)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"WHILE","name":"","addr":"(VH)","loc":"a,0:0,0:0","precondsp": [],
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(WH)","loc":"a,0:0,0:0","dtypep":"(GB)","access":"RD","varp":"(R)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(XH)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"LT","name":"","addr":"(YH)","loc":"a,0:0,0:0","dtypep":"(GB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h64","addr":"(ZH)","loc":"a,0:0,0:0","dtypep":"(UB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(AI)","loc":"a,0:0,0:0","dtypep":"(U)","access":"RD","varp":"(T)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(BI)","loc":"a,0:0,0:0","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(CI)","loc":"a,0:0,0:0","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(DI)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(EI)","loc":"a,0:0,0:0","dtypep":"(DB)","funcName":"_dump_triggers__act","funcp":"(JC)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(FI)","loc":"a,0:0,0:0","shortText":"#endif..."},
|
||||
{"type":"TEXT","name":"","addr":"(GI)","loc":"a,0:0,0:0","shortText":"VL_FATAL_MT(\"t/t_clk_concat.v\", 72, \"\", "},
|
||||
{"type":"TEXT","name":"","addr":"(HI)","loc":"a,0:0,0:0","shortText":"\"Active region did not converge.\");..."}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(II)","loc":"f,72:8,72:9","dtypep":"(U)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(JI)","loc":"f,72:8,72:9","dtypep":"(U)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(KI)","loc":"f,72:8,72:9","dtypep":"(UB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(LI)","loc":"f,72:8,72:9","dtypep":"(UB)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(MI)","loc":"f,72:8,72:9","dtypep":"(U)","access":"RD","varp":"(T)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(NI)","loc":"f,72:8,72:9","dtypep":"(U)","access":"WR","varp":"(T)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(OI)","loc":"f,72:8,72:9","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h0","addr":"(PI)","loc":"f,72:8,72:9","dtypep":"(GB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(QI)","loc":"f,72:8,72:9","dtypep":"(GB)","access":"WR","varp":"(R)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(RI)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"CCALL","name":"","addr":"(SI)","loc":"a,0:0,0:0","dtypep":"(GB)","funcName":"_eval_phase__act","funcp":"(YE)","argsp": []}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(TI)","loc":"f,72:8,72:9","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(UI)","loc":"f,72:8,72:9","dtypep":"(GB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(VI)","loc":"f,72:8,72:9","dtypep":"(GB)","access":"WR","varp":"(R)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],"incsp": []},
|
||||
{"type":"IF","name":"","addr":"(WI)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"CCALL","name":"","addr":"(XI)","loc":"a,0:0,0:0","dtypep":"(GB)","funcName":"_eval_phase__nba","funcp":"(WF)","argsp": []}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(YI)","loc":"f,72:8,72:9","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(ZI)","loc":"f,72:8,72:9","dtypep":"(GB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(AJ)","loc":"f,72:8,72:9","dtypep":"(GB)","access":"WR","varp":"(MG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],"incsp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_debug_assertions","addr":"(BJ)","loc":"f,72:8,72:9","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(CJ)","loc":"f,78:16,78:20",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(DJ)","loc":"f,78:16,78:20","dtypep":"(J)",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk0","addr":"(EJ)","loc":"f,78:16,78:20","dtypep":"(J)","access":"RD","varp":"(I)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"8'hfe","addr":"(FJ)","loc":"f,78:16,78:20","dtypep":"(GJ)"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"CSTMT","name":"","addr":"(HJ)","loc":"f,78:16,78:20",
|
||||
"exprsp": [
|
||||
{"type":"TEXT","name":"","addr":"(IJ)","loc":"f,78:16,78:20","shortText":"Verilated::overWidthError(\"clk0\");"}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(JJ)","loc":"f,79:16,79:20",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(KJ)","loc":"f,79:16,79:20","dtypep":"(J)",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk1","addr":"(LJ)","loc":"f,79:16,79:20","dtypep":"(J)","access":"RD","varp":"(K)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"8'hfe","addr":"(MJ)","loc":"f,79:16,79:20","dtypep":"(GJ)"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"CSTMT","name":"","addr":"(NJ)","loc":"f,79:16,79:20",
|
||||
"exprsp": [
|
||||
{"type":"TEXT","name":"","addr":"(OJ)","loc":"f,79:16,79:20","shortText":"Verilated::overWidthError(\"clk1\");"}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(PJ)","loc":"f,80:16,80:20",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(QJ)","loc":"f,80:16,80:20","dtypep":"(J)",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk2","addr":"(RJ)","loc":"f,80:16,80:20","dtypep":"(J)","access":"RD","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"8'hfe","addr":"(SJ)","loc":"f,80:16,80:20","dtypep":"(GJ)"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"CSTMT","name":"","addr":"(TJ)","loc":"f,80:16,80:20",
|
||||
"exprsp": [
|
||||
{"type":"TEXT","name":"","addr":"(UJ)","loc":"f,80:16,80:20","shortText":"Verilated::overWidthError(\"clk2\");"}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(VJ)","loc":"f,82:16,82:23",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(WJ)","loc":"f,82:16,82:23","dtypep":"(J)",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"data_in","addr":"(XJ)","loc":"f,82:16,82:23","dtypep":"(J)","access":"RD","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"8'hfe","addr":"(YJ)","loc":"f,82:16,82:23","dtypep":"(GJ)"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"CSTMT","name":"","addr":"(ZJ)","loc":"f,82:16,82:23",
|
||||
"exprsp": [
|
||||
{"type":"TEXT","name":"","addr":"(AK)","loc":"f,82:16,82:23","shortText":"Verilated::overWidthError(\"data_in\");"}
|
||||
]}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(BK)","loc":"f,72:8,72:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CRESET","name":"","addr":"(CK)","loc":"f,78:16,78:20",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"clk0","addr":"(DK)","loc":"f,78:16,78:20","dtypep":"(J)","access":"WR","varp":"(I)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(EK)","loc":"f,79:16,79:20",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"clk1","addr":"(FK)","loc":"f,79:16,79:20","dtypep":"(J)","access":"WR","varp":"(K)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(GK)","loc":"f,80:16,80:20",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"clk2","addr":"(HK)","loc":"f,80:16,80:20","dtypep":"(J)","access":"WR","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(IK)","loc":"f,82:16,82:23",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"data_in","addr":"(JK)","loc":"f,82:16,82:23","dtypep":"(J)","access":"WR","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(KK)","loc":"f,11:27,11:37",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"t.t2.t1.some_module.some_state","addr":"(LK)","loc":"f,11:27,11:37","dtypep":"(O)","access":"WR","varp":"(N)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(MK)","loc":"f,12:27,12:43",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"t.t2.t1.some_module.some_other_state","addr":"(NK)","loc":"f,12:27,12:43","dtypep":"(O)","access":"WR","varp":"(P)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(OK)","loc":"f,72:8,72:9",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk1__0","addr":"(PK)","loc":"f,72:8,72:9","dtypep":"(J)","access":"WR","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []}
|
||||
],"activesp": []}
|
||||
],
|
||||
"filesp": [
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat_vlt/Vt_clk_concat_vlt__Syms.cpp","addr":"(QK)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat_vlt/Vt_clk_concat_vlt__Syms.h","addr":"(RK)","loc":"a,0:0,0:0","source":false,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat_vlt/Vt_clk_concat_vlt.h","addr":"(SK)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat_vlt/Vt_clk_concat_vlt.cpp","addr":"(TK)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat_vlt/Vt_clk_concat_vlt_$root.h","addr":"(UK)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat_vlt/Vt_clk_concat_vlt_$root__Slow.cpp","addr":"(VK)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat_vlt/Vt_clk_concat_vlt_$root__DepSet_h551956a7__0__Slow.cpp","addr":"(WK)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat_vlt/Vt_clk_concat_vlt_$root__DepSet_he4b7e437__0.cpp","addr":"(XK)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_clk_concat_vlt/Vt_clk_concat_vlt_$root__DepSet_h551956a7__0.cpp","addr":"(YK)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []}
|
||||
],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(DB)",
|
||||
"typesp": [
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(J)","loc":"d,50:22,50:24","dtypep":"(J)","keyword":"logic","generic":true,"rangep": []},
|
||||
{"type":"VOIDDTYPE","name":"","addr":"(DB)","loc":"d,51:21,51:30","dtypep":"(DB)","generic":false},
|
||||
{"type":"BASICDTYPE","name":"string","addr":"(LB)","loc":"d,156:10,156:16","dtypep":"(LB)","keyword":"string","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(O)","loc":"f,16:9,16:14","dtypep":"(O)","keyword":"logic","range":"1:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"VlTriggerVec","addr":"(W)","loc":"f,72:8,72:9","dtypep":"(W)","keyword":"VlTriggerVec","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(UB)","loc":"f,72:8,72:9","dtypep":"(UB)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"QData","addr":"(ZC)","loc":"f,72:8,72:9","dtypep":"(ZC)","keyword":"QData","range":"63:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(WC)","loc":"f,72:8,72:9","dtypep":"(WC)","keyword":"logic","range":"63:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"bit","addr":"(S)","loc":"f,72:8,72:9","dtypep":"(S)","keyword":"bit","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"bit","addr":"(U)","loc":"f,72:8,72:9","dtypep":"(U)","keyword":"bit","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(GB)","loc":"f,14:21,14:26","dtypep":"(GB)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(YD)","loc":"f,16:9,16:14","dtypep":"(YD)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(GJ)","loc":"f,78:16,78:20","dtypep":"(GJ)","keyword":"logic","range":"7:0","generic":true,"rangep": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(ZK)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(AL)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(ZK)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -11,17 +11,17 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(simulator => 1);
|
||||
|
||||
top_filename("t/t_clk_concat.v");
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ["t/t_clk_concat.vlt"],
|
||||
verilator_flags2 => ["--no-json-edit-nums", "t/t_clk_concat.vlt"],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep("$out_filename", qr/\<var loc="f,78,.*?" name="clk0" .*dir="input" .*vartype="logic" origName="clk0" clocker="true" public="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,79,.*?" name="clk1" .*dir="input" .*vartype="logic" origName="clk1" clocker="true" public="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,80,.*?" name="clk2" .*dir="input" .*vartype="logic" origName="clk2" clocker="true" public="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,82,.*?" name="data_in" .*dir="input" .*vartype="logic" origName="data_in" clocker="false" public="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"clk0",.*"loc":"f,78:[^"]*",.*"origName":"clk0",.*"direction":"INPUT",.*"isSigPublic":true,.*"attrClocker":"clker",.*"varType":"PORT",.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"clk1",.*"loc":"f,79:[^"]*",.*"origName":"clk1",.*"direction":"INPUT",.*"isSigPublic":true,.*"attrClocker":"clker",.*"varType":"PORT",.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"clk2",.*"loc":"f,80:[^"]*",.*"origName":"clk2",.*"direction":"INPUT",.*"isSigPublic":true,.*"attrClocker":"clker",.*"varType":"PORT",.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"data_in",.*"loc":"f,82:[^"]*",.*"origName":"data_in",.*"direction":"INPUT",.*"isSigPublic":true,.*"attrClocker":"non_clker",.*"varType":"PORT",.*"dtypeName":"logic"/);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
|
@ -10,7 +10,7 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
|
||||
scenarios(simulator => 1);
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ["+define+ATTRIBUTES=1"],
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"(E)","stdPackagep":"UNLINKED","evalp":"UNLINKED","evalNbap":"UNLINKED","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"UNLINKED",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"t","addr":"(F)","loc":"d,53:8,53:9","origName":"t","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"p","addr":"(G)","loc":"d,55:11,55:12","dtypep":"(H)","origName":"p","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"VAR","dtypeName":"Packet","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"INITIAL","name":"","addr":"(I)","loc":"d,57:4,57:11","isSuspendable":false,"needProcess":false,
|
||||
"stmtsp": [
|
||||
{"type":"BEGIN","name":"","addr":"(J)","loc":"d,57:12,57:17","generate":false,"genfor":false,"implied":false,"needProcess":false,"unnamed":true,"genforp": [],
|
||||
"stmtsp": [
|
||||
{"type":"DISPLAY","name":"","addr":"(K)","loc":"d,59:7,59:13",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"*-* All Finished *-*\\n","addr":"(L)","loc":"d,59:7,59:13","dtypep":"(M)","exprsp": [],"scopeNamep": []}
|
||||
],"filep": []},
|
||||
{"type":"FINISH","name":"","addr":"(N)","loc":"d,60:7,60:14"}
|
||||
]}
|
||||
]}
|
||||
],"activesp": []},
|
||||
{"type":"PACKAGE","name":"$unit","addr":"(E)","loc":"a,0:0,0:0","origName":"__024unit","level":3,"modPublic":false,"inLibrary":true,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CLASS","name":"Packet","addr":"(O)","loc":"d,7:1,7:6","isExtended":false,"isInterfaceClass":false,"isVirtual":false,"origName":"Packet","level":4,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","classOrPackagep":"UNLINKED","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"header","addr":"(P)","loc":"d,8:13,8:19","dtypep":"(Q)","origName":"header","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VAUTOM","varType":"MEMBER","dtypeName":"int","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"length","addr":"(R)","loc":"d,9:13,9:19","dtypep":"(Q)","origName":"length","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VAUTOM","varType":"MEMBER","dtypeName":"int","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"sublength","addr":"(S)","loc":"d,10:13,10:22","dtypep":"(Q)","origName":"sublength","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VAUTOM","varType":"MEMBER","dtypeName":"int","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"if_4","addr":"(T)","loc":"d,11:13,11:17","dtypep":"(U)","origName":"if_4","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VAUTOM","varType":"MEMBER","dtypeName":"bit","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"iff_5_6","addr":"(V)","loc":"d,12:13,12:20","dtypep":"(U)","origName":"iff_5_6","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VAUTOM","varType":"MEMBER","dtypeName":"bit","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"array","addr":"(W)","loc":"d,14:13,14:18","dtypep":"(X)","origName":"array","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VAUTOM","varType":"MEMBER","dtypeName":"","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"FUNC","name":"new","addr":"(Y)","loc":"d,7:1,7:6","dtypep":"(Z)","method":true,"dpiExport":false,"dpiImport":false,"dpiOpenChild":false,"dpiOpenParent":false,"prototype":false,"recursive":false,"taskPublic":false,"cname":"new","fvarp": [],"classOrPackagep": [],"stmtsp": [],"scopeNamep": []}
|
||||
],"activesp": [],"extendsp": []}
|
||||
],"activesp": []}
|
||||
],"filesp": [],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(Z)",
|
||||
"typesp": [
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(AB)","loc":"d,22:21,22:22","dtypep":"(AB)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"string","addr":"(M)","loc":"d,59:7,59:13","dtypep":"(M)","keyword":"string","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"int","addr":"(Q)","loc":"d,8:9,8:12","dtypep":"(Q)","keyword":"int","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"bit","addr":"(U)","loc":"d,11:9,11:12","dtypep":"(U)","keyword":"bit","generic":true,"rangep": []},
|
||||
{"type":"UNPACKARRAYDTYPE","name":"","addr":"(X)","loc":"d,14:18,14:19","dtypep":"(X)","isCompound":false,"declRange":"[0:1]","generic":false,"refDTypep":"(Q)","childDTypep": [],
|
||||
"rangep": [
|
||||
{"type":"RANGE","name":"","addr":"(BB)","loc":"d,14:18,14:19","ascending":true,
|
||||
"leftp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(CB)","loc":"d,14:19,14:20","dtypep":"(AB)"}
|
||||
],
|
||||
"rightp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(DB)","loc":"d,14:19,14:20","dtypep":"(AB)"}
|
||||
]}
|
||||
]},
|
||||
{"type":"VOIDDTYPE","name":"","addr":"(Z)","loc":"d,7:1,7:6","dtypep":"(Z)","generic":false},
|
||||
{"type":"CLASSREFDTYPE","name":"Packet","addr":"(H)","loc":"d,55:4,55:10","dtypep":"(H)","generic":false,"classp":"(O)","classOrPackagep":"(O)","paramsp": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(EB)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"@CONST-POOL@","addr":"(FB)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(EB)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env perl
|
||||
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
|
||||
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||
#
|
||||
# Copyright 2019 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
|
||||
|
||||
scenarios(vlt => 1);
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ['--no-std', '--json-only', '--no-json-edit-nums', '-Wno-CONSTRAINTIGN'],
|
||||
verilator_make_gmake => 0,
|
||||
make_top_shell => 0,
|
||||
make_main => 0,
|
||||
);
|
||||
|
||||
files_identical($out_filename, $Self->{golden_filename});
|
||||
|
||||
ok(1);
|
||||
1;
|
|
@ -0,0 +1,62 @@
|
|||
// DESCRIPTION: Verilator: Verilog Test module
|
||||
//
|
||||
// This file ONLY is placed under the Creative Commons Public Domain, for
|
||||
// any use, without warranty, 2020 by Wilson Snyder.
|
||||
// SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
class Packet;
|
||||
rand int header; // 0..7
|
||||
rand int length; // 0..15
|
||||
rand int sublength; // 0..15
|
||||
rand bit if_4;
|
||||
rand bit iff_5_6;
|
||||
|
||||
rand int array[2]; // 2,4,6
|
||||
|
||||
constraint empty {}
|
||||
|
||||
constraint size {
|
||||
header > 0 && header <= 7;
|
||||
length <= 15;
|
||||
length >= header;
|
||||
length dist { [0:1], [2:5] :/ 2, 6 := 6, 7 := 10, 1};
|
||||
}
|
||||
|
||||
constraint ifs {
|
||||
if (header > 4) {
|
||||
if_4 == '1;
|
||||
}
|
||||
if (header == 5 || header == 6) {
|
||||
iff_5_6 == '1;
|
||||
} else {
|
||||
iff_5_6 == '0;
|
||||
}
|
||||
}
|
||||
|
||||
constraint arr_uniq {
|
||||
foreach (array[i]) {
|
||||
array[i] inside {2, 4, 6};
|
||||
}
|
||||
unique { array[0], array[1] }
|
||||
}
|
||||
|
||||
constraint order { solve length before header; }
|
||||
|
||||
constraint dis {
|
||||
soft sublength;
|
||||
disable soft sublength;
|
||||
sublength <= length;
|
||||
}
|
||||
|
||||
endclass
|
||||
|
||||
module t (/*AUTOARG*/);
|
||||
|
||||
Packet p;
|
||||
|
||||
initial begin
|
||||
// Not testing use of constraints
|
||||
$write("*-* All Finished *-*\n");
|
||||
$finish;
|
||||
end
|
||||
endmodule
|
File diff suppressed because it is too large
Load Diff
|
@ -10,14 +10,14 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
|
||||
scenarios(simulator => 1);
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ["--stats"],
|
||||
verilator_flags2 => ["--no-json-edit-nums", "--stats"],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep("$out_filename", qr/\<var loc="\w+,44,.*?" name="t.f0.clock_gate.clken_latched" dtype_id="\d+" vartype="logic" origName="clken_latched" latched="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"t.f0.clock_gate.clken_latched","addr":"[^"]*","loc":"\w,44:[^"]*","dtypep":"\(\w+\)",.*"origName":"clken_latched",.*"isLatched":true,.*"dtypeName":"logic"/);
|
||||
file_grep($Self->{stats}, qr/Optimizations, Gate sigs deduped\s+(\d+)/i, 4);
|
||||
}
|
||||
|
||||
|
|
|
@ -41,6 +41,7 @@ sub formats {
|
|||
$line =~ s/(\$display|\$write).*\".*%(Error|Warning)//;
|
||||
if ($line =~ /(Error|Warning)/
|
||||
&& $line !~ /^\s*<sformatf / # skip XML tag
|
||||
&& $line !~ /^\s*{"type":"/ # skip JSON node
|
||||
&& $line !~ /Error-internal-contents-bad/) {
|
||||
# These formats are documented in bin/verilator
|
||||
# Error with fileline
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -9,19 +9,19 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
|
||||
|
||||
scenarios(simulator => 1);
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
make_top_shell => 0,
|
||||
make_main => 0,
|
||||
verilator_flags2 => ["-DATTRIBUTES --exe --no-l2name $Self->{t_dir}/t_dpi_var.cpp"],
|
||||
verilator_flags2 => ["--no-json-edit-nums", "-DATTRIBUTES --exe --no-l2name $Self->{t_dir}/t_dpi_var.cpp"],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep("$out_filename", qr/\<var loc="e,56,.*?" name="formatted" dtype_id="\d+" dir="input" vartype="string" origName="formatted" sformat="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="e,77,.*?" name="t.sub.in" dtype_id="\d+" vartype="int" origName="in" public="true" public_flat_rd="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="e,78,.*?" name="t.sub.fr_a" dtype_id="\d+" vartype="int" origName="fr_a" public="true" public_flat_rd="true" public_flat_rw="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="e,79,.*?" name="t.sub.fr_b" dtype_id="\d+" vartype="int" origName="fr_b" public="true" public_flat_rd="true" public_flat_rw="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"formatted",.*"loc":"e,56:[^"]*",.*"origName":"formatted",.*"direction":"INPUT",.*"dtypeName":"string",.*"attrSFormat":true/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"t.sub.in",.*"loc":"e,77:[^"]*",.*"origName":"in",.*"dtypeName":"int",.*"isSigUserRdPublic":true/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"t.sub.fr_a",.*"loc":"e,78:[^"]*",.*"origName":"fr_a",.*"dtypeName":"int",.*"isSigUserRdPublic":true,.*"isSigUserRWPublic":true/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"t.sub.fr_b",.*"loc":"e,79:[^"]*",.*"origName":"fr_b",.*"dtypeName":"int",.*"isSigUserRdPublic":true,.*"isSigUserRWPublic":true/);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -11,19 +11,19 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(simulator => 1);
|
||||
|
||||
top_filename("t/t_dpi_var.v");
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
make_top_shell => 0,
|
||||
make_main => 0,
|
||||
verilator_flags2 => ["--exe --no-l2name $Self->{t_dir}/t_dpi_var.vlt $Self->{t_dir}/t_dpi_var.cpp"],
|
||||
verilator_flags2 => ["--no-json-edit-nums", "--exe --no-l2name $Self->{t_dir}/t_dpi_var.vlt $Self->{t_dir}/t_dpi_var.cpp"],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep("$out_filename", qr/\<var loc="f,58,.*?" name="formatted" dtype_id="\d+" dir="input" vartype="string" origName="formatted" sformat="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,81,.*?" name="t.sub.in" dtype_id="\d+" vartype="int" origName="in" public="true" public_flat_rd="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,82,.*?" name="t.sub.fr_a" dtype_id="\d+" vartype="int" origName="fr_a" public="true" public_flat_rd="true" public_flat_rw="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,83,.*?" name="t.sub.fr_b" dtype_id="\d+" vartype="int" origName="fr_b" public="true" public_flat_rd="true" public_flat_rw="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"formatted","addr":"[^"]*","loc":"f,58:[^"]*",.*"origName":"formatted",.*"direction":"INPUT",.*"dtypeName":"string",.*"attrSFormat":true/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"t.sub.in","addr":"[^"]*","loc":"f,81:[^"]*",.*"origName":"in",.*"dtypeName":"int",.*"isSigUserRdPublic":true/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"t.sub.fr_a","addr":"[^"]*","loc":"f,82:[^"]*",.*"origName":"fr_a",.*"dtypeName":"int",.*"isSigUserRdPublic":true,.*"isSigUserRWPublic":true/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"t.sub.fr_b","addr":"[^"]*","loc":"f,83:[^"]*",.*"origName":"fr_b",.*"dtypeName":"int",.*"isSigUserRdPublic":true,.*"isSigUserRWPublic":true/);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
|
@ -1 +1 @@
|
|||
%Error: verilator: Need --binary, --cc, --sc, --dpi-hdr-only, --lint-only, --xml-only or --E option
|
||||
%Error: verilator: Need --binary, --cc, --sc, --dpi-hdr-only, --lint-only, --xml-only, --json-only or --E option
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
%Error: The following cannot be used together: --binary, -E, --dpi-hdr-only, --lint-only, --xml-only. Suggest see manual
|
||||
%Error: The following cannot be used together: --binary, -E, --dpi-hdr-only, --lint-only, --xml-only, --json-only. Suggest see manual
|
||||
%Error: Exiting due to
|
||||
|
|
|
@ -12,7 +12,7 @@ scenarios(vlt => 1);
|
|||
top_filename("t/t_flag_main.v");
|
||||
|
||||
lint(
|
||||
verilator_flags2 => ["--binary -E --dpi-hdr-only --lint-only --xml-only -Wall"],
|
||||
verilator_flags2 => ["--binary -E --dpi-hdr-only --lint-only --xml-only --json-only -Wall"],
|
||||
fails => 1,
|
||||
expect_filename => $Self->{golden_filename},
|
||||
);
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
%Error: The following cannot be used together: --build, -E, --dpi-hdr-only, --lint-only, --xml-only. Suggest see manual
|
||||
%Error: The following cannot be used together: --build, -E, --dpi-hdr-only, --lint-only, --xml-only, --json-only. Suggest see manual
|
||||
%Error: Exiting due to
|
||||
|
|
|
@ -12,7 +12,7 @@ scenarios(vlt => 1);
|
|||
top_filename("t/t_flag_main.v");
|
||||
|
||||
lint(
|
||||
verilator_flags2 => ["--build -E -Wno-fatal --dpi-hdr-only --lint-only --xml-only"],
|
||||
verilator_flags2 => ["--build -E -Wno-fatal --dpi-hdr-only --lint-only --xml-only --json-only"],
|
||||
fails => 1,
|
||||
expect_filename => $Self->{golden_filename},
|
||||
);
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
%Error: The following cannot be used together: --dpi-hdr-only, --lint-only, --xml-only. Suggest see manual
|
||||
%Error: The following cannot be used together: --dpi-hdr-only, --lint-only, --xml-only, --json-only. Suggest see manual
|
||||
%Error: Exiting due to
|
||||
|
|
|
@ -12,9 +12,7 @@ scenarios(vlt => 1);
|
|||
top_filename("t/t_flag_main.v");
|
||||
|
||||
lint(
|
||||
verilator_make_cmake => 0,
|
||||
verilator_make_gmake => 0,
|
||||
verilator_flags2 => ["-Wall --lint-only -Wno-fatal --dpi-hdr-only --xml-only"],
|
||||
verilator_flags2 => ["-Wall --lint-only -Wno-fatal --dpi-hdr-only --xml-only --json-only"],
|
||||
fails => 1,
|
||||
expect_filename => $Self->{golden_filename},
|
||||
);
|
||||
|
|
|
@ -0,0 +1,750 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"(E)","stdPackagep":"UNLINKED","evalp":"(F)","evalNbap":"(G)","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"(H)",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"$root","addr":"(I)","loc":"e,7:8,7:9","origName":"$root","level":1,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"clk","addr":"(J)","loc":"e,22:10,22:13","dtypep":"(K)","origName":"clk","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":true,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"clker","lifetime":"NONE","varType":"PORT","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(L)","loc":"e,7:8,7:9","dtypep":"(K)","origName":"__Vtrigprevexpr___TOP__clk__0","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactContinue","addr":"(M)","loc":"e,7:8,7:9","dtypep":"(N)","origName":"__VactContinue","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactIterCount","addr":"(O)","loc":"e,7:8,7:9","dtypep":"(P)","origName":"__VactIterCount","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactTriggered","addr":"(Q)","loc":"e,7:8,7:9","dtypep":"(R)","origName":"__VactTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VnbaTriggered","addr":"(S)","loc":"e,7:8,7:9","dtypep":"(R)","origName":"__VnbaTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"CELL","name":"t","addr":"(T)","loc":"e,7:8,7:9","origName":"t","recursive":false,"modp":"(U)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"TOPSCOPE","name":"","addr":"(H)","loc":"e,7:8,7:9","senTreesp": [],
|
||||
"scopep": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(V)","loc":"e,7:8,7:9","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(I)","varsp": [],"blocksp": []}
|
||||
]},
|
||||
{"type":"CFUNC","name":"_eval_static","addr":"(W)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(X)","loc":"e,7:8,7:9",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(Y)","loc":"e,7:8,7:9","dtypep":"(Z)","funcName":"_eval_static__TOP__t","funcp":"(AB)","argsp": []}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial","addr":"(BB)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(CB)","loc":"e,7:8,7:9",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(DB)","loc":"e,7:8,7:9","dtypep":"(Z)","funcName":"_eval_initial__TOP__t","funcp":"(EB)","argsp": []}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(FB)","loc":"e,87:12,87:15",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(GB)","loc":"e,87:12,87:15","dtypep":"(Z)","funcName":"_eval_initial__TOP__t__ma0__mb0","funcp":"(HB)","argsp": []}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(IB)","loc":"e,103:15,103:18",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(JB)","loc":"e,103:15,103:18","dtypep":"(Z)","funcName":"_eval_initial__TOP__t__ma0__mb0__mc0","funcp":"(KB)","argsp": []}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(LB)","loc":"e,104:15,104:18",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(MB)","loc":"e,104:15,104:18","dtypep":"(Z)","funcName":"_eval_initial__TOP__t__ma0__mb0__mc1","funcp":"(NB)","argsp": []}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(OB)","loc":"e,27:22,27:25","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(QB)","loc":"e,27:22,27:25","dtypep":"(PB)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(RB)","loc":"e,27:22,27:25","dtypep":"(PB)","access":"WR","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_final","addr":"(SB)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_settle","addr":"(TB)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_triggers__act","addr":"(UB)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(VB)","loc":"e,7:8,7:9",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"set","addr":"(WB)","loc":"e,7:8,7:9","dtypep":"(Z)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(XB)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(YB)","loc":"e,7:8,7:9","dtypep":"(ZB)"},
|
||||
{"type":"AND","name":"","addr":"(AC)","loc":"e,27:14,27:21","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(BC)","loc":"e,27:22,27:25","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(CC)","loc":"e,27:22,27:25","dtypep":"(PB)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(DC)","loc":"e,27:14,27:21","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(EC)","loc":"e,27:14,27:21","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(FC)","loc":"e,27:14,27:21","dtypep":"(PB)","access":"RD","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(GC)","loc":"e,27:22,27:25","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(HC)","loc":"e,27:22,27:25","dtypep":"(PB)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(IC)","loc":"e,27:22,27:25","dtypep":"(PB)","access":"WR","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(JC)","loc":"e,7:8,7:9","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(KC)","loc":"e,7:8,7:9","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"TEXT","name":"","addr":"(LC)","loc":"e,7:8,7:9","shortText":"if (VL_UNLIKELY(vlSymsp->_vm_contextp__->debug())) {..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(MC)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(NC)","loc":"a,0:0,0:0","dtypep":"(Z)","funcName":"_dump_triggers__act","funcp":"(OC)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(PC)","loc":"e,7:8,7:9","shortText":"}..."},
|
||||
{"type":"TEXT","name":"","addr":"(QC)","loc":"e,7:8,7:9","shortText":"#endif..."}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_dump_triggers__act","addr":"(OC)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(RC)","loc":"e,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(SC)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(TC)","loc":"e,7:8,7:9","dtypep":"(ZB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(UC)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(VC)","loc":"e,7:8,7:9","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(WC)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(XC)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(YC)","loc":"e,7:8,7:9","shortText":"VL_DBG_MSGF(\" No triggers active\\n\");..."}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(ZC)","loc":"e,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(AD)","loc":"e,7:8,7:9","dtypep":"(BD)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(CD)","loc":"e,7:8,7:9","dtypep":"(BD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(DD)","loc":"e,7:8,7:9","dtypep":"(ED)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(FD)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(GD)","loc":"e,7:8,7:9","dtypep":"(ZB)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(HD)","loc":"e,7:8,7:9","shortText":"VL_DBG_MSGF(\" 'act' region trigger index 0 is active: @(posedge clk)\\n\");..."}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_dump_triggers__nba","addr":"(ID)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(JD)","loc":"e,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(KD)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(LD)","loc":"e,7:8,7:9","dtypep":"(ZB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(MD)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(ND)","loc":"e,7:8,7:9","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(OD)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(PD)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(QD)","loc":"e,7:8,7:9","shortText":"VL_DBG_MSGF(\" No triggers active\\n\");..."}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(RD)","loc":"e,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(SD)","loc":"e,7:8,7:9","dtypep":"(BD)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(TD)","loc":"e,7:8,7:9","dtypep":"(BD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(UD)","loc":"e,7:8,7:9","dtypep":"(ED)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(VD)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(WD)","loc":"e,7:8,7:9","dtypep":"(ZB)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(XD)","loc":"e,7:8,7:9","shortText":"VL_DBG_MSGF(\" 'nba' region trigger index 0 is active: @(posedge clk)\\n\");..."}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_act","addr":"(YD)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_nba","addr":"(G)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(ZD)","loc":"e,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(AE)","loc":"e,7:8,7:9","dtypep":"(BD)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(BE)","loc":"e,7:8,7:9","dtypep":"(BD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(CE)","loc":"e,7:8,7:9","dtypep":"(ED)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(DE)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(EE)","loc":"e,7:8,7:9","dtypep":"(ZB)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(FE)","loc":"e,28:7,28:10",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(GE)","loc":"e,28:7,28:10","dtypep":"(Z)","funcName":"_nba_sequent__TOP__t__0","funcp":"(HE)","argsp": []}
|
||||
]}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_phase__act","addr":"(IE)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VpreTriggered","addr":"(JE)","loc":"e,7:8,7:9","dtypep":"(R)","origName":"__VpreTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactExecute","addr":"(KE)","loc":"e,7:8,7:9","dtypep":"(N)","origName":"__VactExecute","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(LE)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(ME)","loc":"a,0:0,0:0","dtypep":"(Z)","funcName":"_eval_triggers__act","funcp":"(UB)","argsp": []}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(NE)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(OE)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(PE)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(QE)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(KE)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(RE)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(SE)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(KE)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(TE)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"andNot","addr":"(UE)","loc":"a,0:0,0:0","dtypep":"(Z)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VpreTriggered","addr":"(VE)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(JE)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(WE)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"},
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(XE)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(YE)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"thisOr","addr":"(ZE)","loc":"a,0:0,0:0","dtypep":"(Z)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(AF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(BF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(CF)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(DF)","loc":"a,0:0,0:0","dtypep":"(Z)","funcName":"_eval_act","funcp":"(YD)","argsp": []}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"CRETURN","name":"","addr":"(EF)","loc":"a,0:0,0:0",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(FF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(KE)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_phase__nba","addr":"(GF)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VnbaExecute","addr":"(HF)","loc":"e,7:8,7:9","dtypep":"(N)","origName":"__VnbaExecute","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(IF)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(JF)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(KF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(LF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(HF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(MF)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(NF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(HF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(OF)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(PF)","loc":"a,0:0,0:0","dtypep":"(Z)","funcName":"_eval_nba","funcp":"(G)","argsp": []}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(QF)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"clear","addr":"(RF)","loc":"a,0:0,0:0","dtypep":"(Z)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(SF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"CRETURN","name":"","addr":"(TF)","loc":"a,0:0,0:0",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(UF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(HF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval","addr":"(F)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VnbaIterCount","addr":"(VF)","loc":"e,7:8,7:9","dtypep":"(P)","origName":"__VnbaIterCount","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VnbaContinue","addr":"(WF)","loc":"e,7:8,7:9","dtypep":"(N)","origName":"__VnbaContinue","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(XF)","loc":"e,7:8,7:9","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(YF)","loc":"e,7:8,7:9","dtypep":"(ZB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(ZF)","loc":"e,7:8,7:9","dtypep":"(P)","access":"WR","varp":"(VF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(AG)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(BG)","loc":"e,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(CG)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(WF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"WHILE","name":"","addr":"(DG)","loc":"a,0:0,0:0","precondsp": [],
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(EG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(WF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(FG)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"LT","name":"","addr":"(GG)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h64","addr":"(HG)","loc":"a,0:0,0:0","dtypep":"(ZB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(IG)","loc":"a,0:0,0:0","dtypep":"(P)","access":"RD","varp":"(VF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(JG)","loc":"a,0:0,0:0","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(KG)","loc":"a,0:0,0:0","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(LG)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(MG)","loc":"a,0:0,0:0","dtypep":"(Z)","funcName":"_dump_triggers__nba","funcp":"(ID)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(NG)","loc":"a,0:0,0:0","shortText":"#endif..."},
|
||||
{"type":"TEXT","name":"","addr":"(OG)","loc":"a,0:0,0:0","shortText":"VL_FATAL_MT(\"t/t_func_dotted.v\", 7, \"\", "},
|
||||
{"type":"TEXT","name":"","addr":"(PG)","loc":"a,0:0,0:0","shortText":"\"NBA region did not converge.\");..."}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(QG)","loc":"e,7:8,7:9","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(RG)","loc":"e,7:8,7:9","dtypep":"(P)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(SG)","loc":"e,7:8,7:9","dtypep":"(ZB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(TG)","loc":"e,7:8,7:9","dtypep":"(ZB)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(UG)","loc":"e,7:8,7:9","dtypep":"(P)","access":"RD","varp":"(VF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(VG)","loc":"e,7:8,7:9","dtypep":"(P)","access":"WR","varp":"(VF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(WG)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h0","addr":"(XG)","loc":"e,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(YG)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(WF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(ZG)","loc":"e,7:8,7:9","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(AH)","loc":"e,7:8,7:9","dtypep":"(ZB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(BH)","loc":"e,7:8,7:9","dtypep":"(P)","access":"WR","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(CH)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(DH)","loc":"e,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(EH)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"WHILE","name":"","addr":"(FH)","loc":"a,0:0,0:0","precondsp": [],
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(GH)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(HH)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"LT","name":"","addr":"(IH)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h64","addr":"(JH)","loc":"a,0:0,0:0","dtypep":"(ZB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(KH)","loc":"a,0:0,0:0","dtypep":"(P)","access":"RD","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(LH)","loc":"a,0:0,0:0","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(MH)","loc":"a,0:0,0:0","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(NH)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(OH)","loc":"a,0:0,0:0","dtypep":"(Z)","funcName":"_dump_triggers__act","funcp":"(OC)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(PH)","loc":"a,0:0,0:0","shortText":"#endif..."},
|
||||
{"type":"TEXT","name":"","addr":"(QH)","loc":"a,0:0,0:0","shortText":"VL_FATAL_MT(\"t/t_func_dotted.v\", 7, \"\", "},
|
||||
{"type":"TEXT","name":"","addr":"(RH)","loc":"a,0:0,0:0","shortText":"\"Active region did not converge.\");..."}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(SH)","loc":"e,7:8,7:9","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(TH)","loc":"e,7:8,7:9","dtypep":"(P)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(UH)","loc":"e,7:8,7:9","dtypep":"(ZB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(VH)","loc":"e,7:8,7:9","dtypep":"(ZB)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(WH)","loc":"e,7:8,7:9","dtypep":"(P)","access":"RD","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(XH)","loc":"e,7:8,7:9","dtypep":"(P)","access":"WR","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(YH)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h0","addr":"(ZH)","loc":"e,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(AI)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(BI)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"CCALL","name":"","addr":"(CI)","loc":"a,0:0,0:0","dtypep":"(PB)","funcName":"_eval_phase__act","funcp":"(IE)","argsp": []}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(DI)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(EI)","loc":"e,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(FI)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],"incsp": []},
|
||||
{"type":"IF","name":"","addr":"(GI)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"CCALL","name":"","addr":"(HI)","loc":"a,0:0,0:0","dtypep":"(PB)","funcName":"_eval_phase__nba","funcp":"(GF)","argsp": []}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(II)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(JI)","loc":"e,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(KI)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(WF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],"incsp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_debug_assertions","addr":"(LI)","loc":"e,7:8,7:9","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(MI)","loc":"e,22:10,22:13",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(NI)","loc":"e,22:10,22:13","dtypep":"(K)",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(OI)","loc":"e,22:10,22:13","dtypep":"(K)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"8'hfe","addr":"(PI)","loc":"e,22:10,22:13","dtypep":"(QI)"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"CSTMT","name":"","addr":"(RI)","loc":"e,22:10,22:13",
|
||||
"exprsp": [
|
||||
{"type":"TEXT","name":"","addr":"(SI)","loc":"e,22:10,22:13","shortText":"Verilated::overWidthError(\"clk\");"}
|
||||
]}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(TI)","loc":"e,7:8,7:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CRESET","name":"","addr":"(UI)","loc":"e,22:10,22:13",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(VI)","loc":"e,22:10,22:13","dtypep":"(K)","access":"WR","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(WI)","loc":"e,7:8,7:9",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(XI)","loc":"e,7:8,7:9","dtypep":"(K)","access":"WR","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CUSE","name":"t","addr":"(YI)","loc":"e,7:8,7:9","useType":"INT_FWD"}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"t","addr":"(U)","loc":"e,7:8,7:9","origName":"t","level":2,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"clk","addr":"(ZI)","loc":"e,22:10,22:13","dtypep":"(K)","origName":"clk","isSc":false,"isPrimaryIO":false,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":true,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"cyc","addr":"(AJ)","loc":"e,23:12,23:15","dtypep":"(BJ)","origName":"cyc","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"VAR","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"CELL","name":"ma0","addr":"(CJ)","loc":"e,14:7,14:10","origName":"ma0","recursive":false,"modp":"(DJ)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"SCOPE","name":"t","addr":"(EJ)","loc":"e,7:8,7:9","aboveScopep":"(V)","aboveCellp":"(T)","modp":"(U)","varsp": [],"blocksp": []},
|
||||
{"type":"CFUNC","name":"_eval_static__TOP__t","addr":"(AB)","loc":"e,7:8,7:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(EJ)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(FJ)","loc":"e,23:16,23:17","dtypep":"(BJ)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'sh1","addr":"(GJ)","loc":"e,23:16,23:17","dtypep":"(HJ)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"cyc","addr":"(IJ)","loc":"e,23:16,23:17","dtypep":"(BJ)","access":"WR","varp":"(AJ)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial__TOP__t","addr":"(EB)","loc":"e,7:8,7:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(EJ)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"COMMENT","name":"Function: f","addr":"(JJ)","loc":"e,16:25,16:26"},
|
||||
{"type":"DISPLAY","name":"","addr":"(KJ)","loc":"e,154:7,154:15",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"%m","addr":"(LJ)","loc":"e,154:7,154:15","dtypep":"(MJ)","exprsp": [],
|
||||
"scopeNamep": [
|
||||
{"type":"SCOPENAME","name":"","addr":"(NJ)","loc":"e,154:7,154:15","dtypep":"(ED)","dpiExport":false,"forFormat":true,
|
||||
"scopeAttrp": [
|
||||
{"type":"TEXT","name":"","addr":"(OJ)","loc":"e,154:7,154:15","shortText":"__DOT__TOP.t.ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(PJ)","loc":"e,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"},
|
||||
{"type":"TEXT","name":"","addr":"(QJ)","loc":"e,154:7,154:15","shortText":"__DOT__f"}
|
||||
],
|
||||
"scopeEntrp": [
|
||||
{"type":"TEXT","name":"","addr":"(RJ)","loc":"e,154:7,154:15","shortText":"__DOT__TOP.t.ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(SJ)","loc":"e,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"}
|
||||
]}
|
||||
]}
|
||||
],"filep": []},
|
||||
{"type":"COMMENT","name":"Function: f","addr":"(TJ)","loc":"e,17:25,17:26"},
|
||||
{"type":"DISPLAY","name":"","addr":"(UJ)","loc":"e,154:7,154:15",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"%m","addr":"(VJ)","loc":"e,154:7,154:15","dtypep":"(MJ)","exprsp": [],
|
||||
"scopeNamep": [
|
||||
{"type":"SCOPENAME","name":"","addr":"(WJ)","loc":"e,154:7,154:15","dtypep":"(ED)","dpiExport":false,"forFormat":true,
|
||||
"scopeAttrp": [
|
||||
{"type":"TEXT","name":"","addr":"(XJ)","loc":"e,154:7,154:15","shortText":"__DOT__TOP.t.ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(YJ)","loc":"e,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"},
|
||||
{"type":"TEXT","name":"","addr":"(ZJ)","loc":"e,154:7,154:15","shortText":"__DOT__f"}
|
||||
],
|
||||
"scopeEntrp": [
|
||||
{"type":"TEXT","name":"","addr":"(AK)","loc":"e,154:7,154:15","shortText":"__DOT__TOP.t.ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(BK)","loc":"e,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"}
|
||||
]}
|
||||
]}
|
||||
],"filep": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_nba_sequent__TOP__t__0","addr":"(HE)","loc":"e,28:7,28:10","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(EJ)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__Vdly__cyc","addr":"(CK)","loc":"e,23:12,23:15","dtypep":"(BJ)","origName":"__Vdly__cyc","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"BLOCKTEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"CRESET","name":"","addr":"(DK)","loc":"e,23:12,23:15",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"__Vdly__cyc","addr":"(EK)","loc":"e,23:12,23:15","dtypep":"(BJ)","access":"WR","varp":"(CK)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGNPRE","name":"","addr":"(FK)","loc":"e,28:7,28:10","dtypep":"(BJ)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"cyc","addr":"(GK)","loc":"e,28:7,28:10","dtypep":"(BJ)","access":"RD","varp":"(AJ)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vdly__cyc","addr":"(HK)","loc":"e,28:7,28:10","dtypep":"(BJ)","access":"WR","varp":"(CK)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNDLY","name":"","addr":"(IK)","loc":"e,28:11,28:13","dtypep":"(BJ)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(JK)","loc":"e,28:18,28:19","dtypep":"(BJ)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(KK)","loc":"e,28:20,28:21","dtypep":"(ZB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'sh1","addr":"(LK)","loc":"e,28:20,28:21","dtypep":"(HJ)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"cyc","addr":"(MK)","loc":"e,28:14,28:17","dtypep":"(BJ)","access":"RD","varp":"(AJ)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vdly__cyc","addr":"(NK)","loc":"e,28:7,28:10","dtypep":"(BJ)","access":"WR","varp":"(CK)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(OK)","loc":"e,48:7,48:9",
|
||||
"condp": [
|
||||
{"type":"EQ","name":"","addr":"(PK)","loc":"e,48:14,48:16","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'sh9","addr":"(QK)","loc":"e,48:16,48:17","dtypep":"(HJ)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"cyc","addr":"(RK)","loc":"e,48:11,48:14","dtypep":"(BJ)","access":"RD","varp":"(AJ)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"DISPLAY","name":"","addr":"(SK)","loc":"e,49:10,49:16",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"*-* All Finished *-*\\n","addr":"(TK)","loc":"e,49:10,49:16","dtypep":"(MJ)","exprsp": [],"scopeNamep": []}
|
||||
],"filep": []},
|
||||
{"type":"FINISH","name":"","addr":"(UK)","loc":"e,50:10,50:17"}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGNPOST","name":"","addr":"(VK)","loc":"e,28:7,28:10","dtypep":"(BJ)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__Vdly__cyc","addr":"(WK)","loc":"e,28:7,28:10","dtypep":"(BJ)","access":"RD","varp":"(CK)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"cyc","addr":"(XK)","loc":"e,28:7,28:10","dtypep":"(BJ)","access":"WR","varp":"(AJ)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(YK)","loc":"e,7:8,7:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CRESET","name":"","addr":"(ZK)","loc":"e,22:10,22:13",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(AL)","loc":"e,22:10,22:13","dtypep":"(K)","access":"WR","varp":"(ZI)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(BL)","loc":"e,23:12,23:15",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"cyc","addr":"(CL)","loc":"e,23:12,23:15","dtypep":"(BJ)","access":"WR","varp":"(AJ)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CUSE","name":"ma","addr":"(DL)","loc":"e,14:7,14:10","useType":"INT_FWD"}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"ma","addr":"(DJ)","loc":"e,84:8,84:10","origName":"ma","level":3,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CELL","name":"mb0","addr":"(EL)","loc":"e,87:12,87:15","origName":"mb0","recursive":false,"modp":"(FL)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"SCOPE","name":"t.ma0","addr":"(GL)","loc":"e,14:7,14:10","aboveScopep":"(EJ)","aboveCellp":"(CJ)","modp":"(DJ)","varsp": [],"blocksp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(HL)","loc":"e,84:8,84:10","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CUSE","name":"mb","addr":"(IL)","loc":"e,87:12,87:15","useType":"INT_FWD"}
|
||||
],"activesp": []},
|
||||
{"type":"PACKAGE","name":"$unit","addr":"(E)","loc":"a,0:0,0:0","origName":"__024unit","level":3,"modPublic":false,"inLibrary":true,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(JL)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"mb","addr":"(FL)","loc":"e,99:8,99:10","origName":"mb","level":4,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CELL","name":"mc0","addr":"(KL)","loc":"e,103:15,103:18","origName":"mc0","recursive":false,"modp":"(LL)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"CELL","name":"mc1","addr":"(ML)","loc":"e,104:15,104:18","origName":"mc1","recursive":false,"modp":"(NL)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"SCOPE","name":"t.ma0.mb0","addr":"(OL)","loc":"e,87:12,87:15","aboveScopep":"(GL)","aboveCellp":"(EL)","modp":"(FL)","varsp": [],"blocksp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial__TOP__t__ma0__mb0","addr":"(HB)","loc":"e,87:12,87:15","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(OL)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(PL)","loc":"e,118:11,118:20"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(QL)","loc":"e,119:8,119:17"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(RL)","loc":"e,120:11,120:20"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(SL)","loc":"e,121:11,121:20"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(TL)","loc":"e,121:26,121:33"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(UL)","loc":"e,122:8,122:17"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(VL)","loc":"e,122:23,122:30"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(WL)","loc":"e,123:11,123:20"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(XL)","loc":"e,123:26,123:33"}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(YL)","loc":"e,99:8,99:10","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CUSE","name":"mc","addr":"(ZL)","loc":"e,103:15,103:18","useType":"INT_FWD"},
|
||||
{"type":"CUSE","name":"mc__PB1","addr":"(AM)","loc":"e,104:15,104:18","useType":"INT_FWD"}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"mc","addr":"(LL)","loc":"e,127:8,127:10","origName":"mc","level":5,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"t.ma0.mb0.mc0","addr":"(BM)","loc":"e,103:15,103:18","aboveScopep":"(OL)","aboveCellp":"(KL)","modp":"(LL)","varsp": [],"blocksp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial__TOP__t__ma0__mb0__mc0","addr":"(KB)","loc":"e,103:15,103:18","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(BM)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(CM)","loc":"e,142:10,142:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(DM)","loc":"e,143:10,143:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(EM)","loc":"e,144:10,144:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(FM)","loc":"e,145:10,145:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(GM)","loc":"e,145:24,145:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(HM)","loc":"e,146:10,146:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(IM)","loc":"e,146:24,146:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(JM)","loc":"e,147:10,147:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(KM)","loc":"e,147:24,147:31"}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(LM)","loc":"e,127:8,127:10","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"mc__PB1","addr":"(NL)","loc":"e,127:8,127:10","origName":"mc","level":5,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"t.ma0.mb0.mc1","addr":"(MM)","loc":"e,104:15,104:18","aboveScopep":"(OL)","aboveCellp":"(ML)","modp":"(NL)","varsp": [],"blocksp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial__TOP__t__ma0__mb0__mc1","addr":"(NB)","loc":"e,104:15,104:18","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(MM)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(NM)","loc":"e,142:10,142:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(OM)","loc":"e,143:10,143:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(PM)","loc":"e,144:10,144:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(QM)","loc":"e,145:10,145:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(RM)","loc":"e,145:24,145:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(SM)","loc":"e,146:10,146:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(TM)","loc":"e,146:24,146:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(UM)","loc":"e,147:10,147:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(VM)","loc":"e,147:24,147:31"}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(WM)","loc":"e,127:8,127:10","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []}
|
||||
],"activesp": []}
|
||||
],
|
||||
"filesp": [
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0__Syms.cpp","addr":"(XM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0__Syms.h","addr":"(YM)","loc":"a,0:0,0:0","source":false,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0__Dpi.h","addr":"(ZM)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0__Dpi.cpp","addr":"(AN)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0.h","addr":"(BN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0.cpp","addr":"(CN)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_$root.h","addr":"(DN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_t.h","addr":"(EN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_ma.h","addr":"(FN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_$unit.h","addr":"(GN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_mb.h","addr":"(HN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_mc.h","addr":"(IN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_mc__PB1.h","addr":"(JN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_$root__Slow.cpp","addr":"(KN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_$root__DepSet_h6215c190__0__Slow.cpp","addr":"(LN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_$root__DepSet_h586f35ff__0__Slow.cpp","addr":"(MN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_$root__DepSet_h6215c190__0.cpp","addr":"(NN)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_$root__DepSet_h586f35ff__0.cpp","addr":"(ON)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_t__Slow.cpp","addr":"(PN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_t__DepSet_h27c1b740__0__Slow.cpp","addr":"(QN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_t__DepSet_h9e22e7cf__0__Slow.cpp","addr":"(RN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_t__DepSet_h9e22e7cf__0.cpp","addr":"(SN)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_ma__Slow.cpp","addr":"(TN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_ma__DepSet_hf93a4d29__0__Slow.cpp","addr":"(UN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_$unit__Slow.cpp","addr":"(VN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_$unit__DepSet_ha3252cf0__0__Slow.cpp","addr":"(WN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_mb__Slow.cpp","addr":"(XN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_mb__DepSet_h3e326005__0__Slow.cpp","addr":"(YN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_mc__Slow.cpp","addr":"(ZN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_mc__DepSet_h399b0f83__0__Slow.cpp","addr":"(AO)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_mc__PB1__Slow.cpp","addr":"(BO)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0/Vt_func_dotted_inl0_mc__PB1__DepSet_h6c06caa2__0__Slow.cpp","addr":"(CO)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []}
|
||||
],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(Z)",
|
||||
"typesp": [
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(K)","loc":"d,50:22,50:24","dtypep":"(K)","keyword":"logic","generic":true,"rangep": []},
|
||||
{"type":"VOIDDTYPE","name":"","addr":"(Z)","loc":"d,51:21,51:30","dtypep":"(Z)","generic":false},
|
||||
{"type":"BASICDTYPE","name":"string","addr":"(MJ)","loc":"d,156:10,156:16","dtypep":"(MJ)","keyword":"string","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"QData","addr":"(ED)","loc":"e,154:7,154:15","dtypep":"(ED)","keyword":"QData","range":"63:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"integer","addr":"(BJ)","loc":"e,23:4,23:11","dtypep":"(BJ)","keyword":"integer","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(ZB)","loc":"e,25:20,25:27","dtypep":"(ZB)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(HJ)","loc":"e,23:16,23:17","dtypep":"(HJ)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"VlTriggerVec","addr":"(R)","loc":"e,7:8,7:9","dtypep":"(R)","keyword":"VlTriggerVec","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(BD)","loc":"e,7:8,7:9","dtypep":"(BD)","keyword":"logic","range":"63:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"bit","addr":"(N)","loc":"e,7:8,7:9","dtypep":"(N)","keyword":"bit","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"bit","addr":"(P)","loc":"e,7:8,7:9","dtypep":"(P)","keyword":"bit","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(PB)","loc":"e,27:22,27:25","dtypep":"(PB)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(QI)","loc":"e,22:10,22:13","dtypep":"(QI)","keyword":"logic","range":"7:0","generic":true,"rangep": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(DO)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(EO)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(DO)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -11,17 +11,17 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(simulator => 1);
|
||||
|
||||
top_filename("t/t_func_dotted.v");
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
v_flags2 => ['+define+ATTRIBUTES', '+define+NOUSE_INLINE',],
|
||||
v_flags2 => ['--no-json-edit-nums', '+define+ATTRIBUTES', '+define+NOUSE_INLINE',],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep("$out_filename", qr/\<module loc="e,84,.*?" name="ma" origName="ma" public="true"\>/i);
|
||||
file_grep("$out_filename", qr/\<module loc="e,99,.*?" name="mb" origName="mb" public="true"\>/i);
|
||||
file_grep("$out_filename", qr/\<module loc="e,127,.*?" name="mc" origName="mc" public="true"\>/i);
|
||||
file_grep("$out_filename", qr/\<module loc="e,127,.*?" name="mc__PB1" origName="mc" public="true"\>/i);
|
||||
file_grep("$out_filename", qr/{"type":"MODULE","name":"ma",.*"loc":"e,84:[^"]*","origName":"ma",.*,"modPublic":true/);
|
||||
file_grep("$out_filename", qr/{"type":"MODULE","name":"mb",.*"loc":"e,99:[^"]*","origName":"mb",.*"modPublic":true/);
|
||||
file_grep("$out_filename", qr/{"type":"MODULE","name":"mc","addr":"[^"]*","loc":"e,127:[^"]*","origName":"mc",.*"modPublic":true/);
|
||||
file_grep("$out_filename", qr/{"type":"MODULE","name":"mc__PB1","addr":"[^"]*","loc":"e,127:[^"]*","origName":"mc",.*"modPublic":true/);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
|
@ -0,0 +1,750 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"(E)","stdPackagep":"UNLINKED","evalp":"(F)","evalNbap":"(G)","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"(H)",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"$root","addr":"(I)","loc":"f,7:8,7:9","origName":"$root","level":1,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"clk","addr":"(J)","loc":"f,22:10,22:13","dtypep":"(K)","origName":"clk","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":true,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"clker","lifetime":"NONE","varType":"PORT","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(L)","loc":"f,7:8,7:9","dtypep":"(K)","origName":"__Vtrigprevexpr___TOP__clk__0","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactContinue","addr":"(M)","loc":"f,7:8,7:9","dtypep":"(N)","origName":"__VactContinue","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactIterCount","addr":"(O)","loc":"f,7:8,7:9","dtypep":"(P)","origName":"__VactIterCount","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactTriggered","addr":"(Q)","loc":"f,7:8,7:9","dtypep":"(R)","origName":"__VactTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VnbaTriggered","addr":"(S)","loc":"f,7:8,7:9","dtypep":"(R)","origName":"__VnbaTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"CELL","name":"t","addr":"(T)","loc":"f,7:8,7:9","origName":"t","recursive":false,"modp":"(U)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"TOPSCOPE","name":"","addr":"(H)","loc":"f,7:8,7:9","senTreesp": [],
|
||||
"scopep": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(V)","loc":"f,7:8,7:9","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(I)","varsp": [],"blocksp": []}
|
||||
]},
|
||||
{"type":"CFUNC","name":"_eval_static","addr":"(W)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(X)","loc":"f,7:8,7:9",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(Y)","loc":"f,7:8,7:9","dtypep":"(Z)","funcName":"_eval_static__TOP__t","funcp":"(AB)","argsp": []}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial","addr":"(BB)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(CB)","loc":"f,7:8,7:9",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(DB)","loc":"f,7:8,7:9","dtypep":"(Z)","funcName":"_eval_initial__TOP__t","funcp":"(EB)","argsp": []}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(FB)","loc":"f,87:12,87:15",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(GB)","loc":"f,87:12,87:15","dtypep":"(Z)","funcName":"_eval_initial__TOP__t__ma0__mb0","funcp":"(HB)","argsp": []}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(IB)","loc":"f,103:15,103:18",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(JB)","loc":"f,103:15,103:18","dtypep":"(Z)","funcName":"_eval_initial__TOP__t__ma0__mb0__mc0","funcp":"(KB)","argsp": []}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(LB)","loc":"f,104:15,104:18",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(MB)","loc":"f,104:15,104:18","dtypep":"(Z)","funcName":"_eval_initial__TOP__t__ma0__mb0__mc1","funcp":"(NB)","argsp": []}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(OB)","loc":"f,27:22,27:25","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(QB)","loc":"f,27:22,27:25","dtypep":"(PB)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(RB)","loc":"f,27:22,27:25","dtypep":"(PB)","access":"WR","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_final","addr":"(SB)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_settle","addr":"(TB)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_triggers__act","addr":"(UB)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(VB)","loc":"f,7:8,7:9",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"set","addr":"(WB)","loc":"f,7:8,7:9","dtypep":"(Z)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(XB)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(YB)","loc":"f,7:8,7:9","dtypep":"(ZB)"},
|
||||
{"type":"AND","name":"","addr":"(AC)","loc":"f,27:14,27:21","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(BC)","loc":"f,27:22,27:25","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(CC)","loc":"f,27:22,27:25","dtypep":"(PB)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(DC)","loc":"f,27:14,27:21","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(EC)","loc":"f,27:14,27:21","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(FC)","loc":"f,27:14,27:21","dtypep":"(PB)","access":"RD","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(GC)","loc":"f,27:22,27:25","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(HC)","loc":"f,27:22,27:25","dtypep":"(PB)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(IC)","loc":"f,27:22,27:25","dtypep":"(PB)","access":"WR","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(JC)","loc":"f,7:8,7:9","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(KC)","loc":"f,7:8,7:9","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"TEXT","name":"","addr":"(LC)","loc":"f,7:8,7:9","shortText":"if (VL_UNLIKELY(vlSymsp->_vm_contextp__->debug())) {..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(MC)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(NC)","loc":"a,0:0,0:0","dtypep":"(Z)","funcName":"_dump_triggers__act","funcp":"(OC)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(PC)","loc":"f,7:8,7:9","shortText":"}..."},
|
||||
{"type":"TEXT","name":"","addr":"(QC)","loc":"f,7:8,7:9","shortText":"#endif..."}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_dump_triggers__act","addr":"(OC)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(RC)","loc":"f,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(SC)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(TC)","loc":"f,7:8,7:9","dtypep":"(ZB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(UC)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(VC)","loc":"f,7:8,7:9","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(WC)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(XC)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(YC)","loc":"f,7:8,7:9","shortText":"VL_DBG_MSGF(\" No triggers active\\n\");..."}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(ZC)","loc":"f,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(AD)","loc":"f,7:8,7:9","dtypep":"(BD)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(CD)","loc":"f,7:8,7:9","dtypep":"(BD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(DD)","loc":"f,7:8,7:9","dtypep":"(ED)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(FD)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(GD)","loc":"f,7:8,7:9","dtypep":"(ZB)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(HD)","loc":"f,7:8,7:9","shortText":"VL_DBG_MSGF(\" 'act' region trigger index 0 is active: @(posedge clk)\\n\");..."}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_dump_triggers__nba","addr":"(ID)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(JD)","loc":"f,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(KD)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(LD)","loc":"f,7:8,7:9","dtypep":"(ZB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(MD)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(ND)","loc":"f,7:8,7:9","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(OD)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(PD)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(QD)","loc":"f,7:8,7:9","shortText":"VL_DBG_MSGF(\" No triggers active\\n\");..."}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(RD)","loc":"f,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(SD)","loc":"f,7:8,7:9","dtypep":"(BD)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(TD)","loc":"f,7:8,7:9","dtypep":"(BD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(UD)","loc":"f,7:8,7:9","dtypep":"(ED)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(VD)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(WD)","loc":"f,7:8,7:9","dtypep":"(ZB)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(XD)","loc":"f,7:8,7:9","shortText":"VL_DBG_MSGF(\" 'nba' region trigger index 0 is active: @(posedge clk)\\n\");..."}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_act","addr":"(YD)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_nba","addr":"(G)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(ZD)","loc":"f,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(AE)","loc":"f,7:8,7:9","dtypep":"(BD)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(BE)","loc":"f,7:8,7:9","dtypep":"(BD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(CE)","loc":"f,7:8,7:9","dtypep":"(ED)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(DE)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(EE)","loc":"f,7:8,7:9","dtypep":"(ZB)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(FE)","loc":"f,28:7,28:10",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(GE)","loc":"f,28:7,28:10","dtypep":"(Z)","funcName":"_nba_sequent__TOP__t__0","funcp":"(HE)","argsp": []}
|
||||
]}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_phase__act","addr":"(IE)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VpreTriggered","addr":"(JE)","loc":"f,7:8,7:9","dtypep":"(R)","origName":"__VpreTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactExecute","addr":"(KE)","loc":"f,7:8,7:9","dtypep":"(N)","origName":"__VactExecute","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(LE)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(ME)","loc":"a,0:0,0:0","dtypep":"(Z)","funcName":"_eval_triggers__act","funcp":"(UB)","argsp": []}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(NE)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(OE)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(PE)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(QE)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(KE)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(RE)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(SE)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(KE)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(TE)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"andNot","addr":"(UE)","loc":"a,0:0,0:0","dtypep":"(Z)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VpreTriggered","addr":"(VE)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(JE)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(WE)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"},
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(XE)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(YE)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"thisOr","addr":"(ZE)","loc":"a,0:0,0:0","dtypep":"(Z)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(AF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(BF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(CF)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(DF)","loc":"a,0:0,0:0","dtypep":"(Z)","funcName":"_eval_act","funcp":"(YD)","argsp": []}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"CRETURN","name":"","addr":"(EF)","loc":"a,0:0,0:0",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(FF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(KE)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_phase__nba","addr":"(GF)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VnbaExecute","addr":"(HF)","loc":"f,7:8,7:9","dtypep":"(N)","origName":"__VnbaExecute","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(IF)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(JF)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(KF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(LF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(HF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(MF)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(NF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(HF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(OF)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(PF)","loc":"a,0:0,0:0","dtypep":"(Z)","funcName":"_eval_nba","funcp":"(G)","argsp": []}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(QF)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"clear","addr":"(RF)","loc":"a,0:0,0:0","dtypep":"(Z)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(SF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"CRETURN","name":"","addr":"(TF)","loc":"a,0:0,0:0",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(UF)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(HF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval","addr":"(F)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(V)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VnbaIterCount","addr":"(VF)","loc":"f,7:8,7:9","dtypep":"(P)","origName":"__VnbaIterCount","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VnbaContinue","addr":"(WF)","loc":"f,7:8,7:9","dtypep":"(N)","origName":"__VnbaContinue","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(XF)","loc":"f,7:8,7:9","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(YF)","loc":"f,7:8,7:9","dtypep":"(ZB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(ZF)","loc":"f,7:8,7:9","dtypep":"(P)","access":"WR","varp":"(VF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(AG)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(BG)","loc":"f,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(CG)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(WF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"WHILE","name":"","addr":"(DG)","loc":"a,0:0,0:0","precondsp": [],
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(EG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(WF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(FG)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"LT","name":"","addr":"(GG)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h64","addr":"(HG)","loc":"a,0:0,0:0","dtypep":"(ZB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(IG)","loc":"a,0:0,0:0","dtypep":"(P)","access":"RD","varp":"(VF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(JG)","loc":"a,0:0,0:0","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(KG)","loc":"a,0:0,0:0","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(LG)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(MG)","loc":"a,0:0,0:0","dtypep":"(Z)","funcName":"_dump_triggers__nba","funcp":"(ID)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(NG)","loc":"a,0:0,0:0","shortText":"#endif..."},
|
||||
{"type":"TEXT","name":"","addr":"(OG)","loc":"a,0:0,0:0","shortText":"VL_FATAL_MT(\"t/t_func_dotted.v\", 7, \"\", "},
|
||||
{"type":"TEXT","name":"","addr":"(PG)","loc":"a,0:0,0:0","shortText":"\"NBA region did not converge.\");..."}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(QG)","loc":"f,7:8,7:9","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(RG)","loc":"f,7:8,7:9","dtypep":"(P)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(SG)","loc":"f,7:8,7:9","dtypep":"(ZB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(TG)","loc":"f,7:8,7:9","dtypep":"(ZB)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(UG)","loc":"f,7:8,7:9","dtypep":"(P)","access":"RD","varp":"(VF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(VG)","loc":"f,7:8,7:9","dtypep":"(P)","access":"WR","varp":"(VF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(WG)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h0","addr":"(XG)","loc":"f,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(YG)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(WF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(ZG)","loc":"f,7:8,7:9","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(AH)","loc":"f,7:8,7:9","dtypep":"(ZB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(BH)","loc":"f,7:8,7:9","dtypep":"(P)","access":"WR","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(CH)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(DH)","loc":"f,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(EH)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"WHILE","name":"","addr":"(FH)","loc":"a,0:0,0:0","precondsp": [],
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(GH)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(HH)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"LT","name":"","addr":"(IH)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h64","addr":"(JH)","loc":"a,0:0,0:0","dtypep":"(ZB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(KH)","loc":"a,0:0,0:0","dtypep":"(P)","access":"RD","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(LH)","loc":"a,0:0,0:0","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(MH)","loc":"a,0:0,0:0","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(NH)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(OH)","loc":"a,0:0,0:0","dtypep":"(Z)","funcName":"_dump_triggers__act","funcp":"(OC)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(PH)","loc":"a,0:0,0:0","shortText":"#endif..."},
|
||||
{"type":"TEXT","name":"","addr":"(QH)","loc":"a,0:0,0:0","shortText":"VL_FATAL_MT(\"t/t_func_dotted.v\", 7, \"\", "},
|
||||
{"type":"TEXT","name":"","addr":"(RH)","loc":"a,0:0,0:0","shortText":"\"Active region did not converge.\");..."}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(SH)","loc":"f,7:8,7:9","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(TH)","loc":"f,7:8,7:9","dtypep":"(P)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(UH)","loc":"f,7:8,7:9","dtypep":"(ZB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(VH)","loc":"f,7:8,7:9","dtypep":"(ZB)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(WH)","loc":"f,7:8,7:9","dtypep":"(P)","access":"RD","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(XH)","loc":"f,7:8,7:9","dtypep":"(P)","access":"WR","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(YH)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h0","addr":"(ZH)","loc":"f,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(AI)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(BI)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"CCALL","name":"","addr":"(CI)","loc":"a,0:0,0:0","dtypep":"(PB)","funcName":"_eval_phase__act","funcp":"(IE)","argsp": []}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(DI)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(EI)","loc":"f,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(FI)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],"incsp": []},
|
||||
{"type":"IF","name":"","addr":"(GI)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"CCALL","name":"","addr":"(HI)","loc":"a,0:0,0:0","dtypep":"(PB)","funcName":"_eval_phase__nba","funcp":"(GF)","argsp": []}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(II)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(JI)","loc":"f,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(KI)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(WF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],"incsp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_debug_assertions","addr":"(LI)","loc":"f,7:8,7:9","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(MI)","loc":"f,22:10,22:13",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(NI)","loc":"f,22:10,22:13","dtypep":"(K)",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(OI)","loc":"f,22:10,22:13","dtypep":"(K)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"8'hfe","addr":"(PI)","loc":"f,22:10,22:13","dtypep":"(QI)"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"CSTMT","name":"","addr":"(RI)","loc":"f,22:10,22:13",
|
||||
"exprsp": [
|
||||
{"type":"TEXT","name":"","addr":"(SI)","loc":"f,22:10,22:13","shortText":"Verilated::overWidthError(\"clk\");"}
|
||||
]}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(TI)","loc":"f,7:8,7:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CRESET","name":"","addr":"(UI)","loc":"f,22:10,22:13",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(VI)","loc":"f,22:10,22:13","dtypep":"(K)","access":"WR","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(WI)","loc":"f,7:8,7:9",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(XI)","loc":"f,7:8,7:9","dtypep":"(K)","access":"WR","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CUSE","name":"t","addr":"(YI)","loc":"f,7:8,7:9","useType":"INT_FWD"}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"t","addr":"(U)","loc":"f,7:8,7:9","origName":"t","level":2,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"clk","addr":"(ZI)","loc":"f,22:10,22:13","dtypep":"(K)","origName":"clk","isSc":false,"isPrimaryIO":false,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":true,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"cyc","addr":"(AJ)","loc":"f,23:12,23:15","dtypep":"(BJ)","origName":"cyc","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"VAR","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"CELL","name":"ma0","addr":"(CJ)","loc":"f,14:7,14:10","origName":"ma0","recursive":false,"modp":"(DJ)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"SCOPE","name":"t","addr":"(EJ)","loc":"f,7:8,7:9","aboveScopep":"(V)","aboveCellp":"(T)","modp":"(U)","varsp": [],"blocksp": []},
|
||||
{"type":"CFUNC","name":"_eval_static__TOP__t","addr":"(AB)","loc":"f,7:8,7:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(EJ)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(FJ)","loc":"f,23:16,23:17","dtypep":"(BJ)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'sh1","addr":"(GJ)","loc":"f,23:16,23:17","dtypep":"(HJ)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"cyc","addr":"(IJ)","loc":"f,23:16,23:17","dtypep":"(BJ)","access":"WR","varp":"(AJ)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial__TOP__t","addr":"(EB)","loc":"f,7:8,7:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(EJ)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"COMMENT","name":"Function: f","addr":"(JJ)","loc":"f,16:25,16:26"},
|
||||
{"type":"DISPLAY","name":"","addr":"(KJ)","loc":"f,154:7,154:15",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"%m","addr":"(LJ)","loc":"f,154:7,154:15","dtypep":"(MJ)","exprsp": [],
|
||||
"scopeNamep": [
|
||||
{"type":"SCOPENAME","name":"","addr":"(NJ)","loc":"f,154:7,154:15","dtypep":"(ED)","dpiExport":false,"forFormat":true,
|
||||
"scopeAttrp": [
|
||||
{"type":"TEXT","name":"","addr":"(OJ)","loc":"f,154:7,154:15","shortText":"__DOT__TOP.t.ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(PJ)","loc":"f,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"},
|
||||
{"type":"TEXT","name":"","addr":"(QJ)","loc":"f,154:7,154:15","shortText":"__DOT__f"}
|
||||
],
|
||||
"scopeEntrp": [
|
||||
{"type":"TEXT","name":"","addr":"(RJ)","loc":"f,154:7,154:15","shortText":"__DOT__TOP.t.ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(SJ)","loc":"f,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"}
|
||||
]}
|
||||
]}
|
||||
],"filep": []},
|
||||
{"type":"COMMENT","name":"Function: f","addr":"(TJ)","loc":"f,17:25,17:26"},
|
||||
{"type":"DISPLAY","name":"","addr":"(UJ)","loc":"f,154:7,154:15",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"%m","addr":"(VJ)","loc":"f,154:7,154:15","dtypep":"(MJ)","exprsp": [],
|
||||
"scopeNamep": [
|
||||
{"type":"SCOPENAME","name":"","addr":"(WJ)","loc":"f,154:7,154:15","dtypep":"(ED)","dpiExport":false,"forFormat":true,
|
||||
"scopeAttrp": [
|
||||
{"type":"TEXT","name":"","addr":"(XJ)","loc":"f,154:7,154:15","shortText":"__DOT__TOP.t.ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(YJ)","loc":"f,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"},
|
||||
{"type":"TEXT","name":"","addr":"(ZJ)","loc":"f,154:7,154:15","shortText":"__DOT__f"}
|
||||
],
|
||||
"scopeEntrp": [
|
||||
{"type":"TEXT","name":"","addr":"(AK)","loc":"f,154:7,154:15","shortText":"__DOT__TOP.t.ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(BK)","loc":"f,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"}
|
||||
]}
|
||||
]}
|
||||
],"filep": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_nba_sequent__TOP__t__0","addr":"(HE)","loc":"f,28:7,28:10","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(EJ)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__Vdly__cyc","addr":"(CK)","loc":"f,23:12,23:15","dtypep":"(BJ)","origName":"__Vdly__cyc","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"BLOCKTEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"CRESET","name":"","addr":"(DK)","loc":"f,23:12,23:15",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"__Vdly__cyc","addr":"(EK)","loc":"f,23:12,23:15","dtypep":"(BJ)","access":"WR","varp":"(CK)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGNPRE","name":"","addr":"(FK)","loc":"f,28:7,28:10","dtypep":"(BJ)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"cyc","addr":"(GK)","loc":"f,28:7,28:10","dtypep":"(BJ)","access":"RD","varp":"(AJ)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vdly__cyc","addr":"(HK)","loc":"f,28:7,28:10","dtypep":"(BJ)","access":"WR","varp":"(CK)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNDLY","name":"","addr":"(IK)","loc":"f,28:11,28:13","dtypep":"(BJ)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(JK)","loc":"f,28:18,28:19","dtypep":"(BJ)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(KK)","loc":"f,28:20,28:21","dtypep":"(ZB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'sh1","addr":"(LK)","loc":"f,28:20,28:21","dtypep":"(HJ)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"cyc","addr":"(MK)","loc":"f,28:14,28:17","dtypep":"(BJ)","access":"RD","varp":"(AJ)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vdly__cyc","addr":"(NK)","loc":"f,28:7,28:10","dtypep":"(BJ)","access":"WR","varp":"(CK)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(OK)","loc":"f,48:7,48:9",
|
||||
"condp": [
|
||||
{"type":"EQ","name":"","addr":"(PK)","loc":"f,48:14,48:16","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'sh9","addr":"(QK)","loc":"f,48:16,48:17","dtypep":"(HJ)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"cyc","addr":"(RK)","loc":"f,48:11,48:14","dtypep":"(BJ)","access":"RD","varp":"(AJ)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"DISPLAY","name":"","addr":"(SK)","loc":"f,49:10,49:16",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"*-* All Finished *-*\\n","addr":"(TK)","loc":"f,49:10,49:16","dtypep":"(MJ)","exprsp": [],"scopeNamep": []}
|
||||
],"filep": []},
|
||||
{"type":"FINISH","name":"","addr":"(UK)","loc":"f,50:10,50:17"}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGNPOST","name":"","addr":"(VK)","loc":"f,28:7,28:10","dtypep":"(BJ)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__Vdly__cyc","addr":"(WK)","loc":"f,28:7,28:10","dtypep":"(BJ)","access":"RD","varp":"(CK)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"cyc","addr":"(XK)","loc":"f,28:7,28:10","dtypep":"(BJ)","access":"WR","varp":"(AJ)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(YK)","loc":"f,7:8,7:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CRESET","name":"","addr":"(ZK)","loc":"f,22:10,22:13",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(AL)","loc":"f,22:10,22:13","dtypep":"(K)","access":"WR","varp":"(ZI)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(BL)","loc":"f,23:12,23:15",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"cyc","addr":"(CL)","loc":"f,23:12,23:15","dtypep":"(BJ)","access":"WR","varp":"(AJ)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CUSE","name":"ma","addr":"(DL)","loc":"f,14:7,14:10","useType":"INT_FWD"}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"ma","addr":"(DJ)","loc":"f,84:8,84:10","origName":"ma","level":3,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CELL","name":"mb0","addr":"(EL)","loc":"f,87:12,87:15","origName":"mb0","recursive":false,"modp":"(FL)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"SCOPE","name":"t.ma0","addr":"(GL)","loc":"f,14:7,14:10","aboveScopep":"(EJ)","aboveCellp":"(CJ)","modp":"(DJ)","varsp": [],"blocksp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(HL)","loc":"f,84:8,84:10","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CUSE","name":"mb","addr":"(IL)","loc":"f,87:12,87:15","useType":"INT_FWD"}
|
||||
],"activesp": []},
|
||||
{"type":"PACKAGE","name":"$unit","addr":"(E)","loc":"a,0:0,0:0","origName":"__024unit","level":3,"modPublic":false,"inLibrary":true,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(JL)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"mb","addr":"(FL)","loc":"f,99:8,99:10","origName":"mb","level":4,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CELL","name":"mc0","addr":"(KL)","loc":"f,103:15,103:18","origName":"mc0","recursive":false,"modp":"(LL)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"CELL","name":"mc1","addr":"(ML)","loc":"f,104:15,104:18","origName":"mc1","recursive":false,"modp":"(NL)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"SCOPE","name":"t.ma0.mb0","addr":"(OL)","loc":"f,87:12,87:15","aboveScopep":"(GL)","aboveCellp":"(EL)","modp":"(FL)","varsp": [],"blocksp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial__TOP__t__ma0__mb0","addr":"(HB)","loc":"f,87:12,87:15","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(OL)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(PL)","loc":"f,118:11,118:20"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(QL)","loc":"f,119:8,119:17"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(RL)","loc":"f,120:11,120:20"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(SL)","loc":"f,121:11,121:20"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(TL)","loc":"f,121:26,121:33"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(UL)","loc":"f,122:8,122:17"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(VL)","loc":"f,122:23,122:30"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(WL)","loc":"f,123:11,123:20"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(XL)","loc":"f,123:26,123:33"}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(YL)","loc":"f,99:8,99:10","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CUSE","name":"mc","addr":"(ZL)","loc":"f,103:15,103:18","useType":"INT_FWD"},
|
||||
{"type":"CUSE","name":"mc__PB1","addr":"(AM)","loc":"f,104:15,104:18","useType":"INT_FWD"}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"mc","addr":"(LL)","loc":"f,127:8,127:10","origName":"mc","level":5,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"t.ma0.mb0.mc0","addr":"(BM)","loc":"f,103:15,103:18","aboveScopep":"(OL)","aboveCellp":"(KL)","modp":"(LL)","varsp": [],"blocksp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial__TOP__t__ma0__mb0__mc0","addr":"(KB)","loc":"f,103:15,103:18","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(BM)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(CM)","loc":"f,142:10,142:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(DM)","loc":"f,143:10,143:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(EM)","loc":"f,144:10,144:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(FM)","loc":"f,145:10,145:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(GM)","loc":"f,145:24,145:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(HM)","loc":"f,146:10,146:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(IM)","loc":"f,146:24,146:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(JM)","loc":"f,147:10,147:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(KM)","loc":"f,147:24,147:31"}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(LM)","loc":"f,127:8,127:10","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"mc__PB1","addr":"(NL)","loc":"f,127:8,127:10","origName":"mc","level":5,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"t.ma0.mb0.mc1","addr":"(MM)","loc":"f,104:15,104:18","aboveScopep":"(OL)","aboveCellp":"(ML)","modp":"(NL)","varsp": [],"blocksp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial__TOP__t__ma0__mb0__mc1","addr":"(NB)","loc":"f,104:15,104:18","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(MM)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(NM)","loc":"f,142:10,142:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(OM)","loc":"f,143:10,143:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(PM)","loc":"f,144:10,144:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(QM)","loc":"f,145:10,145:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(RM)","loc":"f,145:24,145:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(SM)","loc":"f,146:10,146:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(TM)","loc":"f,146:24,146:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(UM)","loc":"f,147:10,147:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(VM)","loc":"f,147:24,147:31"}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(WM)","loc":"f,127:8,127:10","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []}
|
||||
],"activesp": []}
|
||||
],
|
||||
"filesp": [
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt__Syms.cpp","addr":"(XM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt__Syms.h","addr":"(YM)","loc":"a,0:0,0:0","source":false,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt__Dpi.h","addr":"(ZM)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt__Dpi.cpp","addr":"(AN)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt.h","addr":"(BN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt.cpp","addr":"(CN)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_$root.h","addr":"(DN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_t.h","addr":"(EN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_ma.h","addr":"(FN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_$unit.h","addr":"(GN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_mb.h","addr":"(HN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_mc.h","addr":"(IN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_mc__PB1.h","addr":"(JN)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_$root__Slow.cpp","addr":"(KN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_$root__DepSet_h4b0b09a8__0__Slow.cpp","addr":"(LN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_$root__DepSet_h40015385__0__Slow.cpp","addr":"(MN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_$root__DepSet_h4b0b09a8__0.cpp","addr":"(NN)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_$root__DepSet_h40015385__0.cpp","addr":"(ON)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_t__Slow.cpp","addr":"(PN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_t__DepSet_h620a6b84__0__Slow.cpp","addr":"(QN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_t__DepSet_h6900b5a9__0__Slow.cpp","addr":"(RN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_t__DepSet_h6900b5a9__0.cpp","addr":"(SN)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_ma__Slow.cpp","addr":"(TN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_ma__DepSet_hcc56128e__0__Slow.cpp","addr":"(UN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_$unit__Slow.cpp","addr":"(VN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_$unit__DepSet_hb06c9dab__0__Slow.cpp","addr":"(WN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_mb__Slow.cpp","addr":"(XN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_mb__DepSet_h1be3630b__0__Slow.cpp","addr":"(YN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_mc__Slow.cpp","addr":"(ZN)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_mc__DepSet_h7aa410d7__0__Slow.cpp","addr":"(AO)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_mc__PB1__Slow.cpp","addr":"(BO)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl0_vlt/Vt_func_dotted_inl0_vlt_mc__PB1__DepSet_h1c393686__0__Slow.cpp","addr":"(CO)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []}
|
||||
],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(Z)",
|
||||
"typesp": [
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(K)","loc":"d,50:22,50:24","dtypep":"(K)","keyword":"logic","generic":true,"rangep": []},
|
||||
{"type":"VOIDDTYPE","name":"","addr":"(Z)","loc":"d,51:21,51:30","dtypep":"(Z)","generic":false},
|
||||
{"type":"BASICDTYPE","name":"string","addr":"(MJ)","loc":"d,156:10,156:16","dtypep":"(MJ)","keyword":"string","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"QData","addr":"(ED)","loc":"f,154:7,154:15","dtypep":"(ED)","keyword":"QData","range":"63:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"integer","addr":"(BJ)","loc":"f,23:4,23:11","dtypep":"(BJ)","keyword":"integer","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(ZB)","loc":"f,25:20,25:27","dtypep":"(ZB)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(HJ)","loc":"f,23:16,23:17","dtypep":"(HJ)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"VlTriggerVec","addr":"(R)","loc":"f,7:8,7:9","dtypep":"(R)","keyword":"VlTriggerVec","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(BD)","loc":"f,7:8,7:9","dtypep":"(BD)","keyword":"logic","range":"63:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"bit","addr":"(N)","loc":"f,7:8,7:9","dtypep":"(N)","keyword":"bit","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"bit","addr":"(P)","loc":"f,7:8,7:9","dtypep":"(P)","keyword":"bit","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(PB)","loc":"f,27:22,27:25","dtypep":"(PB)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(QI)","loc":"f,22:10,22:13","dtypep":"(QI)","keyword":"logic","range":"7:0","generic":true,"rangep": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(DO)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(EO)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(DO)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -11,17 +11,17 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(simulator => 1);
|
||||
|
||||
top_filename("t/t_func_dotted.v");
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
v_flags2 => ["$Self->{t_dir}/t_func_dotted_inl0.vlt"],
|
||||
v_flags2 => ["--no-json-edit-nums", "$Self->{t_dir}/t_func_dotted_inl0.vlt"],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep("$out_filename", qr/\<module loc="f,84,.*?" name="ma" origName="ma" public="true"\>/i);
|
||||
file_grep("$out_filename", qr/\<module loc="f,99,.*?" name="mb" origName="mb" public="true"\>/i);
|
||||
file_grep("$out_filename", qr/\<module loc="f,127,.*?" name="mc" origName="mc" public="true"\>/i);
|
||||
file_grep("$out_filename", qr/\<module loc="f,127,.*?" name="mc__PB1" origName="mc" public="true"\>/i);
|
||||
file_grep("$out_filename", qr/{"type":"MODULE","name":"ma",.*"loc":"f,84:[^"]*",.*"origName":"ma",.*"modPublic":true/);
|
||||
file_grep("$out_filename", qr/{"type":"MODULE","name":"mb",.*"loc":"f,99:[^"]*",.*"origName":"mb",.*"modPublic":true/);
|
||||
file_grep("$out_filename", qr/{"type":"MODULE","name":"mc",.*"loc":"f,127:[^"]*",.*"origName":"mc",.*"modPublic":true/);
|
||||
file_grep("$out_filename", qr/{"type":"MODULE","name":"mc__PB1",.*"loc":"f,127:[^"]*",.*"origName":"mc",.*"modPublic":true/);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
|
@ -11,16 +11,16 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(simulator => 1);
|
||||
|
||||
top_filename("t/t_func_dotted.v");
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
v_flags2 => ['+define+ATTRIBUTES', '+define+USE_INLINE',],
|
||||
v_flags2 => ["--no-json-edit-nums", '+define+ATTRIBUTES', '+define+USE_INLINE',],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep_not("$out_filename", qr/ma0/i);
|
||||
file_grep_not("$out_filename", qr/mb0/i);
|
||||
file_grep_not("$out_filename", qr/mc0/i);
|
||||
file_grep_not("$out_filename", qr/"ma0"/i);
|
||||
file_grep_not("$out_filename", qr/"mb0"/i);
|
||||
file_grep_not("$out_filename", qr/"mc0"/i);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
|
@ -11,16 +11,16 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(simulator => 1);
|
||||
|
||||
top_filename("t/t_func_dotted.v");
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
v_flags2 => ["t/t_func_dotted_inl1.vlt",],
|
||||
v_flags2 => ["--no-json-edit-nums", "t/t_func_dotted_inl1.vlt",],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep_not("$out_filename", qr/ma0/i);
|
||||
file_grep_not("$out_filename", qr/mb0/i);
|
||||
file_grep_not("$out_filename", qr/mc0/i);
|
||||
file_grep_not("$out_filename", qr/"ma0"/i);
|
||||
file_grep_not("$out_filename", qr/"mb0"/i);
|
||||
file_grep_not("$out_filename", qr/"mc0"/i);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
|
@ -0,0 +1,693 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"(E)","stdPackagep":"UNLINKED","evalp":"(F)","evalNbap":"(G)","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"(H)",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"$root","addr":"(I)","loc":"e,7:8,7:9","origName":"$root","level":1,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"clk","addr":"(J)","loc":"e,22:10,22:13","dtypep":"(K)","origName":"clk","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":true,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"clker","lifetime":"NONE","varType":"PORT","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(L)","loc":"e,7:8,7:9","dtypep":"(K)","origName":"__Vtrigprevexpr___TOP__clk__0","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactContinue","addr":"(M)","loc":"e,7:8,7:9","dtypep":"(N)","origName":"__VactContinue","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.cyc","addr":"(O)","loc":"e,23:12,23:15","dtypep":"(P)","origName":"cyc","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"VAR","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactIterCount","addr":"(Q)","loc":"e,7:8,7:9","dtypep":"(R)","origName":"__VactIterCount","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactTriggered","addr":"(S)","loc":"e,7:8,7:9","dtypep":"(T)","origName":"__VactTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VnbaTriggered","addr":"(U)","loc":"e,7:8,7:9","dtypep":"(T)","origName":"__VnbaTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"CELL","name":"t.ma0.mb0","addr":"(V)","loc":"e,87:12,87:15","origName":"mb0","recursive":false,"modp":"(W)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"TOPSCOPE","name":"","addr":"(H)","loc":"e,7:8,7:9","senTreesp": [],
|
||||
"scopep": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(X)","loc":"e,7:8,7:9","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(I)","varsp": [],"blocksp": []}
|
||||
]},
|
||||
{"type":"CFUNC","name":"_eval_static","addr":"(Y)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(Z)","loc":"e,7:8,7:9",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(AB)","loc":"e,7:8,7:9","dtypep":"(BB)","funcName":"_eval_static__TOP","funcp":"(CB)","argsp": []}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_static__TOP","addr":"(CB)","loc":"e,7:8,7:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(DB)","loc":"e,23:16,23:17","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'sh1","addr":"(EB)","loc":"e,23:16,23:17","dtypep":"(FB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.cyc","addr":"(GB)","loc":"e,23:16,23:17","dtypep":"(P)","access":"WR","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial","addr":"(HB)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(IB)","loc":"e,7:8,7:9",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(JB)","loc":"e,7:8,7:9","dtypep":"(BB)","funcName":"_eval_initial__TOP","funcp":"(KB)","argsp": []}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(LB)","loc":"e,87:12,87:15",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(MB)","loc":"e,87:12,87:15","dtypep":"(BB)","funcName":"_eval_initial__TOP__t__DOT__ma0__DOT__mb0","funcp":"(NB)","argsp": []}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(OB)","loc":"e,27:22,27:25","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(QB)","loc":"e,27:22,27:25","dtypep":"(PB)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(RB)","loc":"e,27:22,27:25","dtypep":"(PB)","access":"WR","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial__TOP","addr":"(KB)","loc":"e,7:8,7:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"COMMENT","name":"Function: f","addr":"(SB)","loc":"e,16:25,16:26"},
|
||||
{"type":"DISPLAY","name":"","addr":"(TB)","loc":"e,154:7,154:15",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"%m","addr":"(UB)","loc":"e,154:7,154:15","dtypep":"(VB)","exprsp": [],
|
||||
"scopeNamep": [
|
||||
{"type":"SCOPENAME","name":"","addr":"(WB)","loc":"e,154:7,154:15","dtypep":"(XB)","dpiExport":false,"forFormat":true,
|
||||
"scopeAttrp": [
|
||||
{"type":"TEXT","name":"","addr":"(YB)","loc":"e,154:7,154:15","shortText":"__DOT__TOP"},
|
||||
{"type":"TEXT","name":"","addr":"(ZB)","loc":"e,154:7,154:15","shortText":"__DOT__t"},
|
||||
{"type":"TEXT","name":"","addr":"(AC)","loc":"e,154:7,154:15","shortText":"__DOT__ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(BC)","loc":"e,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"},
|
||||
{"type":"TEXT","name":"","addr":"(CC)","loc":"e,154:7,154:15","shortText":"__DOT__f"}
|
||||
],
|
||||
"scopeEntrp": [
|
||||
{"type":"TEXT","name":"","addr":"(DC)","loc":"e,154:7,154:15","shortText":"__DOT__TOP"},
|
||||
{"type":"TEXT","name":"","addr":"(EC)","loc":"e,154:7,154:15","shortText":"__DOT__t"},
|
||||
{"type":"TEXT","name":"","addr":"(FC)","loc":"e,154:7,154:15","shortText":"__DOT__ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(GC)","loc":"e,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"}
|
||||
]}
|
||||
]}
|
||||
],"filep": []},
|
||||
{"type":"COMMENT","name":"Function: f","addr":"(HC)","loc":"e,17:25,17:26"},
|
||||
{"type":"DISPLAY","name":"","addr":"(IC)","loc":"e,154:7,154:15",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"%m","addr":"(JC)","loc":"e,154:7,154:15","dtypep":"(VB)","exprsp": [],
|
||||
"scopeNamep": [
|
||||
{"type":"SCOPENAME","name":"","addr":"(KC)","loc":"e,154:7,154:15","dtypep":"(XB)","dpiExport":false,"forFormat":true,
|
||||
"scopeAttrp": [
|
||||
{"type":"TEXT","name":"","addr":"(LC)","loc":"e,154:7,154:15","shortText":"__DOT__TOP"},
|
||||
{"type":"TEXT","name":"","addr":"(MC)","loc":"e,154:7,154:15","shortText":"__DOT__t"},
|
||||
{"type":"TEXT","name":"","addr":"(NC)","loc":"e,154:7,154:15","shortText":"__DOT__ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(OC)","loc":"e,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"},
|
||||
{"type":"TEXT","name":"","addr":"(PC)","loc":"e,154:7,154:15","shortText":"__DOT__f"}
|
||||
],
|
||||
"scopeEntrp": [
|
||||
{"type":"TEXT","name":"","addr":"(QC)","loc":"e,154:7,154:15","shortText":"__DOT__TOP"},
|
||||
{"type":"TEXT","name":"","addr":"(RC)","loc":"e,154:7,154:15","shortText":"__DOT__t"},
|
||||
{"type":"TEXT","name":"","addr":"(SC)","loc":"e,154:7,154:15","shortText":"__DOT__ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(TC)","loc":"e,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"}
|
||||
]}
|
||||
]}
|
||||
],"filep": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_final","addr":"(UC)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_settle","addr":"(VC)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_triggers__act","addr":"(WC)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(XC)","loc":"e,7:8,7:9",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"set","addr":"(YC)","loc":"e,7:8,7:9","dtypep":"(BB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(ZC)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(AD)","loc":"e,7:8,7:9","dtypep":"(BD)"},
|
||||
{"type":"AND","name":"","addr":"(CD)","loc":"e,27:14,27:21","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(DD)","loc":"e,27:22,27:25","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(ED)","loc":"e,27:22,27:25","dtypep":"(PB)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(FD)","loc":"e,27:14,27:21","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(GD)","loc":"e,27:14,27:21","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(HD)","loc":"e,27:14,27:21","dtypep":"(PB)","access":"RD","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(ID)","loc":"e,27:22,27:25","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(JD)","loc":"e,27:22,27:25","dtypep":"(PB)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(KD)","loc":"e,27:22,27:25","dtypep":"(PB)","access":"WR","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(LD)","loc":"e,7:8,7:9","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(MD)","loc":"e,7:8,7:9","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"TEXT","name":"","addr":"(ND)","loc":"e,7:8,7:9","shortText":"if (VL_UNLIKELY(vlSymsp->_vm_contextp__->debug())) {..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(OD)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(PD)","loc":"a,0:0,0:0","dtypep":"(BB)","funcName":"_dump_triggers__act","funcp":"(QD)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(RD)","loc":"e,7:8,7:9","shortText":"}..."},
|
||||
{"type":"TEXT","name":"","addr":"(SD)","loc":"e,7:8,7:9","shortText":"#endif..."}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_dump_triggers__act","addr":"(QD)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(TD)","loc":"e,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(UD)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(VD)","loc":"e,7:8,7:9","dtypep":"(BD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(WD)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(XD)","loc":"e,7:8,7:9","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(YD)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(ZD)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(AE)","loc":"e,7:8,7:9","shortText":"VL_DBG_MSGF(\" No triggers active\\n\");..."}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(BE)","loc":"e,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(CE)","loc":"e,7:8,7:9","dtypep":"(DE)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(EE)","loc":"e,7:8,7:9","dtypep":"(DE)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(FE)","loc":"e,7:8,7:9","dtypep":"(XB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(GE)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(HE)","loc":"e,7:8,7:9","dtypep":"(BD)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(IE)","loc":"e,7:8,7:9","shortText":"VL_DBG_MSGF(\" 'act' region trigger index 0 is active: @(posedge clk)\\n\");..."}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_dump_triggers__nba","addr":"(JE)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(KE)","loc":"e,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(LE)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(ME)","loc":"e,7:8,7:9","dtypep":"(BD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(NE)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(OE)","loc":"e,7:8,7:9","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(PE)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(QE)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(RE)","loc":"e,7:8,7:9","shortText":"VL_DBG_MSGF(\" No triggers active\\n\");..."}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(SE)","loc":"e,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(TE)","loc":"e,7:8,7:9","dtypep":"(DE)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(UE)","loc":"e,7:8,7:9","dtypep":"(DE)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(VE)","loc":"e,7:8,7:9","dtypep":"(XB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(WE)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(XE)","loc":"e,7:8,7:9","dtypep":"(BD)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(YE)","loc":"e,7:8,7:9","shortText":"VL_DBG_MSGF(\" 'nba' region trigger index 0 is active: @(posedge clk)\\n\");..."}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_act","addr":"(ZE)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_nba_sequent__TOP__0","addr":"(AF)","loc":"e,28:7,28:10","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__Vdly__t.cyc","addr":"(BF)","loc":"e,23:12,23:15","dtypep":"(P)","origName":"__Vdly__t__DOT__cyc","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"BLOCKTEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"CRESET","name":"","addr":"(CF)","loc":"e,23:12,23:15",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"__Vdly__t.cyc","addr":"(DF)","loc":"e,23:12,23:15","dtypep":"(P)","access":"WR","varp":"(BF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGNPRE","name":"","addr":"(EF)","loc":"e,28:7,28:10","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"t.cyc","addr":"(FF)","loc":"e,28:7,28:10","dtypep":"(P)","access":"RD","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vdly__t.cyc","addr":"(GF)","loc":"e,28:7,28:10","dtypep":"(P)","access":"WR","varp":"(BF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNDLY","name":"","addr":"(HF)","loc":"e,28:11,28:13","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(IF)","loc":"e,28:18,28:19","dtypep":"(P)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(JF)","loc":"e,28:20,28:21","dtypep":"(BD)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'sh1","addr":"(KF)","loc":"e,28:20,28:21","dtypep":"(FB)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"t.cyc","addr":"(LF)","loc":"e,28:14,28:17","dtypep":"(P)","access":"RD","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vdly__t.cyc","addr":"(MF)","loc":"e,28:7,28:10","dtypep":"(P)","access":"WR","varp":"(BF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(NF)","loc":"e,48:7,48:9",
|
||||
"condp": [
|
||||
{"type":"EQ","name":"","addr":"(OF)","loc":"e,48:14,48:16","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'sh9","addr":"(PF)","loc":"e,48:16,48:17","dtypep":"(FB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"t.cyc","addr":"(QF)","loc":"e,48:11,48:14","dtypep":"(P)","access":"RD","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"DISPLAY","name":"","addr":"(RF)","loc":"e,49:10,49:16",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"*-* All Finished *-*\\n","addr":"(SF)","loc":"e,49:10,49:16","dtypep":"(VB)","exprsp": [],"scopeNamep": []}
|
||||
],"filep": []},
|
||||
{"type":"FINISH","name":"","addr":"(TF)","loc":"e,50:10,50:17"}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGNPOST","name":"","addr":"(UF)","loc":"e,28:7,28:10","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__Vdly__t.cyc","addr":"(VF)","loc":"e,28:7,28:10","dtypep":"(P)","access":"RD","varp":"(BF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.cyc","addr":"(WF)","loc":"e,28:7,28:10","dtypep":"(P)","access":"WR","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_nba","addr":"(G)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(XF)","loc":"e,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(YF)","loc":"e,7:8,7:9","dtypep":"(DE)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(ZF)","loc":"e,7:8,7:9","dtypep":"(DE)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(AG)","loc":"e,7:8,7:9","dtypep":"(XB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(BG)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(CG)","loc":"e,7:8,7:9","dtypep":"(BD)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(DG)","loc":"e,28:7,28:10",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(EG)","loc":"e,28:7,28:10","dtypep":"(BB)","funcName":"_nba_sequent__TOP__0","funcp":"(AF)","argsp": []}
|
||||
]}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_phase__act","addr":"(FG)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VpreTriggered","addr":"(GG)","loc":"e,7:8,7:9","dtypep":"(T)","origName":"__VpreTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactExecute","addr":"(HG)","loc":"e,7:8,7:9","dtypep":"(N)","origName":"__VactExecute","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(IG)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(JG)","loc":"a,0:0,0:0","dtypep":"(BB)","funcName":"_eval_triggers__act","funcp":"(WC)","argsp": []}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(KG)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(LG)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(MG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(NG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(HG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(OG)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(PG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(HG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(QG)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"andNot","addr":"(RG)","loc":"a,0:0,0:0","dtypep":"(BB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VpreTriggered","addr":"(SG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(GG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(TG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"},
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(UG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(VG)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"thisOr","addr":"(WG)","loc":"a,0:0,0:0","dtypep":"(BB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(XG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(YG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(ZG)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(AH)","loc":"a,0:0,0:0","dtypep":"(BB)","funcName":"_eval_act","funcp":"(ZE)","argsp": []}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"CRETURN","name":"","addr":"(BH)","loc":"a,0:0,0:0",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(CH)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(HG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_phase__nba","addr":"(DH)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VnbaExecute","addr":"(EH)","loc":"e,7:8,7:9","dtypep":"(N)","origName":"__VnbaExecute","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(FH)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(GH)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(HH)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(IH)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(EH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(JH)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(KH)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(EH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(LH)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(MH)","loc":"a,0:0,0:0","dtypep":"(BB)","funcName":"_eval_nba","funcp":"(G)","argsp": []}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(NH)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"clear","addr":"(OH)","loc":"a,0:0,0:0","dtypep":"(BB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(PH)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"CRETURN","name":"","addr":"(QH)","loc":"a,0:0,0:0",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(RH)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(EH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval","addr":"(F)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VnbaIterCount","addr":"(SH)","loc":"e,7:8,7:9","dtypep":"(R)","origName":"__VnbaIterCount","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VnbaContinue","addr":"(TH)","loc":"e,7:8,7:9","dtypep":"(N)","origName":"__VnbaContinue","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(UH)","loc":"e,7:8,7:9","dtypep":"(R)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(VH)","loc":"e,7:8,7:9","dtypep":"(BD)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(WH)","loc":"e,7:8,7:9","dtypep":"(R)","access":"WR","varp":"(SH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(XH)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(YH)","loc":"e,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(ZH)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(TH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"WHILE","name":"","addr":"(AI)","loc":"a,0:0,0:0","precondsp": [],
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(BI)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(TH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(CI)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"LT","name":"","addr":"(DI)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h64","addr":"(EI)","loc":"a,0:0,0:0","dtypep":"(BD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(FI)","loc":"a,0:0,0:0","dtypep":"(R)","access":"RD","varp":"(SH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(GI)","loc":"a,0:0,0:0","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(HI)","loc":"a,0:0,0:0","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(II)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(JI)","loc":"a,0:0,0:0","dtypep":"(BB)","funcName":"_dump_triggers__nba","funcp":"(JE)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(KI)","loc":"a,0:0,0:0","shortText":"#endif..."},
|
||||
{"type":"TEXT","name":"","addr":"(LI)","loc":"a,0:0,0:0","shortText":"VL_FATAL_MT(\"t/t_func_dotted.v\", 7, \"\", "},
|
||||
{"type":"TEXT","name":"","addr":"(MI)","loc":"a,0:0,0:0","shortText":"\"NBA region did not converge.\");..."}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(NI)","loc":"e,7:8,7:9","dtypep":"(R)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(OI)","loc":"e,7:8,7:9","dtypep":"(R)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(PI)","loc":"e,7:8,7:9","dtypep":"(BD)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(QI)","loc":"e,7:8,7:9","dtypep":"(BD)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(RI)","loc":"e,7:8,7:9","dtypep":"(R)","access":"RD","varp":"(SH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(SI)","loc":"e,7:8,7:9","dtypep":"(R)","access":"WR","varp":"(SH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(TI)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h0","addr":"(UI)","loc":"e,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(VI)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(TH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(WI)","loc":"e,7:8,7:9","dtypep":"(R)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(XI)","loc":"e,7:8,7:9","dtypep":"(BD)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(YI)","loc":"e,7:8,7:9","dtypep":"(R)","access":"WR","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(ZI)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(AJ)","loc":"e,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(BJ)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"WHILE","name":"","addr":"(CJ)","loc":"a,0:0,0:0","precondsp": [],
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(DJ)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(EJ)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"LT","name":"","addr":"(FJ)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h64","addr":"(GJ)","loc":"a,0:0,0:0","dtypep":"(BD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(HJ)","loc":"a,0:0,0:0","dtypep":"(R)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(IJ)","loc":"a,0:0,0:0","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(JJ)","loc":"a,0:0,0:0","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(KJ)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(LJ)","loc":"a,0:0,0:0","dtypep":"(BB)","funcName":"_dump_triggers__act","funcp":"(QD)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(MJ)","loc":"a,0:0,0:0","shortText":"#endif..."},
|
||||
{"type":"TEXT","name":"","addr":"(NJ)","loc":"a,0:0,0:0","shortText":"VL_FATAL_MT(\"t/t_func_dotted.v\", 7, \"\", "},
|
||||
{"type":"TEXT","name":"","addr":"(OJ)","loc":"a,0:0,0:0","shortText":"\"Active region did not converge.\");..."}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(PJ)","loc":"e,7:8,7:9","dtypep":"(R)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(QJ)","loc":"e,7:8,7:9","dtypep":"(R)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(RJ)","loc":"e,7:8,7:9","dtypep":"(BD)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(SJ)","loc":"e,7:8,7:9","dtypep":"(BD)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(TJ)","loc":"e,7:8,7:9","dtypep":"(R)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(UJ)","loc":"e,7:8,7:9","dtypep":"(R)","access":"WR","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(VJ)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h0","addr":"(WJ)","loc":"e,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(XJ)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(YJ)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"CCALL","name":"","addr":"(ZJ)","loc":"a,0:0,0:0","dtypep":"(PB)","funcName":"_eval_phase__act","funcp":"(FG)","argsp": []}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(AK)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(BK)","loc":"e,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(CK)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],"incsp": []},
|
||||
{"type":"IF","name":"","addr":"(DK)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"CCALL","name":"","addr":"(EK)","loc":"a,0:0,0:0","dtypep":"(PB)","funcName":"_eval_phase__nba","funcp":"(DH)","argsp": []}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(FK)","loc":"e,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(GK)","loc":"e,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(HK)","loc":"e,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(TH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],"incsp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_debug_assertions","addr":"(IK)","loc":"e,7:8,7:9","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(JK)","loc":"e,22:10,22:13",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(KK)","loc":"e,22:10,22:13","dtypep":"(K)",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(LK)","loc":"e,22:10,22:13","dtypep":"(K)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"8'hfe","addr":"(MK)","loc":"e,22:10,22:13","dtypep":"(NK)"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"CSTMT","name":"","addr":"(OK)","loc":"e,22:10,22:13",
|
||||
"exprsp": [
|
||||
{"type":"TEXT","name":"","addr":"(PK)","loc":"e,22:10,22:13","shortText":"Verilated::overWidthError(\"clk\");"}
|
||||
]}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(QK)","loc":"e,7:8,7:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CRESET","name":"","addr":"(RK)","loc":"e,22:10,22:13",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(SK)","loc":"e,22:10,22:13","dtypep":"(K)","access":"WR","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(TK)","loc":"e,23:12,23:15",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"t.cyc","addr":"(UK)","loc":"e,23:12,23:15","dtypep":"(P)","access":"WR","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(VK)","loc":"e,7:8,7:9",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(WK)","loc":"e,7:8,7:9","dtypep":"(K)","access":"WR","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CUSE","name":"mb","addr":"(XK)","loc":"e,87:12,87:15","useType":"INT_FWD"}
|
||||
],"activesp": []},
|
||||
{"type":"PACKAGE","name":"$unit","addr":"(E)","loc":"a,0:0,0:0","origName":"__024unit","level":3,"modPublic":false,"inLibrary":true,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(YK)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"mb","addr":"(W)","loc":"e,99:8,99:10","origName":"mb","level":4,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"t.ma0.mb0","addr":"(ZK)","loc":"e,87:12,87:15","aboveScopep":"(X)","aboveCellp":"(V)","modp":"(W)","varsp": [],"blocksp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial__TOP__t.ma0.mb0","addr":"(NB)","loc":"e,87:12,87:15","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(ZK)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(AL)","loc":"e,118:11,118:20"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(BL)","loc":"e,119:8,119:17"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(CL)","loc":"e,120:11,120:20"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(DL)","loc":"e,121:11,121:20"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(EL)","loc":"e,121:26,121:33"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(FL)","loc":"e,122:8,122:17"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(GL)","loc":"e,122:23,122:30"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(HL)","loc":"e,123:11,123:20"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(IL)","loc":"e,123:26,123:33"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(JL)","loc":"e,142:10,142:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(KL)","loc":"e,143:10,143:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(LL)","loc":"e,144:10,144:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(ML)","loc":"e,145:10,145:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(NL)","loc":"e,145:24,145:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(OL)","loc":"e,146:10,146:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(PL)","loc":"e,146:24,146:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(QL)","loc":"e,147:10,147:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(RL)","loc":"e,147:24,147:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(SL)","loc":"e,142:10,142:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(TL)","loc":"e,143:10,143:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(UL)","loc":"e,144:10,144:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(VL)","loc":"e,145:10,145:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(WL)","loc":"e,145:24,145:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(XL)","loc":"e,146:10,146:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(YL)","loc":"e,146:24,146:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(ZL)","loc":"e,147:10,147:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(AM)","loc":"e,147:24,147:31"}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(BM)","loc":"e,99:8,99:10","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []}
|
||||
],"activesp": []}
|
||||
],
|
||||
"filesp": [
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2__Syms.cpp","addr":"(CM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2__Syms.h","addr":"(DM)","loc":"a,0:0,0:0","source":false,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2.h","addr":"(EM)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2.cpp","addr":"(FM)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2_$root.h","addr":"(GM)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2_$unit.h","addr":"(HM)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2_mb.h","addr":"(IM)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2_$root__Slow.cpp","addr":"(JM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2_$root__DepSet_hfe3fbcf1__0__Slow.cpp","addr":"(KM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2_$root__DepSet_hc7543dab__0__Slow.cpp","addr":"(LM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2_$root__DepSet_hfe3fbcf1__0.cpp","addr":"(MM)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2_$root__DepSet_hc7543dab__0.cpp","addr":"(NM)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2_$unit__Slow.cpp","addr":"(OM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2_$unit__DepSet_hf1a5ce9e__0__Slow.cpp","addr":"(PM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2_mb__Slow.cpp","addr":"(QM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2/Vt_func_dotted_inl2_mb__DepSet_h340bfa86__0__Slow.cpp","addr":"(RM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []}
|
||||
],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(BB)",
|
||||
"typesp": [
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(K)","loc":"d,50:22,50:24","dtypep":"(K)","keyword":"logic","generic":true,"rangep": []},
|
||||
{"type":"VOIDDTYPE","name":"","addr":"(BB)","loc":"d,51:21,51:30","dtypep":"(BB)","generic":false},
|
||||
{"type":"BASICDTYPE","name":"string","addr":"(VB)","loc":"d,156:10,156:16","dtypep":"(VB)","keyword":"string","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"QData","addr":"(XB)","loc":"e,154:7,154:15","dtypep":"(XB)","keyword":"QData","range":"63:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"integer","addr":"(P)","loc":"e,23:4,23:11","dtypep":"(P)","keyword":"integer","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(BD)","loc":"e,25:20,25:27","dtypep":"(BD)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(FB)","loc":"e,23:16,23:17","dtypep":"(FB)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"VlTriggerVec","addr":"(T)","loc":"e,7:8,7:9","dtypep":"(T)","keyword":"VlTriggerVec","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(DE)","loc":"e,7:8,7:9","dtypep":"(DE)","keyword":"logic","range":"63:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"bit","addr":"(N)","loc":"e,7:8,7:9","dtypep":"(N)","keyword":"bit","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"bit","addr":"(R)","loc":"e,7:8,7:9","dtypep":"(R)","keyword":"bit","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(PB)","loc":"e,27:22,27:25","dtypep":"(PB)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(NK)","loc":"e,22:10,22:13","dtypep":"(NK)","keyword":"logic","range":"7:0","generic":true,"rangep": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(SM)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(TM)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(SM)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -11,15 +11,15 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(simulator => 1);
|
||||
|
||||
top_filename("t/t_func_dotted.v");
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
v_flags2 => ['+define+ATTRIBUTES', '+define+USE_INLINE_MID',],
|
||||
v_flags2 => ["--no-json-edit-nums", '+define+ATTRIBUTES', '+define+USE_INLINE_MID',],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep("$out_filename", qr/\<instance loc="e,87,.*?" name="t.ma0.mb0" defName="mb" origName="mb0"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<module loc="e,99,.*?" name="mb" origName="mb"\>/i);
|
||||
my $modp = (file_grep("$out_filename", qr/{"type":"MODULE","name":"mb","addr":"([^"]*)","loc":"e,99:[^"]*",.*"origName":"mb"/))[0];
|
||||
file_grep("$out_filename", qr/{"type":"CELL","name":"t.ma0.mb0","addr":"[^"]*","loc":"e,87:[^"]*",.*"origName":"mb0",.*"modp":"([^"]*)"/, $modp);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
|
@ -0,0 +1,693 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"(E)","stdPackagep":"UNLINKED","evalp":"(F)","evalNbap":"(G)","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"(H)",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"$root","addr":"(I)","loc":"f,7:8,7:9","origName":"$root","level":1,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"clk","addr":"(J)","loc":"f,22:10,22:13","dtypep":"(K)","origName":"clk","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":true,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"clker","lifetime":"NONE","varType":"PORT","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(L)","loc":"f,7:8,7:9","dtypep":"(K)","origName":"__Vtrigprevexpr___TOP__clk__0","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactContinue","addr":"(M)","loc":"f,7:8,7:9","dtypep":"(N)","origName":"__VactContinue","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.cyc","addr":"(O)","loc":"f,23:12,23:15","dtypep":"(P)","origName":"cyc","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"VAR","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactIterCount","addr":"(Q)","loc":"f,7:8,7:9","dtypep":"(R)","origName":"__VactIterCount","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactTriggered","addr":"(S)","loc":"f,7:8,7:9","dtypep":"(T)","origName":"__VactTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VnbaTriggered","addr":"(U)","loc":"f,7:8,7:9","dtypep":"(T)","origName":"__VnbaTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"CELL","name":"t.ma0.mb0","addr":"(V)","loc":"f,87:12,87:15","origName":"mb0","recursive":false,"modp":"(W)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"TOPSCOPE","name":"","addr":"(H)","loc":"f,7:8,7:9","senTreesp": [],
|
||||
"scopep": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(X)","loc":"f,7:8,7:9","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(I)","varsp": [],"blocksp": []}
|
||||
]},
|
||||
{"type":"CFUNC","name":"_eval_static","addr":"(Y)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(Z)","loc":"f,7:8,7:9",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(AB)","loc":"f,7:8,7:9","dtypep":"(BB)","funcName":"_eval_static__TOP","funcp":"(CB)","argsp": []}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_static__TOP","addr":"(CB)","loc":"f,7:8,7:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(DB)","loc":"f,23:16,23:17","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'sh1","addr":"(EB)","loc":"f,23:16,23:17","dtypep":"(FB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.cyc","addr":"(GB)","loc":"f,23:16,23:17","dtypep":"(P)","access":"WR","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial","addr":"(HB)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(IB)","loc":"f,7:8,7:9",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(JB)","loc":"f,7:8,7:9","dtypep":"(BB)","funcName":"_eval_initial__TOP","funcp":"(KB)","argsp": []}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(LB)","loc":"f,87:12,87:15",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(MB)","loc":"f,87:12,87:15","dtypep":"(BB)","funcName":"_eval_initial__TOP__t__DOT__ma0__DOT__mb0","funcp":"(NB)","argsp": []}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(OB)","loc":"f,27:22,27:25","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(QB)","loc":"f,27:22,27:25","dtypep":"(PB)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(RB)","loc":"f,27:22,27:25","dtypep":"(PB)","access":"WR","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial__TOP","addr":"(KB)","loc":"f,7:8,7:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"COMMENT","name":"Function: f","addr":"(SB)","loc":"f,16:25,16:26"},
|
||||
{"type":"DISPLAY","name":"","addr":"(TB)","loc":"f,154:7,154:15",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"%m","addr":"(UB)","loc":"f,154:7,154:15","dtypep":"(VB)","exprsp": [],
|
||||
"scopeNamep": [
|
||||
{"type":"SCOPENAME","name":"","addr":"(WB)","loc":"f,154:7,154:15","dtypep":"(XB)","dpiExport":false,"forFormat":true,
|
||||
"scopeAttrp": [
|
||||
{"type":"TEXT","name":"","addr":"(YB)","loc":"f,154:7,154:15","shortText":"__DOT__TOP"},
|
||||
{"type":"TEXT","name":"","addr":"(ZB)","loc":"f,154:7,154:15","shortText":"__DOT__t"},
|
||||
{"type":"TEXT","name":"","addr":"(AC)","loc":"f,154:7,154:15","shortText":"__DOT__ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(BC)","loc":"f,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"},
|
||||
{"type":"TEXT","name":"","addr":"(CC)","loc":"f,154:7,154:15","shortText":"__DOT__f"}
|
||||
],
|
||||
"scopeEntrp": [
|
||||
{"type":"TEXT","name":"","addr":"(DC)","loc":"f,154:7,154:15","shortText":"__DOT__TOP"},
|
||||
{"type":"TEXT","name":"","addr":"(EC)","loc":"f,154:7,154:15","shortText":"__DOT__t"},
|
||||
{"type":"TEXT","name":"","addr":"(FC)","loc":"f,154:7,154:15","shortText":"__DOT__ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(GC)","loc":"f,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"}
|
||||
]}
|
||||
]}
|
||||
],"filep": []},
|
||||
{"type":"COMMENT","name":"Function: f","addr":"(HC)","loc":"f,17:25,17:26"},
|
||||
{"type":"DISPLAY","name":"","addr":"(IC)","loc":"f,154:7,154:15",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"%m","addr":"(JC)","loc":"f,154:7,154:15","dtypep":"(VB)","exprsp": [],
|
||||
"scopeNamep": [
|
||||
{"type":"SCOPENAME","name":"","addr":"(KC)","loc":"f,154:7,154:15","dtypep":"(XB)","dpiExport":false,"forFormat":true,
|
||||
"scopeAttrp": [
|
||||
{"type":"TEXT","name":"","addr":"(LC)","loc":"f,154:7,154:15","shortText":"__DOT__TOP"},
|
||||
{"type":"TEXT","name":"","addr":"(MC)","loc":"f,154:7,154:15","shortText":"__DOT__t"},
|
||||
{"type":"TEXT","name":"","addr":"(NC)","loc":"f,154:7,154:15","shortText":"__DOT__ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(OC)","loc":"f,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"},
|
||||
{"type":"TEXT","name":"","addr":"(PC)","loc":"f,154:7,154:15","shortText":"__DOT__f"}
|
||||
],
|
||||
"scopeEntrp": [
|
||||
{"type":"TEXT","name":"","addr":"(QC)","loc":"f,154:7,154:15","shortText":"__DOT__TOP"},
|
||||
{"type":"TEXT","name":"","addr":"(RC)","loc":"f,154:7,154:15","shortText":"__DOT__t"},
|
||||
{"type":"TEXT","name":"","addr":"(SC)","loc":"f,154:7,154:15","shortText":"__DOT__ma0"},
|
||||
{"type":"TEXT","name":"","addr":"(TC)","loc":"f,154:7,154:15","shortText":"__DOT__u_b__BRA__0__KET__"}
|
||||
]}
|
||||
]}
|
||||
],"filep": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_final","addr":"(UC)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_settle","addr":"(VC)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_triggers__act","addr":"(WC)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(XC)","loc":"f,7:8,7:9",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"set","addr":"(YC)","loc":"f,7:8,7:9","dtypep":"(BB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(ZC)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(AD)","loc":"f,7:8,7:9","dtypep":"(BD)"},
|
||||
{"type":"AND","name":"","addr":"(CD)","loc":"f,27:14,27:21","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(DD)","loc":"f,27:22,27:25","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(ED)","loc":"f,27:22,27:25","dtypep":"(PB)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(FD)","loc":"f,27:14,27:21","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(GD)","loc":"f,27:14,27:21","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(HD)","loc":"f,27:14,27:21","dtypep":"(PB)","access":"RD","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(ID)","loc":"f,27:22,27:25","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(JD)","loc":"f,27:22,27:25","dtypep":"(PB)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(KD)","loc":"f,27:22,27:25","dtypep":"(PB)","access":"WR","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(LD)","loc":"f,7:8,7:9","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(MD)","loc":"f,7:8,7:9","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"TEXT","name":"","addr":"(ND)","loc":"f,7:8,7:9","shortText":"if (VL_UNLIKELY(vlSymsp->_vm_contextp__->debug())) {..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(OD)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(PD)","loc":"a,0:0,0:0","dtypep":"(BB)","funcName":"_dump_triggers__act","funcp":"(QD)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(RD)","loc":"f,7:8,7:9","shortText":"}..."},
|
||||
{"type":"TEXT","name":"","addr":"(SD)","loc":"f,7:8,7:9","shortText":"#endif..."}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_dump_triggers__act","addr":"(QD)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(TD)","loc":"f,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(UD)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(VD)","loc":"f,7:8,7:9","dtypep":"(BD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(WD)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(XD)","loc":"f,7:8,7:9","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(YD)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(ZD)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(AE)","loc":"f,7:8,7:9","shortText":"VL_DBG_MSGF(\" No triggers active\\n\");..."}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(BE)","loc":"f,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(CE)","loc":"f,7:8,7:9","dtypep":"(DE)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(EE)","loc":"f,7:8,7:9","dtypep":"(DE)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(FE)","loc":"f,7:8,7:9","dtypep":"(XB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(GE)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(HE)","loc":"f,7:8,7:9","dtypep":"(BD)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(IE)","loc":"f,7:8,7:9","shortText":"VL_DBG_MSGF(\" 'act' region trigger index 0 is active: @(posedge clk)\\n\");..."}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_dump_triggers__nba","addr":"(JE)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(KE)","loc":"f,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(LE)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(ME)","loc":"f,7:8,7:9","dtypep":"(BD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"NOT","name":"","addr":"(NE)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(OE)","loc":"f,7:8,7:9","dtypep":"(PB)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(PE)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(QE)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(RE)","loc":"f,7:8,7:9","shortText":"VL_DBG_MSGF(\" No triggers active\\n\");..."}
|
||||
],"elsesp": []},
|
||||
{"type":"IF","name":"","addr":"(SE)","loc":"f,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(TE)","loc":"f,7:8,7:9","dtypep":"(DE)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(UE)","loc":"f,7:8,7:9","dtypep":"(DE)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(VE)","loc":"f,7:8,7:9","dtypep":"(XB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(WE)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(XE)","loc":"f,7:8,7:9","dtypep":"(BD)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXT","name":"","addr":"(YE)","loc":"f,7:8,7:9","shortText":"VL_DBG_MSGF(\" 'nba' region trigger index 0 is active: @(posedge clk)\\n\");..."}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_act","addr":"(ZE)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_nba_sequent__TOP__0","addr":"(AF)","loc":"f,28:7,28:10","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__Vdly__t.cyc","addr":"(BF)","loc":"f,23:12,23:15","dtypep":"(P)","origName":"__Vdly__t__DOT__cyc","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"BLOCKTEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"CRESET","name":"","addr":"(CF)","loc":"f,23:12,23:15",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"__Vdly__t.cyc","addr":"(DF)","loc":"f,23:12,23:15","dtypep":"(P)","access":"WR","varp":"(BF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGNPRE","name":"","addr":"(EF)","loc":"f,28:7,28:10","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"t.cyc","addr":"(FF)","loc":"f,28:7,28:10","dtypep":"(P)","access":"RD","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vdly__t.cyc","addr":"(GF)","loc":"f,28:7,28:10","dtypep":"(P)","access":"WR","varp":"(BF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNDLY","name":"","addr":"(HF)","loc":"f,28:11,28:13","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(IF)","loc":"f,28:18,28:19","dtypep":"(P)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(JF)","loc":"f,28:20,28:21","dtypep":"(BD)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'sh1","addr":"(KF)","loc":"f,28:20,28:21","dtypep":"(FB)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"t.cyc","addr":"(LF)","loc":"f,28:14,28:17","dtypep":"(P)","access":"RD","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vdly__t.cyc","addr":"(MF)","loc":"f,28:7,28:10","dtypep":"(P)","access":"WR","varp":"(BF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(NF)","loc":"f,48:7,48:9",
|
||||
"condp": [
|
||||
{"type":"EQ","name":"","addr":"(OF)","loc":"f,48:14,48:16","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'sh9","addr":"(PF)","loc":"f,48:16,48:17","dtypep":"(FB)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"t.cyc","addr":"(QF)","loc":"f,48:11,48:14","dtypep":"(P)","access":"RD","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"DISPLAY","name":"","addr":"(RF)","loc":"f,49:10,49:16",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"*-* All Finished *-*\\n","addr":"(SF)","loc":"f,49:10,49:16","dtypep":"(VB)","exprsp": [],"scopeNamep": []}
|
||||
],"filep": []},
|
||||
{"type":"FINISH","name":"","addr":"(TF)","loc":"f,50:10,50:17"}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGNPOST","name":"","addr":"(UF)","loc":"f,28:7,28:10","dtypep":"(P)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__Vdly__t.cyc","addr":"(VF)","loc":"f,28:7,28:10","dtypep":"(P)","access":"RD","varp":"(BF)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.cyc","addr":"(WF)","loc":"f,28:7,28:10","dtypep":"(P)","access":"WR","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_nba","addr":"(G)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(XF)","loc":"f,7:8,7:9",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(YF)","loc":"f,7:8,7:9","dtypep":"(DE)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"64'h1","addr":"(ZF)","loc":"f,7:8,7:9","dtypep":"(DE)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"word","addr":"(AG)","loc":"f,7:8,7:9","dtypep":"(XB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(BG)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"RD","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(CG)","loc":"f,7:8,7:9","dtypep":"(BD)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(DG)","loc":"f,28:7,28:10",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(EG)","loc":"f,28:7,28:10","dtypep":"(BB)","funcName":"_nba_sequent__TOP__0","funcp":"(AF)","argsp": []}
|
||||
]}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_phase__act","addr":"(FG)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VpreTriggered","addr":"(GG)","loc":"f,7:8,7:9","dtypep":"(T)","origName":"__VpreTriggered","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VactExecute","addr":"(HG)","loc":"f,7:8,7:9","dtypep":"(N)","origName":"__VactExecute","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(IG)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(JG)","loc":"a,0:0,0:0","dtypep":"(BB)","funcName":"_eval_triggers__act","funcp":"(WC)","argsp": []}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(KG)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(LG)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(MG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(NG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(HG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(OG)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(PG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(HG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(QG)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"andNot","addr":"(RG)","loc":"a,0:0,0:0","dtypep":"(BB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VpreTriggered","addr":"(SG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(GG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(TG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"},
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(UG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(VG)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"thisOr","addr":"(WG)","loc":"a,0:0,0:0","dtypep":"(BB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(XG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"pinsp": [
|
||||
{"type":"VARREF","name":"__VactTriggered","addr":"(YG)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(S)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(ZG)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(AH)","loc":"a,0:0,0:0","dtypep":"(BB)","funcName":"_eval_act","funcp":"(ZE)","argsp": []}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"CRETURN","name":"","addr":"(BH)","loc":"a,0:0,0:0",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactExecute","addr":"(CH)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(HG)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_phase__nba","addr":"(DH)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VnbaExecute","addr":"(EH)","loc":"f,7:8,7:9","dtypep":"(N)","origName":"__VnbaExecute","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(FH)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CMETHODHARD","name":"any","addr":"(GH)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(HH)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(IH)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(EH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(JH)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(KH)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(EH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(LH)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(MH)","loc":"a,0:0,0:0","dtypep":"(BB)","funcName":"_eval_nba","funcp":"(G)","argsp": []}
|
||||
]},
|
||||
{"type":"STMTEXPR","name":"","addr":"(NH)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CMETHODHARD","name":"clear","addr":"(OH)","loc":"a,0:0,0:0","dtypep":"(BB)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__VnbaTriggered","addr":"(PH)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"WR","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"pinsp": []}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"CRETURN","name":"","addr":"(QH)","loc":"a,0:0,0:0",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaExecute","addr":"(RH)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(EH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval","addr":"(F)","loc":"a,0:0,0:0","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(X)","argsp": [],
|
||||
"initsp": [
|
||||
{"type":"VAR","name":"__VnbaIterCount","addr":"(SH)","loc":"f,7:8,7:9","dtypep":"(R)","origName":"__VnbaIterCount","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__VnbaContinue","addr":"(TH)","loc":"f,7:8,7:9","dtypep":"(N)","origName":"__VnbaContinue","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":true,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"MODULETEMP","sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(UH)","loc":"f,7:8,7:9","dtypep":"(R)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(VH)","loc":"f,7:8,7:9","dtypep":"(BD)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(WH)","loc":"f,7:8,7:9","dtypep":"(R)","access":"WR","varp":"(SH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(XH)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(YH)","loc":"f,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(ZH)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(TH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"WHILE","name":"","addr":"(AI)","loc":"a,0:0,0:0","precondsp": [],
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(BI)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(TH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(CI)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"LT","name":"","addr":"(DI)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h64","addr":"(EI)","loc":"a,0:0,0:0","dtypep":"(BD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(FI)","loc":"a,0:0,0:0","dtypep":"(R)","access":"RD","varp":"(SH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(GI)","loc":"a,0:0,0:0","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(HI)","loc":"a,0:0,0:0","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(II)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(JI)","loc":"a,0:0,0:0","dtypep":"(BB)","funcName":"_dump_triggers__nba","funcp":"(JE)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(KI)","loc":"a,0:0,0:0","shortText":"#endif..."},
|
||||
{"type":"TEXT","name":"","addr":"(LI)","loc":"a,0:0,0:0","shortText":"VL_FATAL_MT(\"t/t_func_dotted.v\", 7, \"\", "},
|
||||
{"type":"TEXT","name":"","addr":"(MI)","loc":"a,0:0,0:0","shortText":"\"NBA region did not converge.\");..."}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(NI)","loc":"f,7:8,7:9","dtypep":"(R)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(OI)","loc":"f,7:8,7:9","dtypep":"(R)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(PI)","loc":"f,7:8,7:9","dtypep":"(BD)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(QI)","loc":"f,7:8,7:9","dtypep":"(BD)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(RI)","loc":"f,7:8,7:9","dtypep":"(R)","access":"RD","varp":"(SH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaIterCount","addr":"(SI)","loc":"f,7:8,7:9","dtypep":"(R)","access":"WR","varp":"(SH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(TI)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h0","addr":"(UI)","loc":"f,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(VI)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(TH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(WI)","loc":"f,7:8,7:9","dtypep":"(R)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(XI)","loc":"f,7:8,7:9","dtypep":"(BD)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(YI)","loc":"f,7:8,7:9","dtypep":"(R)","access":"WR","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(ZI)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(AJ)","loc":"f,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(BJ)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"WHILE","name":"","addr":"(CJ)","loc":"a,0:0,0:0","precondsp": [],
|
||||
"condp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(DJ)","loc":"a,0:0,0:0","dtypep":"(PB)","access":"RD","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(EJ)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"LT","name":"","addr":"(FJ)","loc":"a,0:0,0:0","dtypep":"(PB)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h64","addr":"(GJ)","loc":"a,0:0,0:0","dtypep":"(BD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(HJ)","loc":"a,0:0,0:0","dtypep":"(R)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"TEXTBLOCK","name":"","addr":"(IJ)","loc":"a,0:0,0:0","shortText":"",
|
||||
"nodesp": [
|
||||
{"type":"TEXT","name":"","addr":"(JJ)","loc":"a,0:0,0:0","shortText":"#ifdef VL_DEBUG..."},
|
||||
{"type":"STMTEXPR","name":"","addr":"(KJ)","loc":"a,0:0,0:0",
|
||||
"exprp": [
|
||||
{"type":"CCALL","name":"","addr":"(LJ)","loc":"a,0:0,0:0","dtypep":"(BB)","funcName":"_dump_triggers__act","funcp":"(QD)","argsp": []}
|
||||
]},
|
||||
{"type":"TEXT","name":"","addr":"(MJ)","loc":"a,0:0,0:0","shortText":"#endif..."},
|
||||
{"type":"TEXT","name":"","addr":"(NJ)","loc":"a,0:0,0:0","shortText":"VL_FATAL_MT(\"t/t_func_dotted.v\", 7, \"\", "},
|
||||
{"type":"TEXT","name":"","addr":"(OJ)","loc":"a,0:0,0:0","shortText":"\"Active region did not converge.\");..."}
|
||||
]}
|
||||
],"elsesp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(PJ)","loc":"f,7:8,7:9","dtypep":"(R)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(QJ)","loc":"f,7:8,7:9","dtypep":"(R)",
|
||||
"lhsp": [
|
||||
{"type":"CCAST","name":"","addr":"(RJ)","loc":"f,7:8,7:9","dtypep":"(BD)","size":32,
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(SJ)","loc":"f,7:8,7:9","dtypep":"(BD)"}
|
||||
]}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(TJ)","loc":"f,7:8,7:9","dtypep":"(R)","access":"RD","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactIterCount","addr":"(UJ)","loc":"f,7:8,7:9","dtypep":"(R)","access":"WR","varp":"(Q)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(VJ)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h0","addr":"(WJ)","loc":"f,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(XJ)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"IF","name":"","addr":"(YJ)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"CCALL","name":"","addr":"(ZJ)","loc":"a,0:0,0:0","dtypep":"(PB)","funcName":"_eval_phase__act","funcp":"(FG)","argsp": []}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(AK)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(BK)","loc":"f,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VactContinue","addr":"(CK)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(M)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],"incsp": []},
|
||||
{"type":"IF","name":"","addr":"(DK)","loc":"a,0:0,0:0",
|
||||
"condp": [
|
||||
{"type":"CCALL","name":"","addr":"(EK)","loc":"a,0:0,0:0","dtypep":"(PB)","funcName":"_eval_phase__nba","funcp":"(DH)","argsp": []}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(FK)","loc":"f,7:8,7:9","dtypep":"(PB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"1'h1","addr":"(GK)","loc":"f,7:8,7:9","dtypep":"(PB)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__VnbaContinue","addr":"(HK)","loc":"f,7:8,7:9","dtypep":"(PB)","access":"WR","varp":"(TH)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
],"elsesp": []}
|
||||
],"incsp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_eval_debug_assertions","addr":"(IK)","loc":"f,7:8,7:9","slow":false,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"IF","name":"","addr":"(JK)","loc":"f,22:10,22:13",
|
||||
"condp": [
|
||||
{"type":"AND","name":"","addr":"(KK)","loc":"f,22:10,22:13","dtypep":"(K)",
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(LK)","loc":"f,22:10,22:13","dtypep":"(K)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"8'hfe","addr":"(MK)","loc":"f,22:10,22:13","dtypep":"(NK)"}
|
||||
]}
|
||||
],
|
||||
"thensp": [
|
||||
{"type":"CSTMT","name":"","addr":"(OK)","loc":"f,22:10,22:13",
|
||||
"exprsp": [
|
||||
{"type":"TEXT","name":"","addr":"(PK)","loc":"f,22:10,22:13","shortText":"Verilated::overWidthError(\"clk\");"}
|
||||
]}
|
||||
],"elsesp": []}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(QK)","loc":"f,7:8,7:9","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CRESET","name":"","addr":"(RK)","loc":"f,22:10,22:13",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(SK)","loc":"f,22:10,22:13","dtypep":"(K)","access":"WR","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(TK)","loc":"f,23:12,23:15",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"t.cyc","addr":"(UK)","loc":"f,23:12,23:15","dtypep":"(P)","access":"WR","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"CRESET","name":"","addr":"(VK)","loc":"f,7:8,7:9",
|
||||
"varrefp": [
|
||||
{"type":"VARREF","name":"__Vtrigprevexpr___TOP__clk__0","addr":"(WK)","loc":"f,7:8,7:9","dtypep":"(K)","access":"WR","varp":"(L)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"finalsp": []},
|
||||
{"type":"CUSE","name":"mb","addr":"(XK)","loc":"f,87:12,87:15","useType":"INT_FWD"}
|
||||
],"activesp": []},
|
||||
{"type":"PACKAGE","name":"$unit","addr":"(E)","loc":"a,0:0,0:0","origName":"__024unit","level":3,"modPublic":false,"inLibrary":true,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(YK)","loc":"a,0:0,0:0","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"mb","addr":"(W)","loc":"f,99:8,99:10","origName":"mb","level":4,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"t.ma0.mb0","addr":"(ZK)","loc":"f,87:12,87:15","aboveScopep":"(X)","aboveCellp":"(V)","modp":"(W)","varsp": [],"blocksp": []},
|
||||
{"type":"CFUNC","name":"_eval_initial__TOP__t.ma0.mb0","addr":"(NB)","loc":"f,87:12,87:15","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"(ZK)","argsp": [],"initsp": [],
|
||||
"stmtsp": [
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(AL)","loc":"f,118:11,118:20"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(BL)","loc":"f,119:8,119:17"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(CL)","loc":"f,120:11,120:20"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(DL)","loc":"f,121:11,121:20"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(EL)","loc":"f,121:26,121:33"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(FL)","loc":"f,122:8,122:17"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(GL)","loc":"f,122:23,122:30"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(HL)","loc":"f,123:11,123:20"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(IL)","loc":"f,123:26,123:33"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(JL)","loc":"f,142:10,142:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(KL)","loc":"f,143:10,143:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(LL)","loc":"f,144:10,144:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(ML)","loc":"f,145:10,145:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(NL)","loc":"f,145:24,145:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(OL)","loc":"f,146:10,146:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(PL)","loc":"f,146:24,146:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(QL)","loc":"f,147:10,147:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(RL)","loc":"f,147:24,147:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(SL)","loc":"f,142:10,142:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(TL)","loc":"f,143:10,143:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(UL)","loc":"f,144:10,144:19"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(VL)","loc":"f,145:10,145:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(WL)","loc":"f,145:24,145:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(XL)","loc":"f,146:10,146:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(YL)","loc":"f,146:24,146:31"},
|
||||
{"type":"COMMENT","name":"Function: checkName","addr":"(ZL)","loc":"f,147:10,147:19"},
|
||||
{"type":"COMMENT","name":"Function: getName","addr":"(AM)","loc":"f,147:24,147:31"}
|
||||
],"finalsp": []},
|
||||
{"type":"CFUNC","name":"_ctor_var_reset","addr":"(BM)","loc":"f,99:8,99:10","slow":true,"isStatic":false,"dpiExportDispatcher":false,"dpiExportImpl":false,"dpiImportPrototype":false,"dpiImportWrapper":false,"dpiContext":false,"isConstructor":false,"isDestructor":false,"isVirtual":false,"isCoroutine":false,"needProcess":false,"scopep":"UNLINKED","argsp": [],"initsp": [],"stmtsp": [],"finalsp": []}
|
||||
],"activesp": []}
|
||||
],
|
||||
"filesp": [
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt__Syms.cpp","addr":"(CM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt__Syms.h","addr":"(DM)","loc":"a,0:0,0:0","source":false,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt.h","addr":"(EM)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt.cpp","addr":"(FM)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt_$root.h","addr":"(GM)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt_$unit.h","addr":"(HM)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt_mb.h","addr":"(IM)","loc":"a,0:0,0:0","source":false,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt_$root__Slow.cpp","addr":"(JM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt_$root__DepSet_h5b2a2806__0__Slow.cpp","addr":"(KM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt_$root__DepSet_h2b0cebbf__0__Slow.cpp","addr":"(LM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt_$root__DepSet_h5b2a2806__0.cpp","addr":"(MM)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt_$root__DepSet_h2b0cebbf__0.cpp","addr":"(NM)","loc":"a,0:0,0:0","source":true,"slow":false,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt_$unit__Slow.cpp","addr":"(OM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt_$unit__DepSet_h65aefc73__0__Slow.cpp","addr":"(PM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt_mb__Slow.cpp","addr":"(QM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []},
|
||||
{"type":"CFILE","name":"obj_vlt/t_func_dotted_inl2_vlt/Vt_func_dotted_inl2_vlt_mb__DepSet_h81fa91ac__0__Slow.cpp","addr":"(RM)","loc":"a,0:0,0:0","source":true,"slow":true,"tblockp": []}
|
||||
],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(BB)",
|
||||
"typesp": [
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(K)","loc":"d,50:22,50:24","dtypep":"(K)","keyword":"logic","generic":true,"rangep": []},
|
||||
{"type":"VOIDDTYPE","name":"","addr":"(BB)","loc":"d,51:21,51:30","dtypep":"(BB)","generic":false},
|
||||
{"type":"BASICDTYPE","name":"string","addr":"(VB)","loc":"d,156:10,156:16","dtypep":"(VB)","keyword":"string","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"QData","addr":"(XB)","loc":"f,154:7,154:15","dtypep":"(XB)","keyword":"QData","range":"63:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"integer","addr":"(P)","loc":"f,23:4,23:11","dtypep":"(P)","keyword":"integer","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(BD)","loc":"f,25:20,25:27","dtypep":"(BD)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(FB)","loc":"f,23:16,23:17","dtypep":"(FB)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"VlTriggerVec","addr":"(T)","loc":"f,7:8,7:9","dtypep":"(T)","keyword":"VlTriggerVec","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(DE)","loc":"f,7:8,7:9","dtypep":"(DE)","keyword":"logic","range":"63:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"bit","addr":"(N)","loc":"f,7:8,7:9","dtypep":"(N)","keyword":"bit","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"bit","addr":"(R)","loc":"f,7:8,7:9","dtypep":"(R)","keyword":"bit","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(PB)","loc":"f,27:22,27:25","dtypep":"(PB)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(NK)","loc":"f,22:10,22:13","dtypep":"(NK)","keyword":"logic","range":"7:0","generic":true,"rangep": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(SM)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(TM)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(SM)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -11,15 +11,15 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(simulator => 1);
|
||||
|
||||
top_filename("t/t_func_dotted.v");
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
v_flags2 => ["t/t_func_dotted_inl2.vlt",],
|
||||
v_flags2 => ["--no-json-edit-nums", "t/t_func_dotted_inl2.vlt",],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep("$out_filename", qr/\<instance loc="f,87,.*?" name="t.ma0.mb0" defName="mb" origName="mb0"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<module loc="f,99,.*?" name="mb" origName="mb"\>/i);
|
||||
my $modp = (file_grep("$out_filename", qr/{"type":"MODULE","name":"mb","addr":"([^"]*)","loc":"f,99:[^"]*",.*"origName":"mb"/))[0];
|
||||
file_grep("$out_filename", qr/{"type":"CELL","name":"t.ma0.mb0","addr":"[^"]*","loc":"f,87:[^"]*",.*"origName":"mb0",.*"modp":"([^"]*)"/, $modp);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -11,19 +11,19 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(simulator => 1);
|
||||
|
||||
top_filename("t/t_inst_tree.v");
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
v_flags2 => ["$Self->{t_dir}/$Self->{name}.vlt"],
|
||||
v_flags2 => ["--no-json-edit-nums", "$Self->{t_dir}/$Self->{name}.vlt"],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep("$out_filename", qr/\<module loc="f,56,.*?" name="l1" origName="l1"\>/i);
|
||||
file_grep("$out_filename", qr/\<module loc="f,62,.*?" name="l2" origName="l2"\>/i);
|
||||
file_grep("$out_filename", qr/\<module loc="f,69,.*?" name="l3" origName="l3"\>/i);
|
||||
file_grep("$out_filename", qr/\<module loc="f,76,.*?" name="l4" origName="l4"\>/i);
|
||||
file_grep("$out_filename", qr/\<module loc="f,83,.*?" name="l5__P2" origName="l5"\>/i);
|
||||
file_grep("$out_filename", qr/\<module loc="f,83,.*?" name="l5__P1" origName="l5"\>/i);
|
||||
file_grep("$out_filename", qr/{"type":"MODULE","name":"l1",.*"loc":"f,56:[^"]*",.*"origName":"l1"/);
|
||||
file_grep("$out_filename", qr/{"type":"MODULE","name":"l2",.*"loc":"f,62:[^"]*",.*"origName":"l2"/);
|
||||
file_grep("$out_filename", qr/{"type":"MODULE","name":"l3",.*"loc":"f,69:[^"]*",.*"origName":"l3"/);
|
||||
file_grep("$out_filename", qr/{"type":"MODULE","name":"l4",.*"loc":"f,76:[^"]*",.*"origName":"l4"/);
|
||||
file_grep("$out_filename", qr/{"type":"MODULE","name":"l5__P1",.*"loc":"f,83:[^"]*",.*"origName":"l5"/);
|
||||
file_grep("$out_filename", qr/{"type":"MODULE","name":"l5__P2",.*"loc":"f,83:[^"]*",.*"origName":"l5"/);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -11,16 +11,16 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(simulator => 1);
|
||||
|
||||
top_filename("t/t_inst_tree.v");
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
v_flags2 => ["-fno-dfg-post-inline", "$Self->{t_dir}/t_inst_tree_inl1_pub0.vlt"],
|
||||
v_flags2 => ["--no-json-edit-nums", "-fno-dfg-post-inline", "$Self->{t_dir}/t_inst_tree_inl1_pub0.vlt"],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep("$out_filename", qr/\<var loc="f,70,.*?" name="t.u.u0.u0.z1" dtype_id="\d+" vartype="logic" origName="z1"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,70,.*?" name="t.u.u0.u1.z1" dtype_id="\d+" vartype="logic" origName="z1"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,70,.*?" name="t.u.u1.u0.z0" dtype_id="\d+" vartype="logic" origName="z0"\/\>/i);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"t.u.u0.u0.z1",.*"loc":"f,70:[^"]*",.*"origName":"z1",.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"t.u.u0.u1.z1",.*"loc":"f,70:[^"]*",.*"origName":"z1",.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"t.u.u1.u0.z0",.*"loc":"f,70:[^"]*",.*"origName":"z0",.*"dtypeName":"logic"/);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -11,17 +11,17 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(simulator => 1);
|
||||
|
||||
top_filename("t/t_inst_tree.v");
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
v_flags2 => ["-fno-dfg-post-inline", "t/$Self->{name}.vlt",
|
||||
v_flags2 => ["--no-json-edit-nums", "-fno-dfg-post-inline", "t/$Self->{name}.vlt",
|
||||
$Self->wno_unopthreads_for_few_cores()]
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep("$out_filename", qr/\<var loc="f,70,.*?" name="u.u0.u0.z0" dtype_id="\d+" vartype="logic" origName="z0" public="true" public_flat_rd="true" public_flat_rw="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,85,.*?" name="u.u0.u0.u0.u0.z1" dtype_id="\d+" vartype="logic" origName="z1" public="true" public_flat_rd="true" public_flat_rw="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,83,.*?" name="u.u0.u1.u0.u0.z" dtype_id="\d+" vartype="logic" origName="z" public="true" public_flat_rd="true" public_flat_rw="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"u.u0.u0.z0",.*"loc":"f,70:[^"]*",.*"origName":"z0",.*"isSigPublic":true,.*"dtypeName":"logic",.*"isSigUserRdPublic":true.*"isSigUserRWPublic":true/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"u.u0.u0.u0.u0.z1",.*"loc":"f,85:[^"]*",.*"origName":"z1",.*"isSigPublic":true,.*"dtypeName":"logic",.*"isSigUserRdPublic":true,.*"isSigUserRWPublic":true/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"u.u0.u1.u0.u0.z",.*"loc":"f,83:[^"]*",.*"origName":"z",.*,"isSigPublic":true,.*dtypeName":"logic",.*"isSigUserRdPublic":true,.*"isSigUserRWPublic":true/);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"UNLINKED","stdPackagep":"UNLINKED","evalp":"UNLINKED","evalNbap":"UNLINKED","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"UNLINKED",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"test","addr":"(E)","loc":"d,22:8,22:12","origName":"test","level":2,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"N","addr":"(F)","loc":"d,24:12,24:13","dtypep":"(G)","origName":"N","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":true,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"GENVAR","dtypeName":"integer","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"BEGIN","name":"FOR_GENERATE","addr":"(H)","loc":"d,25:14,25:17","generate":true,"genfor":false,"implied":true,"needProcess":false,"unnamed":false,"genforp": [],"stmtsp": []},
|
||||
{"type":"BEGIN","name":"FOR_GENERATE[0]","addr":"(I)","loc":"d,27:21,27:31","generate":true,"genfor":false,"implied":false,"needProcess":false,"unnamed":false,"genforp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CELL","name":"submod_for","addr":"(J)","loc":"d,27:21,27:31","origName":"submod_for","recursive":false,"modp":"(K)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"BEGIN","name":"genblk1","addr":"(L)","loc":"d,28:19,28:24","generate":true,"genfor":false,"implied":false,"needProcess":false,"unnamed":true,"genforp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CELL","name":"submod_2","addr":"(M)","loc":"d,29:25,29:33","origName":"submod_2","recursive":false,"modp":"(K)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []}
|
||||
]},
|
||||
{"type":"CELL","name":"submod_3","addr":"(N)","loc":"d,31:21,31:29","origName":"submod_3","recursive":false,"modp":"(K)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []}
|
||||
]},
|
||||
{"type":"BEGIN","name":"FOR_GENERATE[1]","addr":"(O)","loc":"d,27:21,27:31","generate":true,"genfor":false,"implied":false,"needProcess":false,"unnamed":false,"genforp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CELL","name":"submod_for","addr":"(P)","loc":"d,27:21,27:31","origName":"submod_for","recursive":false,"modp":"(K)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"BEGIN","name":"genblk1","addr":"(Q)","loc":"d,28:19,28:24","generate":true,"genfor":false,"implied":false,"needProcess":false,"unnamed":true,"genforp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CELL","name":"submod_2","addr":"(R)","loc":"d,29:25,29:33","origName":"submod_2","recursive":false,"modp":"(K)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []}
|
||||
]},
|
||||
{"type":"CELL","name":"submod_3","addr":"(S)","loc":"d,31:21,31:29","origName":"submod_3","recursive":false,"modp":"(K)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []}
|
||||
]}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"submod","addr":"(K)","loc":"d,10:8,10:14","origName":"submod","level":3,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"BEGIN","name":"submod_gen","addr":"(T)","loc":"d,12:19,12:29","generate":true,"genfor":false,"implied":false,"needProcess":false,"unnamed":false,"genforp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"l1_sig","addr":"(U)","loc":"d,13:14,13:20","dtypep":"(V)","origName":"l1_sig","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"WIRE","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"BEGIN","name":"nested_gen","addr":"(W)","loc":"d,14:23,14:33","generate":true,"genfor":false,"implied":false,"needProcess":false,"unnamed":false,"genforp": [],
|
||||
"stmtsp": [
|
||||
{"type":"CELL","name":"submod_nested","addr":"(X)","loc":"d,15:21,15:34","origName":"submod_nested","recursive":false,"modp":"(Y)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []}
|
||||
]},
|
||||
{"type":"CELL","name":"submod_l1","addr":"(Z)","loc":"d,17:17,17:26","origName":"submod_l1","recursive":false,"modp":"(Y)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []}
|
||||
]},
|
||||
{"type":"CELL","name":"submod_l0","addr":"(AB)","loc":"d,19:13,19:22","origName":"submod_l0","recursive":false,"modp":"(Y)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"submod2","addr":"(Y)","loc":"d,7:8,7:15","origName":"submod2","level":4,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],"stmtsp": [],"activesp": []}
|
||||
],"filesp": [],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"UNLINKED",
|
||||
"typesp": [
|
||||
{"type":"BASICDTYPE","name":"integer","addr":"(G)","loc":"d,24:12,24:13","dtypep":"(G)","keyword":"integer","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(V)","loc":"d,13:14,13:20","dtypep":"(V)","keyword":"logic","generic":true,"rangep": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(BB)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"@CONST-POOL@","addr":"(CB)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(BB)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env perl
|
||||
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
|
||||
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||
#
|
||||
# Copyright 2012 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
|
||||
|
||||
scenarios(vlt => 1);
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ['--no-std', '--json-only', '--no-json-edit-nums'],
|
||||
verilator_make_gmake => 0,
|
||||
make_top_shell => 0,
|
||||
make_main => 0,
|
||||
);
|
||||
|
||||
files_identical("$out_filename", $Self->{golden_filename});
|
||||
|
||||
ok(1);
|
||||
1;
|
|
@ -0,0 +1,33 @@
|
|||
// DESCRIPTION: Verilator: Verilog Test module
|
||||
//
|
||||
// This file ONLY is placed under the Creative Commons Public Domain, for
|
||||
// any use, without warranty, 2023 by Risto Pejasinovic.
|
||||
// SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
module submod2 ();
|
||||
endmodule
|
||||
|
||||
module submod #(
|
||||
)();
|
||||
if(1) begin : submod_gen
|
||||
wire l1_sig;
|
||||
if(1) begin : nested_gen
|
||||
submod2 submod_nested();
|
||||
end
|
||||
submod2 submod_l1();
|
||||
end
|
||||
submod2 submod_l0();
|
||||
endmodule
|
||||
|
||||
module test(
|
||||
);
|
||||
genvar N;
|
||||
generate for(N=0; N<2; N=N+1)
|
||||
begin : FOR_GENERATE
|
||||
submod submod_for();
|
||||
if(1) begin
|
||||
submod submod_2();
|
||||
end
|
||||
submod submod_3();
|
||||
end endgenerate
|
||||
endmodule
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,28 @@
|
|||
#!/usr/bin/env perl
|
||||
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
|
||||
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||
#
|
||||
# Copyright 2012 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
|
||||
|
||||
scenarios(vlt => 1);
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
top_filename("t/t_enum_type_methods.v");
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ['--no-std', '--debug-check', '--no-json-edit-nums', '--flatten'],
|
||||
verilator_make_gmake => 0,
|
||||
make_top_shell => 0,
|
||||
make_main => 0,
|
||||
);
|
||||
|
||||
files_identical("$out_filename", $Self->{golden_filename}, 'logfile');
|
||||
|
||||
|
||||
ok(1);
|
||||
1;
|
|
@ -0,0 +1,101 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"UNLINKED","stdPackagep":"UNLINKED","evalp":"UNLINKED","evalNbap":"UNLINKED","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"UNLINKED",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"t","addr":"(E)","loc":"d,7:8,7:9","origName":"t","level":2,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"q","addr":"(F)","loc":"d,15:22,15:23","dtypep":"(G)","origName":"q","isSc":false,"isPrimaryIO":false,"direction":"OUTPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"WIRE","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"clk","addr":"(H)","loc":"d,13:10,13:13","dtypep":"(I)","origName":"clk","isSc":false,"isPrimaryIO":false,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"d","addr":"(J)","loc":"d,14:16,14:17","dtypep":"(G)","origName":"d","isSc":false,"isPrimaryIO":false,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"between","addr":"(K)","loc":"d,17:22,17:29","dtypep":"(G)","origName":"between","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"VAR","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"CELL","name":"cell1","addr":"(L)","loc":"d,20:4,20:9","origName":"cell1","recursive":false,"modp":"(M)",
|
||||
"pinsp": [
|
||||
{"type":"PIN","name":"q","addr":"(N)","loc":"d,20:12,20:13","svDotName":true,"svImplicit":false,"modVarp":"(O)","modPTypep":"UNLINKED",
|
||||
"exprp": [
|
||||
{"type":"VARREF","name":"between","addr":"(P)","loc":"d,20:14,20:21","dtypep":"(G)","access":"WR","varp":"(K)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"PIN","name":"clk","addr":"(Q)","loc":"d,21:12,21:15","svDotName":true,"svImplicit":false,"modVarp":"(R)","modPTypep":"UNLINKED",
|
||||
"exprp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(S)","loc":"d,21:42,21:45","dtypep":"(I)","access":"RD","varp":"(H)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"PIN","name":"d","addr":"(T)","loc":"d,22:12,22:13","svDotName":true,"svImplicit":false,"modVarp":"(U)","modPTypep":"UNLINKED",
|
||||
"exprp": [
|
||||
{"type":"VARREF","name":"d","addr":"(V)","loc":"d,22:42,22:43","dtypep":"(G)","access":"RD","varp":"(J)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"CELL","name":"cell2","addr":"(W)","loc":"d,25:6,25:11","origName":"cell2","recursive":false,"modp":"(X)",
|
||||
"pinsp": [
|
||||
{"type":"PIN","name":"d","addr":"(Y)","loc":"d,25:14,25:15","svDotName":true,"svImplicit":false,"modVarp":"(Z)","modPTypep":"UNLINKED",
|
||||
"exprp": [
|
||||
{"type":"VARREF","name":"between","addr":"(AB)","loc":"d,25:16,25:23","dtypep":"(G)","access":"RD","varp":"(K)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"PIN","name":"q","addr":"(BB)","loc":"d,26:14,26:15","svDotName":true,"svImplicit":false,"modVarp":"(CB)","modPTypep":"UNLINKED",
|
||||
"exprp": [
|
||||
{"type":"VARREF","name":"q","addr":"(DB)","loc":"d,26:42,26:43","dtypep":"(G)","access":"WR","varp":"(F)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]},
|
||||
{"type":"PIN","name":"clk","addr":"(EB)","loc":"d,27:14,27:17","svDotName":true,"svImplicit":false,"modVarp":"(FB)","modPTypep":"UNLINKED",
|
||||
"exprp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(GB)","loc":"d,27:42,27:45","dtypep":"(I)","access":"RD","varp":"(H)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],"paramsp": [],"rangep": [],"intfRefsp": []}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"mod2","addr":"(X)","loc":"d,46:8,46:12","origName":"mod2","level":3,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"clk","addr":"(FB)","loc":"d,48:10,48:13","dtypep":"(I)","origName":"clk","isSc":false,"isPrimaryIO":false,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"d","addr":"(Z)","loc":"d,49:16,49:17","dtypep":"(G)","origName":"d","isSc":false,"isPrimaryIO":false,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"q","addr":"(CB)","loc":"d,50:22,50:23","dtypep":"(G)","origName":"q","isSc":false,"isPrimaryIO":false,"direction":"OUTPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"WIRE","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"ASSIGNW","name":"","addr":"(HB)","loc":"d,53:13,53:14","dtypep":"(G)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"d","addr":"(IB)","loc":"d,49:16,49:17","dtypep":"(G)","access":"RD","varp":"(Z)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"q","addr":"(JB)","loc":"d,50:22,50:23","dtypep":"(G)","access":"WR","varp":"(CB)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": [],"strengthSpecp": []}
|
||||
],"activesp": []},
|
||||
{"type":"MODULE","name":"mod1__W4","addr":"(M)","loc":"d,31:8,31:12","origName":"mod1","level":3,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"WIDTH","addr":"(KB)","loc":"d,32:15,32:20","dtypep":"(LB)","origName":"WIDTH","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"GPARAM","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":true,"isParam":true,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],
|
||||
"valuep": [
|
||||
{"type":"CONST","name":"32'sh4","addr":"(MB)","loc":"d,19:18,19:19","dtypep":"(LB)"}
|
||||
],"attrsp": []},
|
||||
{"type":"VAR","name":"clk","addr":"(R)","loc":"d,34:24,34:27","dtypep":"(I)","origName":"clk","isSc":false,"isPrimaryIO":false,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"d","addr":"(U)","loc":"d,35:30,35:31","dtypep":"(G)","origName":"d","isSc":false,"isPrimaryIO":false,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"q","addr":"(O)","loc":"d,36:30,36:31","dtypep":"(G)","origName":"q","isSc":false,"isPrimaryIO":false,"direction":"OUTPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"IGNORED","addr":"(NB)","loc":"d,39:15,39:22","dtypep":"(LB)","origName":"IGNORED","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"LPARAM","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":true,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],
|
||||
"valuep": [
|
||||
{"type":"CONST","name":"32'sh1","addr":"(OB)","loc":"d,39:25,39:26","dtypep":"(LB)"}
|
||||
],"attrsp": []},
|
||||
{"type":"ALWAYS","name":"","addr":"(PB)","loc":"d,41:4,41:10","keyword":"always","isSuspendable":false,"needProcess":false,
|
||||
"sensesp": [
|
||||
{"type":"SENTREE","name":"","addr":"(QB)","loc":"d,41:11,41:12","isMulti":false,
|
||||
"sensesp": [
|
||||
{"type":"SENITEM","name":"","addr":"(RB)","loc":"d,41:13,41:20","edgeType":"POS",
|
||||
"sensp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(SB)","loc":"d,41:21,41:24","dtypep":"(I)","access":"RD","varp":"(R)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"condp": []}
|
||||
]}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGNDLY","name":"","addr":"(TB)","loc":"d,42:8,42:10","dtypep":"(G)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"d","addr":"(UB)","loc":"d,42:11,42:12","dtypep":"(G)","access":"RD","varp":"(U)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"q","addr":"(VB)","loc":"d,42:6,42:7","dtypep":"(G)","access":"WR","varp":"(O)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
]}
|
||||
],"activesp": []}
|
||||
],"filesp": [],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"UNLINKED",
|
||||
"typesp": [
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(I)","loc":"d,34:24,34:27","dtypep":"(I)","keyword":"logic","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(G)","loc":"d,15:16,15:17","dtypep":"(G)","keyword":"logic","range":"3:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(LB)","loc":"d,19:18,19:19","dtypep":"(LB)","keyword":"logic","range":"31:0","generic":true,"rangep": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(WB)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"@CONST-POOL@","addr":"(XB)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(WB)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env perl
|
||||
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
|
||||
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||
#
|
||||
# Copyright 2012 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
|
||||
|
||||
scenarios(vlt => 1);
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ['--no-std', '--json-only', '--no-json-edit-nums'],
|
||||
verilator_make_gmake => 0,
|
||||
make_top_shell => 0,
|
||||
make_main => 0,
|
||||
);
|
||||
|
||||
files_identical("$out_filename", $Self->{golden_filename});
|
||||
|
||||
ok(1);
|
||||
1;
|
|
@ -0,0 +1,55 @@
|
|||
// DESCRIPTION: Verilator: Verilog Test module
|
||||
//
|
||||
// This file ONLY is placed under the Creative Commons Public Domain, for
|
||||
// any use, without warranty, 2012 by Wilson Snyder.
|
||||
// SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
module t (/*AUTOARG*/
|
||||
// Outputs
|
||||
q,
|
||||
// Inputs
|
||||
clk, d
|
||||
);
|
||||
input clk;
|
||||
input [3:0] d;
|
||||
output wire [3:0] q;
|
||||
|
||||
logic [3:0] between;
|
||||
|
||||
mod1 #(.WIDTH(4))
|
||||
cell1 (.q(between),
|
||||
.clk (clk),
|
||||
.d (d[3:0]));
|
||||
|
||||
mod2
|
||||
cell2 (.d(between),
|
||||
.q (q[3:0]),
|
||||
.clk (clk));
|
||||
|
||||
endmodule
|
||||
|
||||
module mod1
|
||||
#(parameter WIDTH = 32)
|
||||
(
|
||||
input clk,
|
||||
input [WIDTH-1:0] d,
|
||||
output logic [WIDTH-1:0] q
|
||||
);
|
||||
|
||||
localparam IGNORED = 1;
|
||||
|
||||
always @(posedge clk)
|
||||
q <= d;
|
||||
|
||||
endmodule
|
||||
|
||||
module mod2
|
||||
(
|
||||
input clk,
|
||||
input [3:0] d,
|
||||
output wire [3:0] q
|
||||
);
|
||||
|
||||
assign q = d;
|
||||
|
||||
endmodule
|
|
@ -0,0 +1,154 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"UNLINKED","stdPackagep":"UNLINKED","evalp":"UNLINKED","evalNbap":"UNLINKED","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"(E)",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"$root","addr":"(F)","loc":"d,7:8,7:9","origName":"$root","level":1,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"q","addr":"(G)","loc":"d,15:22,15:23","dtypep":"(H)","origName":"q","isSc":false,"isPrimaryIO":true,"direction":"OUTPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"WIRE","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"clk","addr":"(I)","loc":"d,13:10,13:13","dtypep":"(J)","origName":"clk","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"clker","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"d","addr":"(K)","loc":"d,14:16,14:17","dtypep":"(H)","origName":"d","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.q","addr":"(L)","loc":"d,15:22,15:23","dtypep":"(H)","origName":"q","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"WIRE","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.clk","addr":"(M)","loc":"d,13:10,13:13","dtypep":"(J)","origName":"clk","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.d","addr":"(N)","loc":"d,14:16,14:17","dtypep":"(H)","origName":"d","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.between","addr":"(O)","loc":"d,17:22,17:29","dtypep":"(H)","origName":"between","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"VAR","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.cell1.WIDTH","addr":"(P)","loc":"d,32:15,32:20","dtypep":"(Q)","origName":"WIDTH","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"GPARAM","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":true,"isParam":true,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],
|
||||
"valuep": [
|
||||
{"type":"CONST","name":"32'sh4","addr":"(R)","loc":"d,19:18,19:19","dtypep":"(Q)"}
|
||||
],"attrsp": []},
|
||||
{"type":"VAR","name":"t.cell1.clk","addr":"(S)","loc":"d,34:24,34:27","dtypep":"(J)","origName":"clk","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.cell1.d","addr":"(T)","loc":"d,35:30,35:31","dtypep":"(H)","origName":"d","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.cell1.q","addr":"(U)","loc":"d,36:30,36:31","dtypep":"(H)","origName":"q","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.cell1.IGNORED","addr":"(V)","loc":"d,39:15,39:22","dtypep":"(Q)","origName":"IGNORED","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"LPARAM","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":true,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],
|
||||
"valuep": [
|
||||
{"type":"CONST","name":"32'sh1","addr":"(W)","loc":"d,39:25,39:26","dtypep":"(Q)"}
|
||||
],"attrsp": []},
|
||||
{"type":"VAR","name":"t.cell2.clk","addr":"(X)","loc":"d,48:10,48:13","dtypep":"(J)","origName":"clk","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.cell2.d","addr":"(Y)","loc":"d,49:16,49:17","dtypep":"(H)","origName":"d","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"t.cell2.q","addr":"(Z)","loc":"d,50:22,50:23","dtypep":"(H)","origName":"q","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"WIRE","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"TOPSCOPE","name":"","addr":"(E)","loc":"d,7:8,7:9","senTreesp": [],
|
||||
"scopep": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(AB)","loc":"d,7:8,7:9","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(F)",
|
||||
"varsp": [
|
||||
{"type":"VARSCOPE","name":"q","addr":"(BB)","loc":"d,15:22,15:23","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(G)"},
|
||||
{"type":"VARSCOPE","name":"clk","addr":"(CB)","loc":"d,13:10,13:13","dtypep":"(J)","isTrace":true,"scopep":"(AB)","varp":"(I)"},
|
||||
{"type":"VARSCOPE","name":"d","addr":"(DB)","loc":"d,14:16,14:17","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(K)"},
|
||||
{"type":"VARSCOPE","name":"t.q","addr":"(EB)","loc":"d,15:22,15:23","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(L)"},
|
||||
{"type":"VARSCOPE","name":"t.clk","addr":"(FB)","loc":"d,13:10,13:13","dtypep":"(J)","isTrace":true,"scopep":"(AB)","varp":"(M)"},
|
||||
{"type":"VARSCOPE","name":"t.d","addr":"(GB)","loc":"d,14:16,14:17","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(N)"},
|
||||
{"type":"VARSCOPE","name":"t.between","addr":"(HB)","loc":"d,17:22,17:29","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(O)"},
|
||||
{"type":"VARSCOPE","name":"t.cell1.WIDTH","addr":"(IB)","loc":"d,32:15,32:20","dtypep":"(Q)","isTrace":true,"scopep":"(AB)","varp":"(P)"},
|
||||
{"type":"VARSCOPE","name":"t.cell1.clk","addr":"(JB)","loc":"d,34:24,34:27","dtypep":"(J)","isTrace":true,"scopep":"(AB)","varp":"(S)"},
|
||||
{"type":"VARSCOPE","name":"t.cell1.d","addr":"(KB)","loc":"d,35:30,35:31","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(T)"},
|
||||
{"type":"VARSCOPE","name":"t.cell1.q","addr":"(LB)","loc":"d,36:30,36:31","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(U)"},
|
||||
{"type":"VARSCOPE","name":"t.cell1.IGNORED","addr":"(MB)","loc":"d,39:15,39:22","dtypep":"(Q)","isTrace":true,"scopep":"(AB)","varp":"(V)"},
|
||||
{"type":"VARSCOPE","name":"t.cell2.clk","addr":"(NB)","loc":"d,48:10,48:13","dtypep":"(J)","isTrace":true,"scopep":"(AB)","varp":"(X)"},
|
||||
{"type":"VARSCOPE","name":"t.cell2.d","addr":"(OB)","loc":"d,49:16,49:17","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(Y)"},
|
||||
{"type":"VARSCOPE","name":"t.cell2.q","addr":"(PB)","loc":"d,50:22,50:23","dtypep":"(H)","isTrace":true,"scopep":"(AB)","varp":"(Z)"}
|
||||
],
|
||||
"blocksp": [
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(QB)","loc":"d,15:22,15:23","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"q","addr":"(RB)","loc":"d,15:22,15:23","dtypep":"(H)","access":"RD","varp":"(G)","varScopep":"(BB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.q","addr":"(SB)","loc":"d,15:22,15:23","dtypep":"(H)","access":"WR","varp":"(L)","varScopep":"(EB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(TB)","loc":"d,13:10,13:13","dtypep":"(J)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(UB)","loc":"d,13:10,13:13","dtypep":"(J)","access":"RD","varp":"(I)","varScopep":"(CB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.clk","addr":"(VB)","loc":"d,13:10,13:13","dtypep":"(J)","access":"WR","varp":"(M)","varScopep":"(FB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(WB)","loc":"d,14:16,14:17","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"d","addr":"(XB)","loc":"d,14:16,14:17","dtypep":"(H)","access":"RD","varp":"(K)","varScopep":"(DB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.d","addr":"(YB)","loc":"d,14:16,14:17","dtypep":"(H)","access":"WR","varp":"(N)","varScopep":"(GB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(ZB)","loc":"d,34:24,34:27","dtypep":"(J)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"t.clk","addr":"(AC)","loc":"d,21:42,21:45","dtypep":"(J)","access":"RD","varp":"(M)","varScopep":"(FB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.cell1.clk","addr":"(BC)","loc":"d,34:24,34:27","dtypep":"(J)","access":"WR","varp":"(S)","varScopep":"(JB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(CC)","loc":"d,35:30,35:31","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"t.d","addr":"(DC)","loc":"d,22:42,22:43","dtypep":"(H)","access":"RD","varp":"(N)","varScopep":"(GB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.cell1.d","addr":"(EC)","loc":"d,35:30,35:31","dtypep":"(H)","access":"WR","varp":"(T)","varScopep":"(KB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(FC)","loc":"d,36:30,36:31","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"t.between","addr":"(GC)","loc":"d,20:14,20:21","dtypep":"(H)","access":"RD","varp":"(O)","varScopep":"(HB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.cell1.q","addr":"(HC)","loc":"d,36:30,36:31","dtypep":"(H)","access":"WR","varp":"(U)","varScopep":"(LB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ALWAYS","name":"","addr":"(IC)","loc":"d,41:4,41:10","keyword":"always","isSuspendable":false,"needProcess":false,
|
||||
"sensesp": [
|
||||
{"type":"SENTREE","name":"","addr":"(JC)","loc":"d,41:11,41:12","isMulti":false,
|
||||
"sensesp": [
|
||||
{"type":"SENITEM","name":"","addr":"(KC)","loc":"d,41:13,41:20","edgeType":"POS",
|
||||
"sensp": [
|
||||
{"type":"VARREF","name":"clk","addr":"(LC)","loc":"d,41:21,41:24","dtypep":"(J)","access":"RD","varp":"(I)","varScopep":"(CB)","classOrPackagep":"UNLINKED"}
|
||||
],"condp": []}
|
||||
]}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGNDLY","name":"","addr":"(MC)","loc":"d,42:8,42:10","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"d","addr":"(NC)","loc":"d,42:11,42:12","dtypep":"(H)","access":"RD","varp":"(K)","varScopep":"(DB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.between","addr":"(OC)","loc":"d,42:6,42:7","dtypep":"(H)","access":"WR","varp":"(O)","varScopep":"(HB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
]},
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(PC)","loc":"d,48:10,48:13","dtypep":"(J)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"t.clk","addr":"(QC)","loc":"d,27:42,27:45","dtypep":"(J)","access":"RD","varp":"(M)","varScopep":"(FB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.cell2.clk","addr":"(RC)","loc":"d,48:10,48:13","dtypep":"(J)","access":"WR","varp":"(X)","varScopep":"(NB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(SC)","loc":"d,49:16,49:17","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"t.between","addr":"(TC)","loc":"d,25:16,25:23","dtypep":"(H)","access":"RD","varp":"(O)","varScopep":"(HB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.cell2.d","addr":"(UC)","loc":"d,49:16,49:17","dtypep":"(H)","access":"WR","varp":"(Y)","varScopep":"(OB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(VC)","loc":"d,50:22,50:23","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"t.q","addr":"(WC)","loc":"d,26:42,26:43","dtypep":"(H)","access":"RD","varp":"(L)","varScopep":"(EB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"t.cell2.q","addr":"(XC)","loc":"d,50:22,50:23","dtypep":"(H)","access":"WR","varp":"(Z)","varScopep":"(PB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNW","name":"","addr":"(YC)","loc":"d,53:13,53:14","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"t.between","addr":"(ZC)","loc":"d,17:22,17:29","dtypep":"(H)","access":"RD","varp":"(O)","varScopep":"(HB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"q","addr":"(AD)","loc":"d,15:22,15:23","dtypep":"(H)","access":"WR","varp":"(G)","varScopep":"(BB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": [],"strengthSpecp": []}
|
||||
]}
|
||||
]}
|
||||
],"activesp": []}
|
||||
],"filesp": [],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"UNLINKED",
|
||||
"typesp": [
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(J)","loc":"d,34:24,34:27","dtypep":"(J)","keyword":"logic","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(H)","loc":"d,15:16,15:17","dtypep":"(H)","keyword":"logic","range":"3:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(Q)","loc":"d,19:18,19:19","dtypep":"(Q)","keyword":"logic","range":"31:0","generic":true,"rangep": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(BD)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"@CONST-POOL@","addr":"(CD)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(BD)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -0,0 +1,27 @@
|
|||
#!/usr/bin/env perl
|
||||
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
|
||||
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||
#
|
||||
# Copyright 2012 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
|
||||
|
||||
scenarios(vlt => 1);
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
top_filename("t/t_json_only_first.v");
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ['--no-std', '--json-only', '--no-json-edit-nums', '--flatten'],
|
||||
verilator_make_gmake => 0,
|
||||
make_top_shell => 0,
|
||||
make_main => 0,
|
||||
);
|
||||
|
||||
files_identical("$out_filename", $Self->{golden_filename});
|
||||
|
||||
ok(1);
|
||||
1;
|
|
@ -0,0 +1,47 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"UNLINKED","stdPackagep":"UNLINKED","evalp":"UNLINKED","evalNbap":"UNLINKED","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"(E)",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"$root","addr":"(F)","loc":"d,11:8,11:11","origName":"$root","level":1,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"i_clk","addr":"(G)","loc":"d,11:24,11:29","dtypep":"(H)","origName":"i_clk","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"top.i_clk","addr":"(I)","loc":"d,11:24,11:29","dtypep":"(H)","origName":"i_clk","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"top.f.i_clk","addr":"(J)","loc":"d,7:24,7:29","dtypep":"(H)","origName":"i_clk","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"TOPSCOPE","name":"","addr":"(E)","loc":"d,11:8,11:11","senTreesp": [],
|
||||
"scopep": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(K)","loc":"d,11:8,11:11","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(F)",
|
||||
"varsp": [
|
||||
{"type":"VARSCOPE","name":"i_clk","addr":"(L)","loc":"d,11:24,11:29","dtypep":"(H)","isTrace":true,"scopep":"(K)","varp":"(G)"},
|
||||
{"type":"VARSCOPE","name":"top.i_clk","addr":"(M)","loc":"d,11:24,11:29","dtypep":"(H)","isTrace":true,"scopep":"(K)","varp":"(I)"},
|
||||
{"type":"VARSCOPE","name":"top.f.i_clk","addr":"(N)","loc":"d,7:24,7:29","dtypep":"(H)","isTrace":true,"scopep":"(K)","varp":"(J)"}
|
||||
],
|
||||
"blocksp": [
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(O)","loc":"d,11:24,11:29","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"i_clk","addr":"(P)","loc":"d,11:24,11:29","dtypep":"(H)","access":"RD","varp":"(G)","varScopep":"(L)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"top.i_clk","addr":"(Q)","loc":"d,11:24,11:29","dtypep":"(H)","access":"WR","varp":"(I)","varScopep":"(M)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(R)","loc":"d,7:24,7:29","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"top.i_clk","addr":"(S)","loc":"d,12:7,12:8","dtypep":"(H)","access":"RD","varp":"(I)","varScopep":"(M)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"top.f.i_clk","addr":"(T)","loc":"d,7:24,7:29","dtypep":"(H)","access":"WR","varp":"(J)","varScopep":"(N)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
]}
|
||||
]}
|
||||
],"activesp": []}
|
||||
],"filesp": [],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"UNLINKED",
|
||||
"typesp": [
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(H)","loc":"d,11:18,11:23","dtypep":"(H)","keyword":"logic","generic":true,"rangep": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(U)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"@CONST-POOL@","addr":"(V)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(U)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env perl
|
||||
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
|
||||
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||
#
|
||||
# Copyright 2012 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
|
||||
|
||||
scenarios(vlt => 1);
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ['--no-std', '--json-only', '--no-json-edit-nums', '--flatten'],
|
||||
verilator_make_gmake => 0,
|
||||
make_top_shell => 0,
|
||||
make_main => 0,
|
||||
);
|
||||
|
||||
files_identical("$out_filename", $Self->{golden_filename});
|
||||
|
||||
ok(1);
|
||||
1;
|
|
@ -0,0 +1,13 @@
|
|||
// DESCRIPTION: Verilator: Verilog Test module
|
||||
//
|
||||
// This file ONLY is placed under the Creative Commons Public Domain, for
|
||||
// any use, without warranty, 2008 by Wilson Snyder.
|
||||
// SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
module foo(input logic i_clk); /* verilator no_inline_module */
|
||||
endmodule
|
||||
|
||||
// --flatten forces inlining of 'no_inline_module' module foo.
|
||||
module top(input logic i_clk);
|
||||
foo f(.*);
|
||||
endmodule
|
|
@ -0,0 +1,47 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"UNLINKED","stdPackagep":"UNLINKED","evalp":"UNLINKED","evalNbap":"UNLINKED","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"(E)",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"$root","addr":"(F)","loc":"d,11:8,11:11","origName":"$root","level":1,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"i_clk","addr":"(G)","loc":"d,11:24,11:29","dtypep":"(H)","origName":"i_clk","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"top.i_clk","addr":"(I)","loc":"d,11:24,11:29","dtypep":"(H)","origName":"i_clk","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"top.f.i_clk","addr":"(J)","loc":"d,7:24,7:29","dtypep":"(H)","origName":"i_clk","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"TOPSCOPE","name":"","addr":"(E)","loc":"d,11:8,11:11","senTreesp": [],
|
||||
"scopep": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(K)","loc":"d,11:8,11:11","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(F)",
|
||||
"varsp": [
|
||||
{"type":"VARSCOPE","name":"i_clk","addr":"(L)","loc":"d,11:24,11:29","dtypep":"(H)","isTrace":true,"scopep":"(K)","varp":"(G)"},
|
||||
{"type":"VARSCOPE","name":"top.i_clk","addr":"(M)","loc":"d,11:24,11:29","dtypep":"(H)","isTrace":true,"scopep":"(K)","varp":"(I)"},
|
||||
{"type":"VARSCOPE","name":"top.f.i_clk","addr":"(N)","loc":"d,7:24,7:29","dtypep":"(H)","isTrace":true,"scopep":"(K)","varp":"(J)"}
|
||||
],
|
||||
"blocksp": [
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(O)","loc":"d,11:24,11:29","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"i_clk","addr":"(P)","loc":"d,11:24,11:29","dtypep":"(H)","access":"RD","varp":"(G)","varScopep":"(L)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"top.i_clk","addr":"(Q)","loc":"d,11:24,11:29","dtypep":"(H)","access":"WR","varp":"(I)","varScopep":"(M)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(R)","loc":"d,7:24,7:29","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"top.i_clk","addr":"(S)","loc":"d,12:7,12:8","dtypep":"(H)","access":"RD","varp":"(I)","varScopep":"(M)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"top.f.i_clk","addr":"(T)","loc":"d,7:24,7:29","dtypep":"(H)","access":"WR","varp":"(J)","varScopep":"(N)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
]}
|
||||
]}
|
||||
],"activesp": []}
|
||||
],"filesp": [],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"UNLINKED",
|
||||
"typesp": [
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(H)","loc":"d,11:18,11:23","dtypep":"(H)","keyword":"logic","generic":true,"rangep": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(U)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"@CONST-POOL@","addr":"(V)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(U)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env perl
|
||||
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
|
||||
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||
#
|
||||
# Copyright 2012 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
|
||||
|
||||
scenarios(vlt => 1);
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ['--no-std', '--json-only', '--no-json-edit-nums', '--flatten'],
|
||||
verilator_make_gmake => 0,
|
||||
make_top_shell => 0,
|
||||
make_main => 0,
|
||||
);
|
||||
|
||||
files_identical("$out_filename", $Self->{golden_filename});
|
||||
|
||||
ok(1);
|
||||
1;
|
|
@ -0,0 +1,13 @@
|
|||
// DESCRIPTION: Verilator: Verilog Test module
|
||||
//
|
||||
// This file ONLY is placed under the Creative Commons Public Domain, for
|
||||
// any use, without warranty, 2008 by Wilson Snyder.
|
||||
// SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
module foo(input logic i_clk); /* verilator public_module */
|
||||
endmodule
|
||||
|
||||
// --flatten forces inlining of public module foo.
|
||||
module top(input logic i_clk);
|
||||
foo f(.*);
|
||||
endmodule
|
|
@ -0,0 +1,323 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"UNLINKED","stdPackagep":"UNLINKED","evalp":"UNLINKED","evalNbap":"UNLINKED","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"(E)",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"$root","addr":"(F)","loc":"d,7:8,7:21","origName":"$root","level":1,"modPublic":true,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"i_a","addr":"(G)","loc":"d,9:25,9:28","dtypep":"(H)","origName":"i_a","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"i_b","addr":"(I)","loc":"d,10:25,10:28","dtypep":"(H)","origName":"i_b","isSc":false,"isPrimaryIO":true,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"o_a","addr":"(J)","loc":"d,11:25,11:28","dtypep":"(K)","origName":"o_a","isSc":false,"isPrimaryIO":true,"direction":"OUTPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"o_b","addr":"(L)","loc":"d,12:25,12:28","dtypep":"(K)","origName":"o_b","isSc":false,"isPrimaryIO":true,"direction":"OUTPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":true,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"vlvbound_test.i_a","addr":"(M)","loc":"d,9:25,9:28","dtypep":"(H)","origName":"i_a","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"vlvbound_test.i_b","addr":"(N)","loc":"d,10:25,10:28","dtypep":"(H)","origName":"i_b","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"vlvbound_test.o_a","addr":"(O)","loc":"d,11:25,11:28","dtypep":"(K)","origName":"o_a","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"vlvbound_test.o_b","addr":"(P)","loc":"d,12:25,12:28","dtypep":"(K)","origName":"o_b","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"TOPSCOPE","name":"","addr":"(E)","loc":"d,7:8,7:21","senTreesp": [],
|
||||
"scopep": [
|
||||
{"type":"SCOPE","name":"TOP","addr":"(Q)","loc":"d,7:8,7:21","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(F)",
|
||||
"varsp": [
|
||||
{"type":"VARSCOPE","name":"i_a","addr":"(R)","loc":"d,9:25,9:28","dtypep":"(H)","isTrace":true,"scopep":"(Q)","varp":"(G)"},
|
||||
{"type":"VARSCOPE","name":"i_b","addr":"(S)","loc":"d,10:25,10:28","dtypep":"(H)","isTrace":true,"scopep":"(Q)","varp":"(I)"},
|
||||
{"type":"VARSCOPE","name":"o_a","addr":"(T)","loc":"d,11:25,11:28","dtypep":"(K)","isTrace":true,"scopep":"(Q)","varp":"(J)"},
|
||||
{"type":"VARSCOPE","name":"o_b","addr":"(U)","loc":"d,12:25,12:28","dtypep":"(K)","isTrace":true,"scopep":"(Q)","varp":"(L)"},
|
||||
{"type":"VARSCOPE","name":"vlvbound_test.i_a","addr":"(V)","loc":"d,9:25,9:28","dtypep":"(H)","isTrace":true,"scopep":"(Q)","varp":"(M)"},
|
||||
{"type":"VARSCOPE","name":"vlvbound_test.i_b","addr":"(W)","loc":"d,10:25,10:28","dtypep":"(H)","isTrace":true,"scopep":"(Q)","varp":"(N)"},
|
||||
{"type":"VARSCOPE","name":"vlvbound_test.o_a","addr":"(X)","loc":"d,11:25,11:28","dtypep":"(K)","isTrace":true,"scopep":"(Q)","varp":"(O)"},
|
||||
{"type":"VARSCOPE","name":"vlvbound_test.o_b","addr":"(Y)","loc":"d,12:25,12:28","dtypep":"(K)","isTrace":true,"scopep":"(Q)","varp":"(P)"},
|
||||
{"type":"VARSCOPE","name":"__Vfunc_vlvbound_test.foo__0__Vfuncout","addr":"(Z)","loc":"d,15:34,15:37","dtypep":"(K)","isTrace":true,"scopep":"(Q)","varp":"(AB)"},
|
||||
{"type":"VARSCOPE","name":"__Vfunc_vlvbound_test.foo__0__val","addr":"(BB)","loc":"d,15:57,15:60","dtypep":"(H)","isTrace":true,"scopep":"(Q)","varp":"(CB)"},
|
||||
{"type":"VARSCOPE","name":"__Vfunc_vlvbound_test.foo__0__ret","addr":"(DB)","loc":"d,16:17,16:20","dtypep":"(K)","isTrace":true,"scopep":"(Q)","varp":"(EB)"},
|
||||
{"type":"VARSCOPE","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(FB)","loc":"d,17:13,17:14","dtypep":"(GB)","isTrace":true,"scopep":"(Q)","varp":"(HB)"},
|
||||
{"type":"VARSCOPE","name":"__Vfunc_vlvbound_test.foo__1__Vfuncout","addr":"(IB)","loc":"d,15:34,15:37","dtypep":"(K)","isTrace":true,"scopep":"(Q)","varp":"(JB)"},
|
||||
{"type":"VARSCOPE","name":"__Vfunc_vlvbound_test.foo__1__val","addr":"(KB)","loc":"d,15:57,15:60","dtypep":"(H)","isTrace":true,"scopep":"(Q)","varp":"(LB)"},
|
||||
{"type":"VARSCOPE","name":"__Vfunc_vlvbound_test.foo__1__ret","addr":"(MB)","loc":"d,16:17,16:20","dtypep":"(K)","isTrace":true,"scopep":"(Q)","varp":"(NB)"},
|
||||
{"type":"VARSCOPE","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(OB)","loc":"d,17:13,17:14","dtypep":"(GB)","isTrace":true,"scopep":"(Q)","varp":"(PB)"}
|
||||
],
|
||||
"blocksp": [
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(QB)","loc":"d,9:25,9:28","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"i_a","addr":"(RB)","loc":"d,9:25,9:28","dtypep":"(H)","access":"RD","varp":"(G)","varScopep":"(R)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"vlvbound_test.i_a","addr":"(SB)","loc":"d,9:25,9:28","dtypep":"(H)","access":"WR","varp":"(M)","varScopep":"(V)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(TB)","loc":"d,10:25,10:28","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"i_b","addr":"(UB)","loc":"d,10:25,10:28","dtypep":"(H)","access":"RD","varp":"(I)","varScopep":"(S)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"vlvbound_test.i_b","addr":"(VB)","loc":"d,10:25,10:28","dtypep":"(H)","access":"WR","varp":"(N)","varScopep":"(W)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(WB)","loc":"d,11:25,11:28","dtypep":"(K)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"o_a","addr":"(XB)","loc":"d,11:25,11:28","dtypep":"(K)","access":"RD","varp":"(J)","varScopep":"(T)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"vlvbound_test.o_a","addr":"(YB)","loc":"d,11:25,11:28","dtypep":"(K)","access":"WR","varp":"(O)","varScopep":"(X)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGNALIAS","name":"","addr":"(ZB)","loc":"d,12:25,12:28","dtypep":"(K)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"o_b","addr":"(AC)","loc":"d,12:25,12:28","dtypep":"(K)","access":"RD","varp":"(L)","varScopep":"(U)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"vlvbound_test.o_b","addr":"(BC)","loc":"d,12:25,12:28","dtypep":"(K)","access":"WR","varp":"(P)","varScopep":"(Y)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ALWAYS","name":"","addr":"(CC)","loc":"d,24:14,24:15","keyword":"always","isSuspendable":false,"needProcess":false,"sensesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"COMMENT","name":"Function: foo","addr":"(DC)","loc":"d,24:16,24:19"},
|
||||
{"type":"ASSIGN","name":"","addr":"(EC)","loc":"d,24:20,24:23","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"i_a","addr":"(FC)","loc":"d,24:20,24:23","dtypep":"(H)","access":"RD","varp":"(G)","varScopep":"(R)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__val","addr":"(GC)","loc":"d,15:57,15:60","dtypep":"(H)","access":"WR","varp":"(CB)","varScopep":"(BB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(HC)","loc":"d,18:11,18:12","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'sh0","addr":"(IC)","loc":"d,18:12,18:13","dtypep":"(JC)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(KC)","loc":"d,18:10,18:11","dtypep":"(GB)","access":"WR","varp":"(HB)","varScopep":"(FB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"WHILE","name":"","addr":"(LC)","loc":"d,18:5,18:8","precondsp": [],
|
||||
"condp": [
|
||||
{"type":"GTS","name":"","addr":"(MC)","loc":"d,18:18,18:19","dtypep":"(NC)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'sh7","addr":"(OC)","loc":"d,18:20,18:21","dtypep":"(JC)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(PC)","loc":"d,18:16,18:17","dtypep":"(GB)","access":"RD","varp":"(HB)","varScopep":"(FB)","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(QC)","loc":"d,19:14,19:15","dtypep":"(NC)",
|
||||
"rhsp": [
|
||||
{"type":"EQ","name":"","addr":"(RC)","loc":"d,19:31,19:33","dtypep":"(NC)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"2'h0","addr":"(SC)","loc":"d,19:34,19:39","dtypep":"(TC)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"SEL","name":"","addr":"(UC)","loc":"d,19:20,19:21","dtypep":"(TC)","declRange":"[15:0]","declElWidth":1,
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__val","addr":"(VC)","loc":"d,19:17,19:20","dtypep":"(H)","access":"RD","varp":"(CB)","varScopep":"(BB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lsbp": [
|
||||
{"type":"SEL","name":"","addr":"(WC)","loc":"d,19:22,19:23","dtypep":"(XC)",
|
||||
"fromp": [
|
||||
{"type":"MULS","name":"","addr":"(YC)","loc":"d,19:22,19:23","dtypep":"(JC)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'sh2","addr":"(ZC)","loc":"d,19:23,19:24","dtypep":"(JC)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(AD)","loc":"d,19:21,19:22","dtypep":"(GB)","access":"RD","varp":"(HB)","varScopep":"(FB)","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lsbp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(BD)","loc":"d,19:22,19:23","dtypep":"(CD)"}
|
||||
],
|
||||
"widthp": [
|
||||
{"type":"CONST","name":"32'h4","addr":"(DD)","loc":"d,19:22,19:23","dtypep":"(CD)"}
|
||||
]}
|
||||
],
|
||||
"widthp": [
|
||||
{"type":"CONST","name":"32'sh2","addr":"(ED)","loc":"d,19:28,19:29","dtypep":"(JC)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"SEL","name":"","addr":"(FD)","loc":"d,19:10,19:11","dtypep":"(NC)","declRange":"[6:0]","declElWidth":1,
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__ret","addr":"(GD)","loc":"d,19:7,19:10","dtypep":"(K)","access":"WR","varp":"(EB)","varScopep":"(DB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lsbp": [
|
||||
{"type":"SEL","name":"","addr":"(HD)","loc":"d,19:11,19:12","dtypep":"(ID)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(JD)","loc":"d,19:11,19:12","dtypep":"(GB)","access":"RD","varp":"(HB)","varScopep":"(FB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lsbp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(KD)","loc":"d,19:11,19:12","dtypep":"(CD)"}
|
||||
],
|
||||
"widthp": [
|
||||
{"type":"CONST","name":"32'h3","addr":"(LD)","loc":"d,19:11,19:12","dtypep":"(CD)"}
|
||||
]}
|
||||
],
|
||||
"widthp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(MD)","loc":"d,19:10,19:11","dtypep":"(CD)"}
|
||||
]}
|
||||
],"timingControlp": []}
|
||||
],
|
||||
"incsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(ND)","loc":"d,18:24,18:26","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(OD)","loc":"d,18:24,18:26","dtypep":"(CD)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(PD)","loc":"d,18:24,18:26","dtypep":"(CD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(QD)","loc":"d,18:23,18:24","dtypep":"(GB)","access":"RD","varp":"(HB)","varScopep":"(FB)","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(RD)","loc":"d,18:23,18:24","dtypep":"(GB)","access":"WR","varp":"(HB)","varScopep":"(FB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(SD)","loc":"d,21:5,21:11","dtypep":"(K)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__ret","addr":"(TD)","loc":"d,21:12,21:15","dtypep":"(K)","access":"RD","varp":"(EB)","varScopep":"(DB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__Vfuncout","addr":"(UD)","loc":"d,21:5,21:11","dtypep":"(K)","access":"WR","varp":"(AB)","varScopep":"(Z)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(VD)","loc":"d,24:14,24:15","dtypep":"(K)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__0__Vfuncout","addr":"(WD)","loc":"d,24:16,24:19","dtypep":"(K)","access":"RD","varp":"(AB)","varScopep":"(Z)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"o_a","addr":"(XD)","loc":"d,24:10,24:13","dtypep":"(K)","access":"WR","varp":"(J)","varScopep":"(T)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
]},
|
||||
{"type":"ALWAYS","name":"","addr":"(YD)","loc":"d,25:14,25:15","keyword":"always","isSuspendable":false,"needProcess":false,"sensesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"COMMENT","name":"Function: foo","addr":"(ZD)","loc":"d,25:16,25:19"},
|
||||
{"type":"ASSIGN","name":"","addr":"(AE)","loc":"d,25:20,25:23","dtypep":"(H)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"i_b","addr":"(BE)","loc":"d,25:20,25:23","dtypep":"(H)","access":"RD","varp":"(I)","varScopep":"(S)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__val","addr":"(CE)","loc":"d,15:57,15:60","dtypep":"(H)","access":"WR","varp":"(LB)","varScopep":"(KB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(DE)","loc":"d,18:11,18:12","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"CONST","name":"32'sh0","addr":"(EE)","loc":"d,18:12,18:13","dtypep":"(JC)"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(FE)","loc":"d,18:10,18:11","dtypep":"(GB)","access":"WR","varp":"(PB)","varScopep":"(OB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"WHILE","name":"","addr":"(GE)","loc":"d,18:5,18:8","precondsp": [],
|
||||
"condp": [
|
||||
{"type":"GTS","name":"","addr":"(HE)","loc":"d,18:18,18:19","dtypep":"(NC)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'sh7","addr":"(IE)","loc":"d,18:20,18:21","dtypep":"(JC)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(JE)","loc":"d,18:16,18:17","dtypep":"(GB)","access":"RD","varp":"(PB)","varScopep":"(OB)","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"stmtsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(KE)","loc":"d,19:14,19:15","dtypep":"(NC)",
|
||||
"rhsp": [
|
||||
{"type":"EQ","name":"","addr":"(LE)","loc":"d,19:31,19:33","dtypep":"(NC)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"2'h0","addr":"(ME)","loc":"d,19:34,19:39","dtypep":"(TC)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"SEL","name":"","addr":"(NE)","loc":"d,19:20,19:21","dtypep":"(TC)","declRange":"[15:0]","declElWidth":1,
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__val","addr":"(OE)","loc":"d,19:17,19:20","dtypep":"(H)","access":"RD","varp":"(LB)","varScopep":"(KB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lsbp": [
|
||||
{"type":"SEL","name":"","addr":"(PE)","loc":"d,19:22,19:23","dtypep":"(XC)",
|
||||
"fromp": [
|
||||
{"type":"MULS","name":"","addr":"(QE)","loc":"d,19:22,19:23","dtypep":"(JC)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'sh2","addr":"(RE)","loc":"d,19:23,19:24","dtypep":"(JC)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(SE)","loc":"d,19:21,19:22","dtypep":"(GB)","access":"RD","varp":"(PB)","varScopep":"(OB)","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lsbp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(TE)","loc":"d,19:22,19:23","dtypep":"(CD)"}
|
||||
],
|
||||
"widthp": [
|
||||
{"type":"CONST","name":"32'h4","addr":"(UE)","loc":"d,19:22,19:23","dtypep":"(CD)"}
|
||||
]}
|
||||
],
|
||||
"widthp": [
|
||||
{"type":"CONST","name":"32'sh2","addr":"(VE)","loc":"d,19:28,19:29","dtypep":"(JC)"}
|
||||
]}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"SEL","name":"","addr":"(WE)","loc":"d,19:10,19:11","dtypep":"(NC)","declRange":"[6:0]","declElWidth":1,
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__ret","addr":"(XE)","loc":"d,19:7,19:10","dtypep":"(K)","access":"WR","varp":"(NB)","varScopep":"(MB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lsbp": [
|
||||
{"type":"SEL","name":"","addr":"(YE)","loc":"d,19:11,19:12","dtypep":"(ID)",
|
||||
"fromp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(ZE)","loc":"d,19:11,19:12","dtypep":"(GB)","access":"RD","varp":"(PB)","varScopep":"(OB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lsbp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(AF)","loc":"d,19:11,19:12","dtypep":"(CD)"}
|
||||
],
|
||||
"widthp": [
|
||||
{"type":"CONST","name":"32'h3","addr":"(BF)","loc":"d,19:11,19:12","dtypep":"(CD)"}
|
||||
]}
|
||||
],
|
||||
"widthp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(CF)","loc":"d,19:10,19:11","dtypep":"(CD)"}
|
||||
]}
|
||||
],"timingControlp": []}
|
||||
],
|
||||
"incsp": [
|
||||
{"type":"ASSIGN","name":"","addr":"(DF)","loc":"d,18:24,18:26","dtypep":"(GB)",
|
||||
"rhsp": [
|
||||
{"type":"ADD","name":"","addr":"(EF)","loc":"d,18:24,18:26","dtypep":"(CD)",
|
||||
"lhsp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(FF)","loc":"d,18:24,18:26","dtypep":"(CD)"}
|
||||
],
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(GF)","loc":"d,18:23,18:24","dtypep":"(GB)","access":"RD","varp":"(PB)","varScopep":"(OB)","classOrPackagep":"UNLINKED"}
|
||||
]}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(HF)","loc":"d,18:23,18:24","dtypep":"(GB)","access":"WR","varp":"(PB)","varScopep":"(OB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
]},
|
||||
{"type":"ASSIGN","name":"","addr":"(IF)","loc":"d,21:5,21:11","dtypep":"(K)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__ret","addr":"(JF)","loc":"d,21:12,21:15","dtypep":"(K)","access":"RD","varp":"(NB)","varScopep":"(MB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__Vfuncout","addr":"(KF)","loc":"d,21:5,21:11","dtypep":"(K)","access":"WR","varp":"(JB)","varScopep":"(IB)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []},
|
||||
{"type":"ASSIGN","name":"","addr":"(LF)","loc":"d,25:14,25:15","dtypep":"(K)",
|
||||
"rhsp": [
|
||||
{"type":"VARREF","name":"__Vfunc_vlvbound_test.foo__1__Vfuncout","addr":"(MF)","loc":"d,25:16,25:19","dtypep":"(K)","access":"RD","varp":"(JB)","varScopep":"(IB)","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"o_b","addr":"(NF)","loc":"d,25:10,25:13","dtypep":"(K)","access":"WR","varp":"(L)","varScopep":"(U)","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": []}
|
||||
]}
|
||||
]}
|
||||
]},
|
||||
{"type":"VAR","name":"__Vfunc_vlvbound_test.foo__0__Vfuncout","addr":"(AB)","loc":"d,15:34,15:37","dtypep":"(K)","origName":"__Vfunc_vlvbound_test__DOT__foo__0__Vfuncout","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"BLOCKTEMP","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__Vfunc_vlvbound_test.foo__0__val","addr":"(CB)","loc":"d,15:57,15:60","dtypep":"(H)","origName":"__Vfunc_vlvbound_test__DOT__foo__0__val","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"BLOCKTEMP","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__Vfunc_vlvbound_test.foo__0__ret","addr":"(EB)","loc":"d,16:17,16:20","dtypep":"(K)","origName":"__Vfunc_vlvbound_test__DOT__foo__0__ret","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"BLOCKTEMP","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__Vfunc_vlvbound_test.foo__0__i","addr":"(HB)","loc":"d,17:13,17:14","dtypep":"(GB)","origName":"__Vfunc_vlvbound_test__DOT__foo__0__i","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"BLOCKTEMP","dtypeName":"integer","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__Vfunc_vlvbound_test.foo__1__Vfuncout","addr":"(JB)","loc":"d,15:34,15:37","dtypep":"(K)","origName":"__Vfunc_vlvbound_test__DOT__foo__1__Vfuncout","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"BLOCKTEMP","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__Vfunc_vlvbound_test.foo__1__val","addr":"(LB)","loc":"d,15:57,15:60","dtypep":"(H)","origName":"__Vfunc_vlvbound_test__DOT__foo__1__val","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"BLOCKTEMP","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__Vfunc_vlvbound_test.foo__1__ret","addr":"(NB)","loc":"d,16:17,16:20","dtypep":"(K)","origName":"__Vfunc_vlvbound_test__DOT__foo__1__ret","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"BLOCKTEMP","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"__Vfunc_vlvbound_test.foo__1__i","addr":"(PB)","loc":"d,17:13,17:14","dtypep":"(GB)","origName":"__Vfunc_vlvbound_test__DOT__foo__1__i","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"BLOCKTEMP","dtypeName":"integer","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],"activesp": []}
|
||||
],"filesp": [],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"UNLINKED",
|
||||
"typesp": [
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(NC)","loc":"d,18:18,18:19","dtypep":"(NC)","keyword":"logic","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(TC)","loc":"d,19:34,19:39","dtypep":"(TC)","keyword":"logic","range":"1:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(H)","loc":"d,9:11,9:16","dtypep":"(H)","keyword":"logic","range":"15:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(K)","loc":"d,11:12,11:17","dtypep":"(K)","keyword":"logic","range":"6:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"integer","addr":"(GB)","loc":"d,17:5,17:12","dtypep":"(GB)","keyword":"integer","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(ID)","loc":"d,19:10,19:11","dtypep":"(ID)","keyword":"logic","range":"2:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(CD)","loc":"d,19:11,19:12","dtypep":"(CD)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(XC)","loc":"d,19:20,19:21","dtypep":"(XC)","keyword":"logic","range":"3:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(JC)","loc":"d,18:12,18:13","dtypep":"(JC)","keyword":"logic","range":"31:0","generic":true,"rangep": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(OF)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"@CONST-POOL@","addr":"(PF)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(OF)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env perl
|
||||
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
|
||||
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||
#
|
||||
# Copyright 2012 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
|
||||
|
||||
scenarios(vlt => 1);
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ['--no-std', '--json-only', '--no-json-edit-nums', '--flatten'],
|
||||
verilator_make_gmake => 0,
|
||||
make_top_shell => 0,
|
||||
make_main => 0,
|
||||
);
|
||||
|
||||
files_identical("$out_filename", $Self->{golden_filename});
|
||||
|
||||
ok(1);
|
||||
1;
|
|
@ -0,0 +1,27 @@
|
|||
// DESCRIPTION: Verilator: Verilog Test module
|
||||
//
|
||||
// This file ONLY is placed under the Creative Commons Public Domain, for
|
||||
// any use, without warranty, 2012 by Wilson Snyder.
|
||||
// SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
module vlvbound_test
|
||||
(
|
||||
input logic [15:0] i_a,
|
||||
input logic [15:0] i_b,
|
||||
output logic [6:0] o_a,
|
||||
output logic [6:0] o_b
|
||||
);
|
||||
|
||||
function automatic logic [6:0] foo(input logic [15:0] val);
|
||||
logic [6:0] ret;
|
||||
integer i;
|
||||
for (i=0 ; i < 7; i++) begin
|
||||
ret[i] = (val[i*2 +: 2] == 2'b00);
|
||||
end
|
||||
return ret;
|
||||
endfunction
|
||||
|
||||
assign o_a = foo(i_a);
|
||||
assign o_b = foo(i_b);
|
||||
|
||||
endmodule
|
|
@ -0,0 +1,20 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"UNLINKED","stdPackagep":"UNLINKED","evalp":"UNLINKED","evalNbap":"UNLINKED","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"UNLINKED",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"m","addr":"(E)","loc":"d,7:8,7:9","origName":"m","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"clk","addr":"(F)","loc":"d,8:10,8:13","dtypep":"(G)","origName":"clk","isSc":false,"isPrimaryIO":false,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],"activesp": []}
|
||||
],"filesp": [],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"UNLINKED",
|
||||
"typesp": [
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(G)","loc":"d,8:10,8:13","dtypep":"(G)","keyword":"logic","generic":true,"rangep": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(H)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"@CONST-POOL@","addr":"(I)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(H)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -0,0 +1,33 @@
|
|||
#!/usr/bin/env perl
|
||||
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
|
||||
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||
#
|
||||
# Copyright 2012 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
|
||||
|
||||
scenarios(vlt => 1);
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/renamed-$Self->{name}.tree.json";
|
||||
my $meta_filename = "$Self->{obj_dir}/renamed-$Self->{name}.tree.meta.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ["--no-std", "--json-only", "--json-only-output", "$out_filename", "--json-only-meta-output", "$meta_filename", '--no-json-edit-nums'],
|
||||
verilator_make_gmake => 0,
|
||||
make_top_shell => 0,
|
||||
make_main => 0,
|
||||
);
|
||||
|
||||
files_identical("$out_filename", $Self->{golden_filename});
|
||||
|
||||
foreach my $file (glob("$Self->{obj_dir}/*")) {
|
||||
next if $file =~ /\.log/; # Made by driver.pl, not Verilator
|
||||
next if $file =~ /\.status/; # Made by driver.pl, not Verilator
|
||||
next if $file =~ /renamed-/; # Requested output
|
||||
error("%Error: Created $file, but --json-only shouldn't create files");
|
||||
}
|
||||
|
||||
ok(1);
|
||||
1;
|
|
@ -0,0 +1,10 @@
|
|||
// DESCRIPTION: Verilator: Verilog Test module
|
||||
//
|
||||
// This file ONLY is placed under the Creative Commons Public Domain, for
|
||||
// any use, without warranty, 2019 by Wilson Snyder.
|
||||
// SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
module m
|
||||
(input clk); // verilator tag foo_op
|
||||
|
||||
endmodule
|
|
@ -0,0 +1,99 @@
|
|||
{"type":"NETLIST","name":"$root","addr":"(B)","loc":"a,0:0,0:0","timeunit":"1ps","timeprecision":"1ps","typeTablep":"(C)","constPoolp":"(D)","dollarUnitPkgp":"UNLINKED","stdPackagep":"UNLINKED","evalp":"UNLINKED","evalNbap":"UNLINKED","dpiExportTriggerp":"UNLINKED","delaySchedulerp":"UNLINKED","nbaEventp":"UNLINKED","nbaEventTriggerp":"UNLINKED","topScopep":"UNLINKED",
|
||||
"modulesp": [
|
||||
{"type":"MODULE","name":"m","addr":"(E)","loc":"d,12:8,12:9","origName":"m","level":2,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"clk_ip","addr":"(F)","loc":"d,14:11,14:17","dtypep":"(G)","origName":"clk_ip","isSc":false,"isPrimaryIO":false,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"rst_ip","addr":"(H)","loc":"d,15:11,15:17","dtypep":"(G)","origName":"rst_ip","isSc":false,"isPrimaryIO":false,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"foo_op","addr":"(I)","loc":"d,16:11,16:17","dtypep":"(G)","origName":"foo_op","isSc":false,"isPrimaryIO":false,"direction":"OUTPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"NONE","varType":"PORT","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"TYPEDEF","name":"my_struct","addr":"(J)","loc":"d,25:6,25:15","dtypep":"(K)","attrPublic":false,"childDTypep": [],"attrsp": []},
|
||||
{"type":"CELL","name":"itop","addr":"(L)","loc":"d,29:8,29:12","origName":"itop","recursive":false,"modp":"(M)","pinsp": [],"paramsp": [],"rangep": [],"intfRefsp": []},
|
||||
{"type":"VAR","name":"itop__Viftop","addr":"(N)","loc":"d,29:8,29:12","dtypep":"(O)","origName":"itop__Viftop","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"IFACEREF","dtypeName":"","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"this_struct","addr":"(P)","loc":"d,31:14,31:25","dtypep":"(Q)","origName":"this_struct","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"VAR","dtypeName":"","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"VAR","name":"dotted","addr":"(R)","loc":"d,33:16,33:22","dtypep":"(S)","origName":"dotted","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"WIRE","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"ASSIGNW","name":"","addr":"(T)","loc":"d,33:23,33:24","dtypep":"(S)",
|
||||
"rhsp": [
|
||||
{"type":"VARXREF","name":"value","addr":"(U)","loc":"d,33:30,33:35","dtypep":"(V)","dotted":"itop","inlinedDots":"","access":"RD","varp":"(W)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],
|
||||
"lhsp": [
|
||||
{"type":"VARREF","name":"dotted","addr":"(X)","loc":"d,33:16,33:22","dtypep":"(S)","access":"WR","varp":"(R)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"timingControlp": [],"strengthSpecp": []},
|
||||
{"type":"FUNC","name":"f","addr":"(Y)","loc":"d,35:13,35:14","dtypep":"(G)","method":false,"dpiExport":false,"dpiImport":false,"dpiOpenChild":false,"dpiOpenParent":false,"prototype":false,"recursive":false,"taskPublic":false,"cname":"f",
|
||||
"fvarp": [
|
||||
{"type":"VAR","name":"f","addr":"(Z)","loc":"d,35:13,35:14","dtypep":"(G)","origName":"f","isSc":false,"isPrimaryIO":false,"direction":"OUTPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":true,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"VAUTOM","varType":"VAR","dtypeName":"logic","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []}
|
||||
],"classOrPackagep": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"m","addr":"(AB)","loc":"d,35:28,35:29","dtypep":"(BB)","origName":"m","isSc":false,"isPrimaryIO":false,"direction":"INPUT","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":true,"attrClocker":"UNKNOWN","lifetime":"VAUTOM","varType":"PORT","dtypeName":"string","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"DISPLAY","name":"","addr":"(CB)","loc":"d,36:7,36:15",
|
||||
"fmtp": [
|
||||
{"type":"SFORMATF","name":"%@","addr":"(DB)","loc":"d,36:7,36:15","dtypep":"(BB)",
|
||||
"exprsp": [
|
||||
{"type":"VARREF","name":"m","addr":"(EB)","loc":"d,36:22,36:23","dtypep":"(BB)","access":"RD","varp":"(AB)","varScopep":"UNLINKED","classOrPackagep":"UNLINKED"}
|
||||
],"scopeNamep": []}
|
||||
],"filep": []}
|
||||
],"scopeNamep": []},
|
||||
{"type":"INITIAL","name":"","addr":"(FB)","loc":"d,39:4,39:11","isSuspendable":false,"needProcess":false,
|
||||
"stmtsp": [
|
||||
{"type":"BEGIN","name":"","addr":"(GB)","loc":"d,39:12,39:17","generate":false,"genfor":false,"implied":false,"needProcess":false,"unnamed":true,"genforp": [],
|
||||
"stmtsp": [
|
||||
{"type":"STMTEXPR","name":"","addr":"(HB)","loc":"d,41:7,41:8",
|
||||
"exprp": [
|
||||
{"type":"TASKREF","name":"f","addr":"(IB)","loc":"d,41:7,41:8","dtypep":"(JB)","dotted":"","taskp":"(Y)","classOrPackagep":"UNLINKED","namep": [],
|
||||
"pinsp": [
|
||||
{"type":"ARG","name":"","addr":"(KB)","loc":"d,41:9,41:736",
|
||||
"exprp": [
|
||||
{"type":"CONST","name":"\\\"\\001\\002\\003\\004\\005\\006\\007\\010\\t\\n\\013\\014\\r\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037 !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\\177\\200\\201\\202\\203\\204\\205\\206\\207\\210\\211\\212\\213\\214\\215\\216\\217\\220\\221\\222\\223\\224\\225\\226\\227\\230\\231\\232\\233\\234\\235\\236\\237\\240\\241\\242\\243\\244\\245\\246\\247\\250\\251\\252\\253\\254\\255\\256\\257\\260\\261\\262\\263\\264\\265\\266\\267\\270\\271\\272\\273\\274\\275\\276\\277\\300\\301\\302\\303\\304\\305\\306\\307\\310\\311\\312\\313\\314\\315\\316\\317\\320\\321\\322\\323\\324\\325\\326\\327\\330\\331\\332\\333\\334\\335\\336\\337\\340\\341\\342\\343\\344\\345\\346\\347\\350\\351\\352\\353\\354\\355\\356\\357\\360\\361\\362\\363\\364\\365\\366\\367\\370\\371\\372\\373\\374\\375\\376\\377\\\"","addr":"(LB)","loc":"d,41:9,41:736","dtypep":"(BB)"}
|
||||
]}
|
||||
],"scopeNamep": []}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
],"activesp": []},
|
||||
{"type":"IFACE","name":"ifc","addr":"(M)","loc":"d,7:11,7:14","origName":"ifc","level":3,"modPublic":false,"inLibrary":true,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"1ps","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"VAR","name":"value","addr":"(W)","loc":"d,8:12,8:17","dtypep":"(V)","origName":"value","isSc":false,"isPrimaryIO":false,"direction":"NONE","isConst":false,"isPullup":false,"isPulldown":false,"isUsedClock":false,"isSigPublic":false,"isLatched":false,"isUsedLoopIdx":false,"noReset":false,"attrIsolateAssign":false,"attrFileDescr":false,"isDpiOpenArray":false,"isFuncReturn":false,"isFuncLocal":false,"attrClocker":"UNKNOWN","lifetime":"VSTATIC","varType":"VAR","dtypeName":"integer","isSigUserRdPublic":false,"isSigUserRWPublic":false,"isGParam":false,"isParam":false,"attrScBv":false,"attrSFormat":false,"sensIfacep":"UNLINKED","childDTypep": [],"delayp": [],"valuep": [],"attrsp": []},
|
||||
{"type":"MODPORT","name":"out_modport","addr":"(MB)","loc":"d,9:12,9:23",
|
||||
"varsp": [
|
||||
{"type":"MODPORTVARREF","name":"value","addr":"(NB)","loc":"d,9:32,9:37","direction":"OUTPUT","varp":"(W)"}
|
||||
]}
|
||||
],"activesp": []}
|
||||
],"filesp": [],
|
||||
"miscsp": [
|
||||
{"type":"TYPETABLE","name":"","addr":"(C)","loc":"a,0:0,0:0","constraintRefp":"UNLINKED","emptyQueuep":"UNLINKED","queueIndexp":"UNLINKED","streamp":"UNLINKED","voidp":"(JB)",
|
||||
"typesp": [
|
||||
{"type":"VOIDDTYPE","name":"","addr":"(JB)","loc":"d,41:7,41:8","dtypep":"(JB)","generic":false},
|
||||
{"type":"BASICDTYPE","name":"integer","addr":"(V)","loc":"d,8:4,8:11","dtypep":"(V)","keyword":"integer","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(G)","loc":"d,14:11,14:17","dtypep":"(G)","keyword":"logic","generic":true,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(OB)","loc":"d,21:7,21:12","dtypep":"(OB)","keyword":"logic","generic":false,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(PB)","loc":"d,22:7,22:12","dtypep":"(PB)","keyword":"logic","generic":false,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(QB)","loc":"d,23:7,23:12","dtypep":"(QB)","keyword":"logic","generic":false,"rangep": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(RB)","loc":"d,24:7,24:12","dtypep":"(RB)","keyword":"logic","generic":false,"rangep": []},
|
||||
{"type":"STRUCTDTYPE","name":"m.my_struct","addr":"(K)","loc":"d,20:12,20:18","dtypep":"(K)","packed":true,"isFourstate":true,"generic":false,"classOrPackagep":"UNLINKED",
|
||||
"membersp": [
|
||||
{"type":"MEMBERDTYPE","name":"clk","addr":"(SB)","loc":"d,21:19,21:22","dtypep":"(SB)","generic":false,"childDTypep": [],"valuep": []},
|
||||
{"type":"MEMBERDTYPE","name":"k","addr":"(TB)","loc":"d,22:19,22:20","dtypep":"(TB)","generic":false,"childDTypep": [],"valuep": []},
|
||||
{"type":"MEMBERDTYPE","name":"enable","addr":"(UB)","loc":"d,23:19,23:25","dtypep":"(UB)","generic":false,"childDTypep": [],"valuep": []},
|
||||
{"type":"MEMBERDTYPE","name":"data","addr":"(VB)","loc":"d,24:19,24:23","dtypep":"(VB)","generic":false,"childDTypep": [],"valuep": []}
|
||||
]},
|
||||
{"type":"IFACEREFDTYPE","name":"","addr":"(O)","loc":"d,29:8,29:12","dtypep":"(O)","cellName":"itop","ifaceName":"ifc","modportName":"","generic":false,"ifacep":"UNLINKED","cellp":"(L)","modportp":"UNLINKED","paramsp": []},
|
||||
{"type":"BASICDTYPE","name":"logic","addr":"(S)","loc":"d,31:27,31:28","dtypep":"(S)","keyword":"logic","range":"31:0","generic":true,"rangep": []},
|
||||
{"type":"REFDTYPE","name":"my_struct","addr":"(WB)","loc":"d,31:4,31:13","dtypep":"(K)","generic":false,"typedefp":"UNLINKED","refDTypep":"(K)","classOrPackagep":"UNLINKED","typeofp": [],"classOrPackageOpp": [],"paramsp": []},
|
||||
{"type":"UNPACKARRAYDTYPE","name":"","addr":"(Q)","loc":"d,31:26,31:27","dtypep":"(Q)","isCompound":false,"declRange":"[0:1]","generic":false,"refDTypep":"(WB)","childDTypep": [],
|
||||
"rangep": [
|
||||
{"type":"RANGE","name":"","addr":"(XB)","loc":"d,31:26,31:27","ascending":true,
|
||||
"leftp": [
|
||||
{"type":"CONST","name":"32'h0","addr":"(YB)","loc":"d,31:27,31:28","dtypep":"(S)"}
|
||||
],
|
||||
"rightp": [
|
||||
{"type":"CONST","name":"32'h1","addr":"(ZB)","loc":"d,31:27,31:28","dtypep":"(S)"}
|
||||
]}
|
||||
]},
|
||||
{"type":"BASICDTYPE","name":"string","addr":"(BB)","loc":"d,35:21,35:27","dtypep":"(BB)","keyword":"string","generic":true,"rangep": []}
|
||||
]},
|
||||
{"type":"CONSTPOOL","name":"","addr":"(D)","loc":"a,0:0,0:0",
|
||||
"modulep": [
|
||||
{"type":"MODULE","name":"@CONST-POOL@","addr":"(AC)","loc":"a,0:0,0:0","origName":"@CONST-POOL@","level":0,"modPublic":false,"inLibrary":false,"dead":false,"recursiveClone":false,"recursive":false,"timeunit":"NONE","inlinesp": [],
|
||||
"stmtsp": [
|
||||
{"type":"SCOPE","name":"@CONST-POOL@","addr":"(BC)","loc":"a,0:0,0:0","aboveScopep":"UNLINKED","aboveCellp":"UNLINKED","modp":"(AC)","varsp": [],"blocksp": []}
|
||||
],"activesp": []}
|
||||
]}
|
||||
]}
|
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env perl
|
||||
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
|
||||
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||
#
|
||||
# Copyright 2012 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
|
||||
|
||||
scenarios(vlt => 1);
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ['--no-std', '--json-only', '--no-json-edit-nums'],
|
||||
verilator_make_gmake => 0,
|
||||
make_top_shell => 0,
|
||||
make_main => 0,
|
||||
);
|
||||
|
||||
files_identical("$out_filename", $Self->{golden_filename});
|
||||
|
||||
ok(1);
|
||||
1;
|
|
@ -0,0 +1,44 @@
|
|||
// DESCRIPTION: Verilator: Verilog Test module
|
||||
//
|
||||
// This file ONLY is placed into the Public Domain, for any use,
|
||||
// without warranty, 2017 by Chris Randall.
|
||||
// SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
interface ifc;
|
||||
integer value;
|
||||
modport out_modport (output value);
|
||||
endinterface
|
||||
|
||||
module m
|
||||
(
|
||||
input clk_ip, // verilator tag clk_ip
|
||||
input rst_ip,
|
||||
output foo_op); // verilator tag foo_op
|
||||
|
||||
// This is a comment
|
||||
|
||||
typedef struct packed {
|
||||
logic clk; /* verilator tag this is clk */
|
||||
logic k; /* verilator lint_off UNUSED */
|
||||
logic enable; // verilator tag enable
|
||||
logic data; // verilator tag data
|
||||
} my_struct; // verilator tag my_struct
|
||||
|
||||
// This is a comment
|
||||
|
||||
ifc itop();
|
||||
|
||||
my_struct this_struct [2]; // verilator tag this_struct
|
||||
|
||||
wire [31:0] dotted = itop.value;
|
||||
|
||||
function f(input string m);
|
||||
$display("%s", m);
|
||||
endfunction
|
||||
|
||||
initial begin
|
||||
// Contains all 256 characters except 0 (null character)
|
||||
f("\x01\x02\x03\x04\x05\x06\a\x08\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff");
|
||||
end
|
||||
|
||||
endmodule
|
|
@ -11,7 +11,7 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(vlt => 1);
|
||||
|
||||
lint(
|
||||
verilator_flags2 => ["--xml-only"],
|
||||
verilator_flags2 => ["--json-only"],
|
||||
fails => 1,
|
||||
expect_filename => $Self->{golden_filename},
|
||||
);
|
||||
|
|
|
@ -11,7 +11,7 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(vlt => 1);
|
||||
|
||||
lint(
|
||||
verilator_flags2 => ["--xml-only", "--timing"],
|
||||
verilator_flags2 => ["--json-only", "--timing"],
|
||||
fails => 1,
|
||||
expect_filename => $Self->{golden_filename},
|
||||
);
|
||||
|
|
|
@ -12,10 +12,10 @@ scenarios(vlt => 1);
|
|||
|
||||
top_filename("t_process.v");
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ["--debug-exit-uvm", "--xml-only"],
|
||||
verilator_flags2 => ["--debug-exit-uvm", "--json-only"],
|
||||
make_main => 0,
|
||||
make_top_shell => 0,
|
||||
verilator_make_gmake => 0,
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -13,16 +13,16 @@ scenarios(vlt_all => 1);
|
|||
top_filename("t/t_trace_public.v");
|
||||
golden_filename("t/t_trace_public.out");
|
||||
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
make_top_shell => 0,
|
||||
make_main => 0,
|
||||
v_flags2 => ["--trace --exe $Self->{t_dir}/t_trace_public_sig.cpp $Self->{t_dir}/t_trace_public_sig.vlt"],
|
||||
v_flags2 => ["--trace --exe $Self->{t_dir}/t_trace_public_sig.cpp $Self->{t_dir}/t_trace_public_sig.vlt --no-json-edit-nums"],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep("$out_filename", qr/\<var loc="f,47,.*?" name="GSR" dtype_id="1" vartype="logic" origName="GSR" public="true" public_flat_rd="true" public_flat_rw="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"GSR",.*"loc":"f,47:[^"]*",.*"origName":"GSR",.*"isSigPublic":true,.*"dtypeName":"logic",.*"isSigUserRdPublic":true.*"isSigUserRWPublic":true/);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -11,19 +11,19 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(simulator => 1);
|
||||
|
||||
top_filename("t/t_unopt_combo.v");
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ["+define+ISOLATE --stats"],
|
||||
verilator_flags2 => ["--no-json-edit-nums +define+ISOLATE --stats"],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep($Self->{stats}, qr/Optimizations, isolate_assignments blocks\s+3/i);
|
||||
file_grep("$out_filename", qr/\<var loc="e,23,.*?" name="t.b" dtype_id="\d+" vartype="logic" origName="b" isolate_assignments="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="e,99,.*?" name="__Vfunc_t.file.get_31_16__0__Vfuncout" dtype_id="\d+" vartype="logic" origName="__Vfunc_t__DOT__file__DOT__get_31_16__0__Vfuncout" isolate_assignments="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="e,100,.*?" name="__Vfunc_t.file.get_31_16__0__t_crc" dtype_id="\d+" vartype="logic" origName="__Vfunc_t__DOT__file__DOT__get_31_16__0__t_crc" isolate_assignments="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="e,112,.*?" name="__Vtask_t.file.set_b_d__1__t_crc" dtype_id="\d+" vartype="logic" origName="__Vtask_t__DOT__file__DOT__set_b_d__1__t_crc" isolate_assignments="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="e,113,.*?" name="__Vtask_t.file.set_b_d__1__t_c" dtype_id="\d+" vartype="logic" origName="__Vtask_t__DOT__file__DOT__set_b_d__1__t_c" isolate_assignments="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"t.b",.*"loc":"e,23:[^"]*",.*"origName":"b",.*"attrIsolateAssign":true,.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"__Vfunc_t.file.get_31_16__0__Vfuncout",.*"loc":"e,99:[^"]*",.*"origName":"__Vfunc_t__DOT__file__DOT__get_31_16__0__Vfuncout",.*"attrIsolateAssign":true,.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"__Vfunc_t.file.get_31_16__0__t_crc",.*"loc":"e,100:[^"]*",.*"origName":"__Vfunc_t__DOT__file__DOT__get_31_16__0__t_crc",.*"attrIsolateAssign":true,.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"__Vtask_t.file.set_b_d__1__t_crc",.*"loc":"e,112:[^"]*",.*"origName":"__Vtask_t__DOT__file__DOT__set_b_d__1__t_crc",.*"attrIsolateAssign":true,.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"__Vtask_t.file.set_b_d__1__t_c",.*"loc":"e,113:[^"]*",.*"origName":"__Vtask_t__DOT__file__DOT__set_b_d__1__t_c",.*"attrIsolateAssign":true,.*"dtypeName":"logic"/);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -11,19 +11,19 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
scenarios(simulator => 1);
|
||||
|
||||
top_filename("t/t_unopt_combo.v");
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.xml";
|
||||
my $out_filename = "$Self->{obj_dir}/V$Self->{name}.tree.json";
|
||||
|
||||
compile(
|
||||
verilator_flags2 => ["--stats $Self->{t_dir}/t_unopt_combo_isolate.vlt"],
|
||||
verilator_flags2 => ["--no-json-edit-nums --stats $Self->{t_dir}/t_unopt_combo_isolate.vlt"],
|
||||
);
|
||||
|
||||
if ($Self->{vlt_all}) {
|
||||
file_grep($Self->{stats}, qr/Optimizations, isolate_assignments blocks\s+3/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,23,.*?" name="t.b" dtype_id="\d+" vartype="logic" origName="b" isolate_assignments="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,104,.*?" name="__Vfunc_t.file.get_31_16__0__Vfuncout" dtype_id="\d+" vartype="logic" origName="__Vfunc_t__DOT__file__DOT__get_31_16__0__Vfuncout" isolate_assignments="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,105,.*?" name="__Vfunc_t.file.get_31_16__0__t_crc" dtype_id="\d+" vartype="logic" origName="__Vfunc_t__DOT__file__DOT__get_31_16__0__t_crc" isolate_assignments="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,115,.*?" name="__Vtask_t.file.set_b_d__1__t_crc" dtype_id="\d+" vartype="logic" origName="__Vtask_t__DOT__file__DOT__set_b_d__1__t_crc" isolate_assignments="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/\<var loc="f,116,.*?" name="__Vtask_t.file.set_b_d__1__t_c" dtype_id="\d+" vartype="logic" origName="__Vtask_t__DOT__file__DOT__set_b_d__1__t_c" isolate_assignments="true"\/\>/i);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"t.b",.*"loc":"f,23:[^"]*",.*"origName":"b",.*"attrIsolateAssign":true,.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"__Vfunc_t.file.get_31_16__0__Vfuncout",.*"loc":"f,104:[^"]*",.*"origName":"__Vfunc_t__DOT__file__DOT__get_31_16__0__Vfuncout",.*"attrIsolateAssign":true,.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"__Vfunc_t.file.get_31_16__0__t_crc",.*"loc":"f,105:[^"]*",.*"origName":"__Vfunc_t__DOT__file__DOT__get_31_16__0__t_crc",.*"attrIsolateAssign":true,.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"__Vtask_t.file.set_b_d__1__t_crc",.*"loc":"f,115:[^"]*",.*"origName":"__Vtask_t__DOT__file__DOT__set_b_d__1__t_crc",.*"attrIsolateAssign":true,.*"dtypeName":"logic"/);
|
||||
file_grep("$out_filename", qr/{"type":"VAR","name":"__Vtask_t.file.set_b_d__1__t_c",.*"loc":"f,116:[^"]*",.*"origName":"__Vtask_t__DOT__file__DOT__set_b_d__1__t_c",.*"attrIsolateAssign":true,.*"dtypeName":"logic"/);
|
||||
}
|
||||
|
||||
execute(
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue