mirror of
https://github.com/verilator/verilator.git
synced 2026-10-02 16:13:34 +02:00
Update IEEE references
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
@@ -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);
|
||||
|
||||
@@ -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};}
|
||||
| ^~~~~
|
||||
|
||||
@@ -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,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,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...
|
||||
|
||||
Reference in New Issue
Block a user