diff --git a/README.rst b/README.rst
index 292078152..a4b39dc0e 100644
--- a/README.rst
+++ b/README.rst
@@ -129,7 +129,7 @@ organizations; please see `Verilator Commercial Support
Related Projects
================
-- `GTKwave `_ - Waveform viewer for
+- `GTKwave `_ - Waveform viewer for
Verilator traces.
- `Icarus Verilog`_ - Icarus is a highly-featured interpreted Verilog
diff --git a/bin/verilator b/bin/verilator
index 777947dce..143bce8a6 100755
--- a/bin/verilator
+++ b/bin/verilator
@@ -130,7 +130,7 @@ if ($opt_gdb) {
} elsif ($opt_valgrind) {
# Run under valgrind
my $valgrind_bin = ($ENV{VERILATOR_VALGRIND} || "valgrind --error-exitcode=1 --max-stackframe=2815880"
- # Magic number sugested by valgrind, may need to be increased in future
+ # Magic number suggested by Valgrind, may need to be increased in future
# if you get warnings. See: https://valgrind.org/docs/manual/manual-core.html#opt.max-stackframe
);
@@ -388,7 +388,7 @@ detailed descriptions of these arguments.
--instr-count-dpi Assumed dynamic instruction count of DPI imports
-j Parallelism for --build-jobs/--verilate-jobs
--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
+ --no-json-ids Don't use short identifiers instead of addresses/paths in .tree.json
--json-only Create JSON parser output (.tree.json and .meta.json)
--json-only-meta-output Set .tree.meta.json output filename
--json-only-output Set .tree.json output filename
diff --git a/bin/verilator_gantt b/bin/verilator_gantt
index ee46ca814..bae7a2603 100755
--- a/bin/verilator_gantt
+++ b/bin/verilator_gantt
@@ -613,7 +613,7 @@ SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0""")
parser.add_argument('--debug', action='store_true', help='enable debug')
parser.add_argument('--no-vcd', help='disable creating vcd', action='store_true')
-parser.add_argument('--vcd', help='filename for vcd outpue', default='profile_exec.vcd')
+parser.add_argument('--vcd', help='filename for vcd output', default='profile_exec.vcd')
parser.add_argument('filename',
help='input profile_exec.dat filename to process',
default='profile_exec.dat')
diff --git a/docs/guide/faq.rst b/docs/guide/faq.rst
index d88220f9e..3b634adc6 100644
--- a/docs/guide/faq.rst
+++ b/docs/guide/faq.rst
@@ -260,7 +260,7 @@ How do I view waveforms (aka dumps or traces)?
Verilator creates standard VCD (Value Change Dump) and FST files. VCD
files are viewable with the open-source
-`GTKWave `_,
+`GTKWave `_,
`Surfer `_, Dinotrace (legacy), or any of the
many closed-source viewer offerings; FST is supported only by GTKWave and
Surfer.
diff --git a/docs/guide/install.rst b/docs/guide/install.rst
index aaca4377f..dc6c3ecd6 100644
--- a/docs/guide/install.rst
+++ b/docs/guide/install.rst
@@ -182,7 +182,7 @@ Install GTKWave
^^^^^^^^^^^^^^^
To make use of Verilator FST tracing you will want `GTKwave
-`__ installed, however this is not
+`__ installed, however this is not
required at Verilator build time.
.. code-block:: shell
@@ -288,7 +288,7 @@ location include the Verilator version name:
Note after installing (see `Installation`_), you need to add the path to
the ``bin`` directory to your ``PATH``. Or, if you use `modulecmd
-`__, you'll want a module file like the
+`__, you'll want a module file like the
following:
.. code-block:: shell
diff --git a/docs/internals.rst b/docs/internals.rst
index acef93bc7..67b6d289c 100644
--- a/docs/internals.rst
+++ b/docs/internals.rst
@@ -1470,7 +1470,7 @@ Preparing to Run Tests
For all tests to pass, you must install the following packages:
-- SystemC to compile the SystemC outputs, see http://systemc.org
+- SystemC to compile the SystemC outputs, see https://systemc.org
- vcddiff to find differences in VCD outputs. See the readme at
https://github.com/veripool/vcddiff
@@ -1633,7 +1633,7 @@ scaled so it can be more useful with large graphs.
For interactive graph viewing consider `xdot
`__ or `ZGRViewer
-`__. If you know of better
+`__. If you know of better
viewers (especially for large graphs) please let us know.
diff --git a/docs/spelling.txt b/docs/spelling.txt
index 4d1420f26..7199c77ff 100644
--- a/docs/spelling.txt
+++ b/docs/spelling.txt
@@ -440,6 +440,7 @@ UNOPTFLAT
Ubixum
Ueno
Uints
+Undefine
Undefines
Unsized
Urbach
@@ -617,7 +618,9 @@ dep
deparametrized
der
dereference
+dereferenced
desassign
+deserialize
destructor
desynchronization
detections
@@ -745,6 +748,8 @@ hierCMakeArgs
hierMkArgs
hierParameters
hierVer
+html
+https
hx
hyperthreading
hyperthreads
@@ -842,6 +847,7 @@ multithread
multithreaded
multithreading
musl
+mutex
mutexes
mux
muzafferkal
@@ -907,6 +913,7 @@ pre
precisions
precompiled
predefines
+prefetch
prepareClone
prepend
prepended
@@ -1063,6 +1070,7 @@ typename
uint
un
unbased
+uncomment
undef
undefineall
undriven
diff --git a/include/verilated.h b/include/verilated.h
index a5af6715b..53c0b869f 100644
--- a/include/verilated.h
+++ b/include/verilated.h
@@ -39,8 +39,8 @@
#endif
// clang-format off
-#include "verilatedos.h"
#include "verilated_config.h"
+#include "verilatedos.h"
#if VM_SC
# include "verilated_sc.h" // Get SYSTEMC_VERSION and time declarations
#endif
diff --git a/src/V3Begin.cpp b/src/V3Begin.cpp
index 9eed66f71..44512c718 100644
--- a/src/V3Begin.cpp
+++ b/src/V3Begin.cpp
@@ -29,6 +29,7 @@
#include "V3PchAstNoMT.h" // VL_MT_DISABLED_CODE_UNIT
#include "V3Begin.h"
+#include "V3String.h"
VL_DEFINE_DEBUG_FUNCTIONS;
@@ -69,11 +70,7 @@ class BeginVisitor final : public VNVisitor {
// METHODS
- string dot(const string& a, const string& b) {
- if (a == "") return b;
- if (b == "") return a;
- return a + "__DOT__" + b;
- }
+ string dot(const string& a, const string& b) { return VString::dot(a, "__DOT__", b); }
void dotNames(const AstNodeBlock* const nodep, const char* const blockName) {
UINFO(8, "nname " << m_namedScope << endl);
diff --git a/src/V3Const.cpp b/src/V3Const.cpp
index d379a27a5..5f9be643d 100644
--- a/src/V3Const.cpp
+++ b/src/V3Const.cpp
@@ -193,9 +193,9 @@ class ConstBitOpTreeVisitor final : public VNVisitorConst {
, m_restore{true} {}
~Restorer() {
UASSERT(m_visitor.m_bitPolarities.size() >= m_polaritiesSize,
- "m_bitPolarities must grow monotorilaclly");
+ "m_bitPolarities must grow monotonically");
UASSERT(m_visitor.m_frozenNodes.size() >= m_frozenSize,
- "m_frozenNodes must grow monotorilaclly");
+ "m_frozenNodes must grow monotonically");
if (m_restore) restoreNow();
}
void disableRestore() { m_restore = false; }
diff --git a/src/V3Delayed.cpp b/src/V3Delayed.cpp
index 82e0d5669..ed57f85fe 100644
--- a/src/V3Delayed.cpp
+++ b/src/V3Delayed.cpp
@@ -560,7 +560,7 @@ class DelayedVisitor final : public VNVisitor {
void prepareSchemeValueQueue(AstVarScope* vscp, VarScopeInfo& vscpInfo) {
UASSERT_OBJ(N_Partial ? vscpInfo.m_scheme == Scheme::ValueQueuePartial
: vscpInfo.m_scheme == Scheme::ValueQueueWhole,
- vscp, "Inconsistencheme");
+ vscp, "Inconsistent NBA scheme");
FileLine* const flp = vscp->fileline();
AstScope* const scopep = vscp->scopep();
diff --git a/src/V3EmitMk.cpp b/src/V3EmitMk.cpp
index 19427db8b..6a7631c5e 100644
--- a/src/V3EmitMk.cpp
+++ b/src/V3EmitMk.cpp
@@ -659,7 +659,7 @@ public:
if (v3Global.opt.systemC() && !V3Options::systemCFound()) {
v3fatal("Need $SYSTEMC_INCLUDE in environment or when Verilator configured,\n"
"and need $SYSTEMC_LIBDIR in environment or when Verilator configured\n"
- "Probably System-C isn't installed, see http://www.systemc.org\n");
+ "Probably System-C isn't installed, see https://systemc.org\n");
}
of.puts("\n### Switches...\n");
diff --git a/src/V3File.cpp b/src/V3File.cpp
index c10d48976..fffd6bf87 100644
--- a/src/V3File.cpp
+++ b/src/V3File.cpp
@@ -995,7 +995,7 @@ public:
if (it != m_nameMap.end()) {
// No way to go back and correct the older crypt name
UASSERT(old == it->second,
- "Passthru request for '" + old + "' after already --protect-ids of it.");
+ "Pass-thru request for '" + old + "' after already --protect-ids of it.");
} else {
m_nameMap.emplace(old, old);
m_newIdSet.insert(old);
diff --git a/src/V3PreLex.l b/src/V3PreLex.l
index eaa899ea3..21daa46c1 100644
--- a/src/V3PreLex.l
+++ b/src/V3PreLex.l
@@ -188,7 +188,7 @@ bom [\357\273\277]
if ((yyourleng()-1) <= size_t(LEXP->m_protLength) && ((yyleng & 3) == 1)) {
LEXP->m_protBytes -= (yyleng-1)/4*3;
} else {
- LEXP->curFilelinep()->v3warn(BADSTDPRAGMA, "BASE64 line too long in `pragma protect key_bloock/data_block");
+ LEXP->curFilelinep()->v3warn(BADSTDPRAGMA, "BASE64 line too long in `pragma protect key_block/data_block");
}
if (yytext[yyleng-3] == '=')
LEXP->m_protBytes++;
@@ -197,11 +197,11 @@ bom [\357\273\277]
if (LEXP->m_protBytes == 0) {
BEGIN(INITIAL);
} else if (LEXP->m_protBytes < 0)
- LEXP->curFilelinep()->v3warn(BADSTDPRAGMA, "BASE64 encoding (too short) in `pragma protect key_bloock/data_block");
+ LEXP->curFilelinep()->v3warn(BADSTDPRAGMA, "BASE64 encoding (too short) in `pragma protect key_block/data_block");
/*return VP_TEXT;*/ }
{wsn}*[\n\r] { FL_FWDC;
if (LEXP->m_protBytes != 0)
- LEXP->curFilelinep()->v3warn(BADSTDPRAGMA, "BASE64 encoding length mismatch in `pragma protect key_bloock/data_block");
+ LEXP->curFilelinep()->v3warn(BADSTDPRAGMA, "BASE64 encoding length mismatch in `pragma protect key_block/data_block");
linenoInc(); BEGIN(INITIAL);
return VP_TEXT; }
diff --git a/test_regress/t/t_lint_pragma_protected_bad.out b/test_regress/t/t_lint_pragma_protected_bad.out
index 3c0cd41b1..c70a20dcb 100644
--- a/test_regress/t/t_lint_pragma_protected_bad.out
+++ b/test_regress/t/t_lint_pragma_protected_bad.out
@@ -5,7 +5,7 @@
%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:16:17: Unknown '`pragma protect' error
16 | `pragma protect encrypt_agent_info
| ^~~~~~~~~~~~~~~~~~
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:29:1: BASE64 encoding length mismatch in `pragma protect key_bloock/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:29:1: BASE64 encoding length mismatch in `pragma protect key_block/data_block
%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:33:17: Multiple `pragma protected encoding sections
33 | `pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -20,26 +20,26 @@
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest
%Warning-PROTECTED: t/t_lint_pragma_protected_bad.v:59:17: A '`pragma protected data_block' encrypted section was detected and will be skipped.
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:60:1: BASE64 encoding (too short) in `pragma protect key_bloock/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:60:1: BASE64 encoding (too short) in `pragma protect key_block/data_block
60 | c2lvbiAzIG9mIHRoZSBHTlUgTGVzc2VyCkdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGFuZCB0aGUg
| ^
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:61:1: BASE64 encoding (too short) in `pragma protect key_bloock/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:61:1: BASE64 encoding (too short) in `pragma protect key_block/data_block
61 | IkdOVSBHUEwiIHJlZmVycyB0byB2ZXJzaW9uIDMgb2YgdGhlIEdOVQpHZW5lcmFsIFB1YmxpYyBM
| ^
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:62:1: BASE64 encoding (too short) in `pragma protect key_bloock/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:62:1: BASE64 encoding (too short) in `pragma protect key_block/data_block
62 | aWNlbnNlLgoKICAiVGhlIExpYnJhcnkiIHJlZmVycyB0byBhIGNvdmVyZWQgd29yayBnb3Zlcm5l
| ^
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:63:1: BASE64 encoding (too short) in `pragma protect key_bloock/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:63:1: BASE64 encoding (too short) in `pragma protect key_block/data_block
63 | ZCBieSB0aGlzIExpY2Vuc2UsCm90aGVyIHRoYW4gYW4gQXBwbGljYXRpb24gb3IgYSBDb21iaW5l
| ^
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:64:1: BASE64 encoding (too short) in `pragma protect key_bloock/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:64:1: BASE64 encoding (too short) in `pragma protect key_block/data_block
64 | ZCBXb3JrIGFzIG==
| ^
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:65:1: BASE64 encoding (too short) in `pragma protect key_bloock/data_block
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:65:1: BASE64 encoding length mismatch in `pragma protect key_bloock/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:65:1: BASE64 encoding (too short) in `pragma protect key_block/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:65:1: BASE64 encoding length mismatch in `pragma protect key_block/data_block
%Warning-PROTECTED: t/t_lint_pragma_protected_bad.v:69:17: A '`pragma protected data_block' encrypted section was detected and will be skipped.
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:70:1: BASE64 line too long in `pragma protect key_bloock/data_block
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:70:1: BASE64 encoding length mismatch in `pragma protect key_bloock/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:70:1: BASE64 line too long in `pragma protect key_block/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:70:1: BASE64 encoding length mismatch in `pragma protect key_block/data_block
%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:72:17: Multiple `pragma protected encoding sections
72 | `pragma protect encoding = (enctype = "BASE64", line_length = 1, bytes = 4)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -47,8 +47,8 @@
72 | `pragma protect encoding = (enctype = "BASE64", line_length = 1, bytes = 4)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%Warning-PROTECTED: t/t_lint_pragma_protected_bad.v:74:17: A '`pragma protected data_block' encrypted section was detected and will be skipped.
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:75:1: BASE64 line too long in `pragma protect key_bloock/data_block
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:75:1: BASE64 encoding length mismatch in `pragma protect key_bloock/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:75:1: BASE64 line too long in `pragma protect key_block/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:75:1: BASE64 encoding length mismatch in `pragma protect key_block/data_block
%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:77:17: Multiple `pragma protected encoding sections
77 | `pragma protect encoding = (enctype = "UUENCODE", line_length = 1, bytes = 4)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -56,8 +56,8 @@
77 | `pragma protect encoding = (enctype = "UUENCODE", line_length = 1, bytes = 4)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%Warning-PROTECTED: t/t_lint_pragma_protected_bad.v:79:17: A '`pragma protected data_block' encrypted section was detected and will be skipped.
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:80:1: BASE64 line too long in `pragma protect key_bloock/data_block
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:80:1: BASE64 encoding length mismatch in `pragma protect key_bloock/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:80:1: BASE64 line too long in `pragma protect key_block/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:80:1: BASE64 encoding length mismatch in `pragma protect key_block/data_block
%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:81:17: Multiple `pragma protected encoding sections
81 | `pragma protect encoding = (enctype = "QUOTED-PRINTABLE", line_length = 1, bytes = 4)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -68,14 +68,14 @@
81 | `pragma protect encoding = (enctype = "QUOTED-PRINTABLE", line_length = 1, bytes = 4)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%Warning-PROTECTED: t/t_lint_pragma_protected_bad.v:83:17: A '`pragma protected data_block' encrypted section was detected and will be skipped.
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:84:1: BASE64 encoding (too short) in `pragma protect key_bloock/data_block
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:84:1: BASE64 encoding length mismatch in `pragma protect key_bloock/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:84:1: BASE64 encoding (too short) in `pragma protect key_block/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:84:1: BASE64 encoding length mismatch in `pragma protect key_block/data_block
%Error-UNSUPPORTED: t/t_lint_pragma_protected_bad.v:85:17: Unsupported: only BASE64 is recognized for `pragma protected encoding
85 | `pragma protect encoding = (enctype = "RAW", line_length = 1, bytes = 4)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%Warning-PROTECTED: t/t_lint_pragma_protected_bad.v:87:17: A '`pragma protected data_block' encrypted section was detected and will be skipped.
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:88:1: BASE64 line too long in `pragma protect key_bloock/data_block
-%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:88:1: BASE64 encoding length mismatch in `pragma protect key_bloock/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:88:1: BASE64 line too long in `pragma protect key_block/data_block
+%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:88:1: BASE64 encoding length mismatch in `pragma protect key_block/data_block
%Error-BADSTDPRAGMA: t/t_lint_pragma_protected_bad.v:96:1: `pragma is missing a pragma_expression.
96 | `pragma
| ^~~~~~~