Update IEEE references

This commit is contained in:
Wilson Snyder
2026-09-21 08:46:58 -04:00
parent 2180cfd635
commit d321a5fa5d
8 changed files with 33 additions and 33 deletions
+1 -1
View File
@@ -4478,7 +4478,7 @@ void* VerilatedScope::exportFindNullError(int funcnum) VL_MT_SAFE {
// Slowpath - Called only when find has failed
const std::string msg = ("Testbench C called '"s + VerilatedImp::exportName(funcnum)
+ "' but scope wasn't set, perhaps due to dpi import call without "
+ "'context', or missing svSetScope. See IEEE 1800-2023 35.5.3.");
+ "'context', or missing svSetScope (IEEE 1800-2023 35.5.3)");
VL_FATAL_MT("unknown", 0, "", msg.c_str());
return nullptr;
}
+6 -6
View File
@@ -157,13 +157,13 @@ class CovergroupExprValidVisitor final : public VNVisitor {
nodep->v3error("Covergroup sample formal argument "
<< nodep->varp()->prettyNameQ()
<< " may only be used in a coverpoint or conditional guard "
"expression (IEEE 1800-2012 19.8.1).");
"expression (IEEE 1800-2023 19.8.1).");
}
if (m_inCoverageExpression && m_constructorRefMembers.count(nodep->varp())) {
nodep->v3error("Ref covergroup constructor formal argument "
<< nodep->varp()->prettyNameQ()
<< " may not be used in a covergroup expression "
"(IEEE 1800-2012 19.5).");
"(IEEE 1800-2023 19.5).");
}
}
void visit(AstNodeFTaskRef* nodep) override {
@@ -180,7 +180,7 @@ class CovergroupExprValidVisitor final : public VNVisitor {
nodep->v3error("Function " << nodep->taskp()->prettyNameQ()
<< " called in a covergroup expression has an "
"output, inout, or non-const ref argument "
"(IEEE 1800-2012 19.5).");
"(IEEE 1800-2023 19.5).");
}
}
iterateChildren(nodep);
@@ -2018,7 +2018,7 @@ class FunctionalCoverageVisitor final : public VNVisitor {
if (dimIt == ctx.dimensions.end()) {
selectp->v3error("binsof coverpoint "
<< selectp->pointp()->prettyNameQ() << " is not an item of cross "
<< ctx.crossp->prettyNameQ() << " (IEEE 1800-2012 19.6.1).");
<< ctx.crossp->prettyNameQ() << " (IEEE 1800-2023 19.6.1).");
ctx.valid = false;
return {};
}
@@ -2031,7 +2031,7 @@ class FunctionalCoverageVisitor final : public VNVisitor {
if (binIt == bins.spans.end()) {
selectp->v3error("Cannot find bin " << selectp->prettyNameQ() << " in coverpoint "
<< selectp->pointp()->prettyNameQ()
<< " (IEEE 1800-2012 19.6.1).");
<< " (IEEE 1800-2023 19.6.1).");
ctx.valid = false;
return {};
}
@@ -2087,7 +2087,7 @@ class FunctionalCoverageVisitor final : public VNVisitor {
AstCoverCrossBin* const binp = VN_AS(itemp, CoverCrossBin);
if (!names.emplace(binp->name()).second) {
binp->v3error("Duplicate cross bin " << binp->prettyNameQ()
<< " (IEEE 1800-2012 19.6.1).");
<< " (IEEE 1800-2023 19.6.1).");
continue;
}
ctx.valid = true;
+2 -2
View File
@@ -1332,7 +1332,7 @@ class LinkParseVisitor final : public VNVisitor {
if (origVarp->direction() == VDirection::OUTPUT
|| origVarp->direction() == VDirection::INOUT) {
origVarp->v3error("Covergroup formal arguments cannot be output or inout"
" (IEEE 1800-2012 19.3)");
" (IEEE 1800-2023 19.3)");
origVarp->direction(VDirection::INPUT);
}
if ((origVarp->isRef() || origVarp->isConstRef()) && origVarp->valuep()) {
@@ -1353,7 +1353,7 @@ class LinkParseVisitor final : public VNVisitor {
AstVar* const origVarp = VN_AS(argp, Var);
if (!origVarp->isInput()) {
origVarp->v3error("Covergroup sample formal argument must have input direction "
"(IEEE 1800-2012 19.8.1).");
"(IEEE 1800-2023 19.8.1).");
origVarp->direction(VDirection::INPUT);
}
AstVar* const memberp = origVarp->cloneTree(false);
+6 -6
View File
@@ -1,20 +1,20 @@
%Error: t/t_covergroup_args_bad.v:10:35: Covergroup formal arguments cannot be output or inout (IEEE 1800-2012 19.3)
%Error: t/t_covergroup_args_bad.v:10:35: Covergroup formal arguments cannot be output or inout (IEEE 1800-2023 19.3)
10 | covergroup cg_output(output bit arg);
| ^~~
... See the manual at https://verilator.org/verilator_doc.html?v=latest for more assistance.
%Error: t/t_covergroup_args_bad.v:14:33: Covergroup formal arguments cannot be output or inout (IEEE 1800-2012 19.3)
%Error: t/t_covergroup_args_bad.v:14:33: Covergroup formal arguments cannot be output or inout (IEEE 1800-2023 19.3)
14 | covergroup cg_inout(inout bit arg);
| ^~~
%Error: t/t_covergroup_args_bad.v:18:64: Covergroup sample formal argument must have input direction (IEEE 1800-2012 19.8.1).
%Error: t/t_covergroup_args_bad.v:18:64: Covergroup sample formal argument must have input direction (IEEE 1800-2023 19.8.1).
18 | covergroup cg_sample_output with function sample (output bit arg);
| ^~~
%Error: t/t_covergroup_args_bad.v:22:62: Covergroup sample formal argument must have input direction (IEEE 1800-2012 19.8.1).
%Error: t/t_covergroup_args_bad.v:22:62: Covergroup sample formal argument must have input direction (IEEE 1800-2023 19.8.1).
22 | covergroup cg_sample_inout with function sample (inout bit arg);
| ^~~
%Error: t/t_covergroup_args_bad.v:26:58: Covergroup sample formal argument must have input direction (IEEE 1800-2012 19.8.1).
%Error: t/t_covergroup_args_bad.v:26:58: Covergroup sample formal argument must have input direction (IEEE 1800-2023 19.8.1).
26 | covergroup cg_sample_ref with function sample (ref bit arg);
| ^~~
%Error: t/t_covergroup_args_bad.v:30:70: Covergroup sample formal argument must have input direction (IEEE 1800-2012 19.8.1).
%Error: t/t_covergroup_args_bad.v:30:70: Covergroup sample formal argument must have input direction (IEEE 1800-2023 19.8.1).
30 | covergroup cg_sample_const_ref with function sample (const ref bit arg);
| ^~~
%Error: t/t_covergroup_args_bad.v:34:62: Duplicate declaration of signal: 'arg'
@@ -1,21 +1,21 @@
%Error: t/t_covergroup_args_expr_bad.v:19:26: Function 'function_ref' called in a covergroup expression has an output, inout, or non-const ref argument (IEEE 1800-2012 19.5).
%Error: t/t_covergroup_args_expr_bad.v:19:26: Function 'function_ref' called in a covergroup expression has an output, inout, or non-const ref argument (IEEE 1800-2023 19.5).
: ... note: In instance 't'
19 | bins ref_bin = {0, function_ref(value)};
| ^~~~~~~~~~~~
... See the manual at https://verilator.org/verilator_doc.html?v=latest for more assistance.
%Error: t/t_covergroup_args_expr_bad.v:19:39: Covergroup sample formal argument 'value' may only be used in a coverpoint or conditional guard expression (IEEE 1800-2012 19.8.1).
%Error: t/t_covergroup_args_expr_bad.v:19:39: Covergroup sample formal argument 'value' may only be used in a coverpoint or conditional guard expression (IEEE 1800-2023 19.8.1).
: ... note: In instance 't'
19 | bins ref_bin = {0, function_ref(value)};
| ^~~~~
%Error: t/t_covergroup_args_expr_bad.v:20:26: Function 'function_output' called in a covergroup expression has an output, inout, or non-const ref argument (IEEE 1800-2012 19.5).
%Error: t/t_covergroup_args_expr_bad.v:20:26: Function 'function_output' called in a covergroup expression has an output, inout, or non-const ref argument (IEEE 1800-2023 19.5).
: ... note: In instance 't'
20 | bins output_bin = {function_output(value)};
| ^~~~~~~~~~~~~~~
%Error: t/t_covergroup_args_expr_bad.v:20:42: Covergroup sample formal argument 'value' may only be used in a coverpoint or conditional guard expression (IEEE 1800-2012 19.8.1).
%Error: t/t_covergroup_args_expr_bad.v:20:42: Covergroup sample formal argument 'value' may only be used in a coverpoint or conditional guard expression (IEEE 1800-2023 19.8.1).
: ... note: In instance 't'
20 | bins output_bin = {function_output(value)};
| ^~~~~
%Error: t/t_covergroup_args_expr_bad.v:21:25: Covergroup sample formal argument 'value' may only be used in a coverpoint or conditional guard expression (IEEE 1800-2012 19.8.1).
%Error: t/t_covergroup_args_expr_bad.v:21:25: Covergroup sample formal argument 'value' may only be used in a coverpoint or conditional guard expression (IEEE 1800-2023 19.8.1).
: ... note: In instance 't'
21 | option.at_least = value;
| ^~~~~
@@ -33,7 +33,7 @@
: ... note: In instance 't'
20 | bins output_bin = {function_output(value)};
| ^~~~~~~~~~~~~~~
%Error: t/t_covergroup_args_expr_bad.v:26:55: Ref covergroup constructor formal argument 'value' may not be used in a covergroup expression (IEEE 1800-2012 19.5).
%Error: t/t_covergroup_args_expr_bad.v:26:55: Ref covergroup constructor formal argument 'value' may not be used in a covergroup expression (IEEE 1800-2023 19.5).
: ... note: In instance 't'
26 | cp_constructor_ref: coverpoint value {bins bad = {value};}
| ^~~~~
+10 -10
View File
@@ -129,43 +129,43 @@
: ... note: In instance 't'
118 | cp_a: coverpoint cp_expr {bins x[] = {size_var};}
| ^
%Error: t/t_covergroup_autobins_bad.v:133:28: binsof coverpoint 'missing' is not an item of cross 'xc' (IEEE 1800-2012 19.6.1).
%Error: t/t_covergroup_autobins_bad.v:133:28: binsof coverpoint 'missing' is not an item of cross 'xc' (IEEE 1800-2023 19.6.1).
: ... note: In instance 't'
133 | bins missing_point = binsof(missing);
| ^~~~~~
%Error: t/t_covergroup_autobins_bad.v:134:30: binsof coverpoint 'cp_other' is not an item of cross 'xc' (IEEE 1800-2012 19.6.1).
%Error: t/t_covergroup_autobins_bad.v:134:30: binsof coverpoint 'cp_other' is not an item of cross 'xc' (IEEE 1800-2023 19.6.1).
: ... note: In instance 't'
134 | bins uncrossed_point = binsof(cp_other);
| ^~~~~~
%Error: t/t_covergroup_autobins_bad.v:135:26: Cannot find bin 'missing' in coverpoint 'cp_a' (IEEE 1800-2012 19.6.1).
%Error: t/t_covergroup_autobins_bad.v:135:26: Cannot find bin 'missing' in coverpoint 'cp_a' (IEEE 1800-2023 19.6.1).
: ... note: In instance 't'
135 | bins missing_bin = binsof(cp_a.missing);
| ^~~~~~
%Error: t/t_covergroup_autobins_bad.v:137:7: Duplicate cross bin 'duplicate' (IEEE 1800-2012 19.6.1).
%Error: t/t_covergroup_autobins_bad.v:137:7: Duplicate cross bin 'duplicate' (IEEE 1800-2023 19.6.1).
: ... note: In instance 't'
137 | bins duplicate = binsof(cp_b);
| ^~~~
%Error: t/t_covergroup_autobins_bad.v:138:7: Duplicate cross bin 'duplicate' (IEEE 1800-2012 19.6.1).
%Error: t/t_covergroup_autobins_bad.v:138:7: Duplicate cross bin 'duplicate' (IEEE 1800-2023 19.6.1).
: ... note: In instance 't'
138 | ignore_bins duplicate = binsof(cp_a);
| ^~~~~~~~~~~
%Error: t/t_covergroup_autobins_bad.v:139:7: Duplicate cross bin 'duplicate' (IEEE 1800-2012 19.6.1).
%Error: t/t_covergroup_autobins_bad.v:139:7: Duplicate cross bin 'duplicate' (IEEE 1800-2023 19.6.1).
: ... note: In instance 't'
139 | illegal_bins duplicate = binsof(cp_b);
| ^~~~~~~~~~~~
%Error: t/t_covergroup_autobins_bad.v:141:7: Duplicate cross bin 'ignored_duplicate' (IEEE 1800-2012 19.6.1).
%Error: t/t_covergroup_autobins_bad.v:141:7: Duplicate cross bin 'ignored_duplicate' (IEEE 1800-2023 19.6.1).
: ... note: In instance 't'
141 | illegal_bins ignored_duplicate = binsof(cp_b);
| ^~~~~~~~~~~~
%Error: t/t_covergroup_autobins_bad.v:143:7: Duplicate cross bin 'illegal_duplicate' (IEEE 1800-2012 19.6.1).
%Error: t/t_covergroup_autobins_bad.v:143:7: Duplicate cross bin 'illegal_duplicate' (IEEE 1800-2023 19.6.1).
: ... note: In instance 't'
143 | bins illegal_duplicate = binsof(cp_b);
| ^~~~
%Error: t/t_covergroup_autobins_bad.v:144:36: Cannot find bin 'missing' in coverpoint 'cp_a' (IEEE 1800-2012 19.6.1).
%Error: t/t_covergroup_autobins_bad.v:144:36: Cannot find bin 'missing' in coverpoint 'cp_a' (IEEE 1800-2023 19.6.1).
: ... note: In instance 't'
144 | ignore_bins missing_ignore = binsof(cp_a.missing);
| ^~~~~~
%Error: t/t_covergroup_autobins_bad.v:145:40: binsof coverpoint 'cp_other' is not an item of cross 'xc' (IEEE 1800-2012 19.6.1).
%Error: t/t_covergroup_autobins_bad.v:145:40: binsof coverpoint 'cp_other' is not an item of cross 'xc' (IEEE 1800-2023 19.6.1).
: ... note: In instance 't'
145 | illegal_bins uncrossed_illegal = binsof(cp_other);
| ^~~~~~
+1 -1
View File
@@ -1,4 +1,4 @@
%Warning: DPI C Function called by Verilog DPI import with missing 'context' keyword.
%Warning: DPI C Function called by Verilog DPI import with missing 'context' keyword.
%Error: unknown:0: Testbench C called 'dpix_task' but scope wasn't set, perhaps due to dpi import call without 'context', or missing svSetScope. See IEEE 1800-2023 35.5.3.
%Error: unknown:0: Testbench C called 'dpix_task' but scope wasn't set, perhaps due to dpi import call without 'context', or missing svSetScope (IEEE 1800-2023 35.5.3)
Aborting...
+1 -1
View File
@@ -1,2 +1,2 @@
%Error: unknown:0: Testbench C called 'dpix_task' but scope wasn't set, perhaps due to dpi import call without 'context', or missing svSetScope. See IEEE 1800-2023 35.5.3.
%Error: unknown:0: Testbench C called 'dpix_task' but scope wasn't set, perhaps due to dpi import call without 'context', or missing svSetScope (IEEE 1800-2023 35.5.3)
Aborting...