Cleanup some error messages to properly quote

This commit is contained in:
Wilson Snyder 2023-09-23 08:52:50 -04:00
parent 4636e9cffb
commit 9f75068059
227 changed files with 757 additions and 755 deletions

View File

@ -1348,23 +1348,19 @@ string AstNode::instanceStr() const {
// in case we have some circular reference bug.
constexpr unsigned maxIterations = 10000;
unsigned iterCount = 0;
for (const AstNode* backp = this; backp; backp = backp->backp(), ++iterCount) {
if (VL_UNCOVERABLE(iterCount >= maxIterations)) return ""; // LCOV_EXCL_LINE
// Prefer the enclosing scope, if there is one. This is always under the enclosing module,
// so just pick it up when encountered
if (const AstScope* const scopep = VN_CAST(backp, Scope)) {
return scopep->isTop() ? "" : "... In instance " + scopep->prettyName();
return scopep->isTop() ? "" : "... note: In instance " + scopep->prettyNameQ();
}
// If scopes don't exist, report an example instance of the enclosing module
if (const AstModule* const modp = VN_CAST(backp, Module)) {
const string instanceName = modp->someInstanceName();
return instanceName.empty() ? "" : "... In instance " + instanceName;
return instanceName.empty() ? "" : "... note: In instance '" + instanceName + "'";
}
}
return "";
}
void AstNode::v3errorEnd(std::ostringstream& str) const VL_RELEASE(V3Error::s().m_mutex) {

View File

@ -476,8 +476,8 @@ string FileLine::warnContextParent() const VL_REQUIRES(V3Error::s().m_mutex) {
string result;
for (FileLine* parentFl = parent(); parentFl; parentFl = parentFl->parent()) {
if (parentFl->filenameIsGlobal()) break;
result += parentFl->warnOther() + "... note: In file included from "
+ parentFl->filebasename() + "\n";
result += parentFl->warnOther() + "... note: In file included from '"
+ parentFl->filebasename() + "'\n";
}
return result;
}

View File

@ -3348,7 +3348,7 @@ private:
}
if (nodep->isExternProto()) {
if (!m_curSymp->findIdFallback(nodep->name())) {
nodep->v3error("definition not found for extern " + nodep->prettyNameQ());
nodep->v3error("Definition not found for extern " + nodep->prettyNameQ());
}
}
VSymEnt* const oldCurSymp = m_curSymp;

View File

@ -674,7 +674,7 @@ private:
if (nodep->stmtsp()) {
nodep->v3warn(GENUNNAMED,
"Unnamed generate block "
<< nodep->prettyNameQ() << " (IEEE 1800-2017 27.6)"
<< nodep->prettyNameQ() << " (IEEE 1800-2017 27.6)\n"
<< nodep->warnMore()
<< "... Suggest assign a label with 'begin : gen_<label_name>'");
}

View File

@ -125,7 +125,7 @@ bom [\357\273\277]
int res;
char enctype[16]; // long enough to hold "quote-printable"
if (LEXP->m_protBytes > 0) {
LEXP->curFilelinep()->v3warn(BADSTDPRAGMA, "multiple `pragma protected encoding sections");
LEXP->curFilelinep()->v3warn(BADSTDPRAGMA, "Multiple `pragma protected encoding sections");
}
res = sscanf(yytext + std::strlen("encoding"), " = (enctype = \"%15[A-Za-z0-9]\", line_length = %d, bytes = %d)", &enctype[0], &LEXP->m_protLength, &LEXP->m_protBytes);
if (res == 0)

View File

@ -185,8 +185,8 @@ public:
std::ostringstream stack;
for (const auto& callstack : vlstd::reverse_view(m_callStack)) {
AstFuncRef* const funcp = callstack->m_funcp;
stack << "\n " << funcp->fileline() << "... Called from "
<< funcp->prettyName() << "() with parameters:";
stack << "\n " << funcp->fileline() << "... Called from '"
<< funcp->prettyName() << "()' with parameters:";
V3TaskConnects* tconnects = callstack->m_tconnects;
for (V3TaskConnects::iterator conIt = tconnects->begin();
conIt != tconnects->end(); ++conIt) {

View File

@ -1084,9 +1084,9 @@ vnum {vnum1}|{vnum2}|{vnum3}|{vnum4}|{vnum5}
"`verilog" { FL_FWD; BEGIN PARSEP->lexKwdLastState(); FL_BRK; }
/* Errors */
"<<<<<<<"[^\n\r]* { FL; yylval.fl->v3error("version control conflict marker in file"); FL_BRK; }
"======="[^\n\r]* { FL; yylval.fl->v3error("version control conflict marker in file"); FL_BRK; }
">>>>>>>"[^\n\r]* { FL; yylval.fl->v3error("version control conflict marker in file"); FL_BRK; }
"<<<<<<<"[^\n\r]* { FL; yylval.fl->v3error("Version control conflict marker in file"); FL_BRK; }
"======="[^\n\r]* { FL; yylval.fl->v3error("Version control conflict marker in file"); FL_BRK; }
">>>>>>>"[^\n\r]* { FL; yylval.fl->v3error("Version control conflict marker in file"); FL_BRK; }
/* If add to this list also add to V3LanguageWords.h */
}

View File

@ -7289,7 +7289,7 @@ vltOffFront<errcodeen>:
{ const char *codemsg = (*$3).c_str();
if (V3ErrorCode::unusedMsg(codemsg)) {$$ = V3ErrorCode::I_UNUSED; }
else {$$ = V3ErrorCode{codemsg}; }
if ($$ == V3ErrorCode::EC_ERROR) { $1->v3error("Unknown error code: " << *$3); } }
if ($$ == V3ErrorCode::EC_ERROR) { $1->v3error("Unknown error code: '" << *$3 << "'"); } }
;
vltOnFront<errcodeen>:
@ -7301,7 +7301,7 @@ vltOnFront<errcodeen>:
{ const char *codemsg = (*$3).c_str();
if (V3ErrorCode::unusedMsg(codemsg)) {$$ = V3ErrorCode::I_UNUSED; }
else {$$ = V3ErrorCode{codemsg}; }
if ($$ == V3ErrorCode::EC_ERROR) { $1->v3error("Unknown error code: " << *$3); } }
if ($$ == V3ErrorCode::EC_ERROR) { $1->v3error("Unknown error code: '" << *$3 << "'"); } }
;
vltDModuleE<strp>:

View File

@ -1,29 +1,29 @@
%Error: t/t_array_backw_index_bad.v:17:19: Slice selection '[1:3]' has reversed range order versus data type's '[3:0]'
: ... In instance t
: ... note: In instance 't'
17 | array_assign[1:3] = '{32'd4, 32'd3, 32'd2};
| ^
%Error: t/t_array_backw_index_bad.v:18:20: Slice selection '[3:1]' has reversed range order versus data type's '[0:3]'
: ... In instance t
: ... note: In instance 't'
18 | larray_assign[3:1] = '{32'd4, 32'd3, 32'd2};
| ^
%Error: t/t_array_backw_index_bad.v:19:20: Slice selection '[4:6]' has reversed range order versus data type's '[6:3]'
: ... In instance t
: ... note: In instance 't'
19 | array_assign2[4:6] = '{32'd4, 32'd3, 32'd2};
| ^
%Error: t/t_array_backw_index_bad.v:20:21: Slice selection '[6:4]' has reversed range order versus data type's '[3:6]'
: ... In instance t
: ... note: In instance 't'
20 | larray_assign2[6:4] = '{32'd4, 32'd3, 32'd2};
| ^
%Error: t/t_array_backw_index_bad.v:22:19: Slice selection index '[4:3]' outside data type's '[3:0]'
: ... In instance t
: ... note: In instance 't'
22 | array_assign[4:3] = '{32'd4, 32'd3};
| ^
%Error: t/t_array_backw_index_bad.v:23:19: Slice selection index '[1:-1]' outside data type's '[3:0]'
: ... In instance t
: ... note: In instance 't'
23 | array_assign[1:-1] = '{32'd4, 32'd3};
| ^
%Error: t/t_array_backw_index_bad.v:23:28: Assignment pattern missed initializing elements: -1
: ... In instance t
: ... note: In instance 't'
23 | array_assign[1:-1] = '{32'd4, 32'd3};
| ^~
%Error: Exiting due to

View File

@ -1,9 +1,9 @@
%Error: t/t_array_list_bad.v:38:25: Assignment pattern missed initializing elements: 'logic' 't3'
: ... In instance t
: ... note: In instance 't'
38 | test_out <= '{'0, '0};
| ^~
%Warning-WIDTHEXPAND: t/t_array_list_bad.v:38:22: Operator ASSIGNDLY expects 3 bits on the Assign RHS, but Assign RHS's CONCAT generates 2 bits.
: ... In instance t
: ... note: In instance 't'
38 | test_out <= '{'0, '0};
| ^~
... For warning description see https://verilator.org/warn/WIDTHEXPAND?v=latest

View File

@ -1,5 +1,5 @@
%Error: t/t_array_method_bad.v:11:9: Unknown built-in array method 'mex'
: ... In instance t
: ... note: In instance 't'
11 | q.mex;
| ^~~
%Error: Exiting due to

View File

@ -1,21 +1,21 @@
%Error: t/t_array_method_unsup.v:24:17: 'with' not legal on this method
: ... In instance t
: ... note: In instance 't'
24 | i = q.sum with (item + 1); do if ((i) !== (32'h11)) begin $write("%%Error: %s:%0d: got='h%x exp='h%x\n", "t/t_array_method_unsup.v",24, (i), (32'h11)); $stop; end while(0);;
| ^~~~
%Error: t/t_array_method_unsup.v:25:21: 'with' not legal on this method
: ... In instance t
: ... note: In instance 't'
25 | i = q.product with (item + 1); do if ((i) !== (32'h168)) begin $write("%%Error: %s:%0d: got='h%x exp='h%x\n", "t/t_array_method_unsup.v",25, (i), (32'h168)); $stop; end while(0);;
| ^~~~
%Error: t/t_array_method_unsup.v:28:17: 'with' not legal on this method
: ... In instance t
: ... note: In instance 't'
28 | i = q.and with (item + 1); do if ((i) !== (32'b1001)) begin $write("%%Error: %s:%0d: got='h%x exp='h%x\n", "t/t_array_method_unsup.v",28, (i), (32'b1001)); $stop; end while(0);;
| ^~~~
%Error: t/t_array_method_unsup.v:29:16: 'with' not legal on this method
: ... In instance t
: ... note: In instance 't'
29 | i = q.or with (item + 1); do if ((i) !== (32'b1111)) begin $write("%%Error: %s:%0d: got='h%x exp='h%x\n", "t/t_array_method_unsup.v",29, (i), (32'b1111)); $stop; end while(0);;
| ^~~~
%Error: t/t_array_method_unsup.v:30:17: 'with' not legal on this method
: ... In instance t
: ... note: In instance 't'
30 | i = q.xor with (item + 1); do if ((i) !== (32'hb)) begin $write("%%Error: %s:%0d: got='h%x exp='h%x\n", "t/t_array_method_unsup.v",30, (i), (32'hb)); $stop; end while(0);;
| ^~~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_array_pattern_bad.v:24:18: Assignment pattern key 'valids' not found as member
: ... In instance t
: ... note: In instance 't'
24 | valids: '1};
| ^~~~~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_array_pattern_bad2.v:22:16: Multiple '{ default: } clauses
: ... In instance t
: ... note: In instance 't'
22 | myinfo = '{default: '0,
| ^~
%Error: Exiting due to

View File

@ -1,13 +1,13 @@
%Error: t/t_array_pattern_bad3.v:20:15: Assignment pattern key used multiple times: 1
: ... In instance t
: ... note: In instance 't'
20 | 1: '1};
| ^
%Error: t/t_array_pattern_bad3.v:21:13: Assignment pattern with too many elements
: ... In instance t
: ... note: In instance 't'
21 | arr = '{'0, '1, '0, '1};
| ^~
%Error: t/t_array_pattern_bad3.v:22:13: Assignment pattern missed initializing elements: 2
: ... In instance t
: ... note: In instance 't'
22 | arr = '{'0, '1};
| ^~
%Error: Exiting due to

View File

@ -1,35 +1,35 @@
-Info: t/t_assert_comp_bad.v:10:7: Elaboration system task message (IEEE 1800-2017 20.11)
: ... In instance t
: ... note: In instance 't'
10 | $info;
| ^~~~~
-Info: t/t_assert_comp_bad.v:11:7: User elaboration-time info
: ... In instance t
: ... note: In instance 't'
11 | $info("User elaboration-time info");
| ^~~~~
%Warning-USERWARN: t/t_assert_comp_bad.v:12:7: Elaboration system task message (IEEE 1800-2017 20.11)
: ... In instance t
: ... note: In instance 't'
12 | $warning;
| ^~~~~~~~
... For warning description see https://verilator.org/warn/USERWARN?v=latest
... Use "/* verilator lint_off USERWARN */" and lint_on around source to disable this message.
%Warning-USERWARN: t/t_assert_comp_bad.v:13:7: User elaboration-time warning
: ... In instance t
: ... note: In instance 't'
13 | $warning("User elaboration-time warning");
| ^~~~~~~~
%Warning-USERWARN: t/t_assert_comp_bad.v:14:7: 1
: ... In instance t
: ... note: In instance 't'
14 | $warning(1);
| ^~~~~~~~
%Warning-USERERROR: t/t_assert_comp_bad.v:15:7: Elaboration system task message (IEEE 1800-2017 20.11)
: ... In instance t
: ... note: In instance 't'
15 | $error;
| ^~~~~~
%Warning-USERERROR: t/t_assert_comp_bad.v:16:7: User elaboration-time error
: ... In instance t
: ... note: In instance 't'
16 | $error("User elaboration-time error");
| ^~~~~~
%Warning-USERFATAL: t/t_assert_comp_bad.v:17:7: User elaboration-time fatal
: ... In instance t
: ... note: In instance 't'
17 | $fatal(0, "User elaboration-time fatal");
| ^~~~~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_assert_disable_bad.v:27:38: disable iff expression before property call and in its body is not legal
: ... In instance t
: ... note: In instance 't'
27 | assert property (disable iff (val == 0) check(1, 1));
| ^~
%Error: Exiting due to

View File

@ -1,9 +1,9 @@
%Error: t/t_assert_procedural_clk.v:21:13: Unsupported: Procedural concurrent assertion with clocking event inside always (IEEE 1800-2917 16.14.6)
: ... In instance t
: ... note: In instance 't'
21 | assume property (@(posedge clk) cyc == 9);
| ^~~~~~
%Error: t/t_assert_procedural_clk.v:22:13: Unsupported: Procedural concurrent assertion with clocking event inside always (IEEE 1800-2917 16.14.6)
: ... In instance t
: ... note: In instance 't'
22 | assume property (@(negedge clk) cyc == 9);
| ^~~~~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error-UNSUPPORTED: t/t_assert_recursive_property_unsup.v:20:13: Unsupported: Recursive property call: 'check'
: ... In instance t
: ... note: In instance 't'
20 | property check(int n);
| ^~~~~
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest

View File

@ -1,57 +1,57 @@
%Error: t/t_assoc_method_bad.v:14:13: The 1 arguments passed to .num method does not match its requiring 0 arguments
: ... In instance t
: ... note: In instance 't'
14 | v = a.num("badarg");
| ^~~
%Error: t/t_assoc_method_bad.v:15:13: The 1 arguments passed to .size method does not match its requiring 0 arguments
: ... In instance t
: ... note: In instance 't'
15 | v = a.size("badarg");
| ^~~~
%Error: t/t_assoc_method_bad.v:16:13: The 0 arguments passed to .exists method does not match its requiring 1 arguments
: ... In instance t
: ... note: In instance 't'
16 | v = a.exists();
| ^~~~~~
%Error: t/t_assoc_method_bad.v:17:13: The 2 arguments passed to .exists method does not match its requiring 1 arguments
: ... In instance t
: ... note: In instance 't'
17 | v = a.exists(k, "bad2");
| ^~~~~~
%Error: t/t_assoc_method_bad.v:18:13: The 0 arguments passed to .first method does not match its requiring 1 arguments
: ... In instance t
: ... note: In instance 't'
18 | v = a.first();
| ^~~~~
%Error: t/t_assoc_method_bad.v:19:13: The 2 arguments passed to .next method does not match its requiring 1 arguments
: ... In instance t
: ... note: In instance 't'
19 | v = a.next(k, "bad2");
| ^~~~
%Error: t/t_assoc_method_bad.v:20:13: The 0 arguments passed to .last method does not match its requiring 1 arguments
: ... In instance t
: ... note: In instance 't'
20 | v = a.last();
| ^~~~
%Error: t/t_assoc_method_bad.v:21:13: The 2 arguments passed to .prev method does not match its requiring 1 arguments
: ... In instance t
: ... note: In instance 't'
21 | v = a.prev(k, "bad2");
| ^~~~
%Error: t/t_assoc_method_bad.v:22:9: The 2 arguments passed to .delete method does not match its requiring 0 to 1 arguments
: ... In instance t
: ... note: In instance 't'
22 | a.delete(k, "bad2");
| ^~~~~~
%Error: t/t_assoc_method_bad.v:24:9: Array method 'sort' not legal on associative arrays
: ... In instance t
: ... note: In instance 't'
24 | a.sort;
| ^~~~
%Error: t/t_assoc_method_bad.v:25:9: Array method 'rsort' not legal on associative arrays
: ... In instance t
: ... note: In instance 't'
25 | a.rsort;
| ^~~~~
%Error: t/t_assoc_method_bad.v:26:9: Array method 'reverse' not legal on associative arrays
: ... In instance t
: ... note: In instance 't'
26 | a.reverse;
| ^~~~~~~
%Error: t/t_assoc_method_bad.v:27:9: Array method 'shuffle' not legal on associative arrays
: ... In instance t
: ... note: In instance 't'
27 | a.shuffle;
| ^~~~~~~
%Error: t/t_assoc_method_bad.v:29:9: Unknown built-in associative array method 'bad_not_defined'
: ... In instance t
: ... note: In instance 't'
29 | a.bad_not_defined();
| ^~~~~~~~~~~~~~~
%Error: Exiting due to

View File

@ -1,77 +1,77 @@
%Error: t/t_assoc_wildcard_bad.v:23:13: The 1 arguments passed to .num method does not match its requiring 0 arguments
: ... In instance t
: ... note: In instance 't'
23 | v = a.num("badarg");
| ^~~
%Error: t/t_assoc_wildcard_bad.v:24:13: The 1 arguments passed to .size method does not match its requiring 0 arguments
: ... In instance t
: ... note: In instance 't'
24 | v = a.size("badarg");
| ^~~~
%Error: t/t_assoc_wildcard_bad.v:25:13: The 0 arguments passed to .exists method does not match its requiring 1 arguments
: ... In instance t
: ... note: In instance 't'
25 | v = a.exists();
| ^~~~~~
%Error: t/t_assoc_wildcard_bad.v:26:13: The 2 arguments passed to .exists method does not match its requiring 1 arguments
: ... In instance t
: ... note: In instance 't'
26 | v = a.exists(k, "bad2");
| ^~~~~~
%Error: t/t_assoc_wildcard_bad.v:27:9: The 2 arguments passed to .delete method does not match its requiring 0 to 1 arguments
: ... In instance t
: ... note: In instance 't'
27 | a.delete(k, "bad2");
| ^~~~~~
%Error: t/t_assoc_wildcard_bad.v:29:9: Array method 'sort' not legal on associative arrays
: ... In instance t
: ... note: In instance 't'
29 | a.sort;
| ^~~~
%Error: t/t_assoc_wildcard_bad.v:30:9: Array method 'rsort' not legal on associative arrays
: ... In instance t
: ... note: In instance 't'
30 | a.rsort;
| ^~~~~
%Error: t/t_assoc_wildcard_bad.v:31:9: Array method 'reverse' not legal on associative arrays
: ... In instance t
: ... note: In instance 't'
31 | a.reverse;
| ^~~~~~~
%Error: t/t_assoc_wildcard_bad.v:32:9: Array method 'shuffle' not legal on associative arrays
: ... In instance t
: ... note: In instance 't'
32 | a.shuffle;
| ^~~~~~~
%Error: t/t_assoc_wildcard_bad.v:34:9: Array method 'first' not legal on wildcard associative arrays
: ... In instance t
: ... note: In instance 't'
34 | a.first;
| ^~~~~
%Error: t/t_assoc_wildcard_bad.v:35:9: Array method 'last' not legal on wildcard associative arrays
: ... In instance t
: ... note: In instance 't'
35 | a.last;
| ^~~~
%Error: t/t_assoc_wildcard_bad.v:36:9: Array method 'next' not legal on wildcard associative arrays
: ... In instance t
: ... note: In instance 't'
36 | a.next;
| ^~~~
%Error: t/t_assoc_wildcard_bad.v:37:9: Array method 'prev' not legal on wildcard associative arrays
: ... In instance t
: ... note: In instance 't'
37 | a.prev;
| ^~~~
%Error: t/t_assoc_wildcard_bad.v:38:9: Array method 'unique_index' not legal on wildcard associative arrays
: ... In instance t
: ... note: In instance 't'
38 | a.unique_index;
| ^~~~~~~~~~~~
%Error: t/t_assoc_wildcard_bad.v:39:9: Array method 'find_index' not legal on wildcard associative arrays
: ... In instance t
: ... note: In instance 't'
39 | a.find_index;
| ^~~~~~~~~~
%Error: t/t_assoc_wildcard_bad.v:40:9: Array method 'find_first_index' not legal on wildcard associative arrays
: ... In instance t
: ... note: In instance 't'
40 | a.find_first_index;
| ^~~~~~~~~~~~~~~~
%Error: t/t_assoc_wildcard_bad.v:41:9: Array method 'find_last_index' not legal on wildcard associative arrays
: ... In instance t
: ... note: In instance 't'
41 | a.find_last_index;
| ^~~~~~~~~~~~~~~
%Error: t/t_assoc_wildcard_bad.v:43:8: Wildcard index must be integral (IEEE 1800-2017 7.8.1)
: ... In instance t
: ... note: In instance 't'
43 | a[x] = "bad";
| ^
%Error: t/t_assoc_wildcard_bad.v:45:9: Unknown wildcard associative array method 'bad_not_defined'
: ... In instance t
: ... note: In instance 't'
45 | a.bad_not_defined();
| ^~~~~~~~~~~~~~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Warning-SELRANGE: t/t_bigmem_bad.v:14:19: Selection index out of range: (nodep->declElWidth() == 0) -1:0 outside 268435455:0
: ... In instance t_bigmem
: ... note: In instance 't_bigmem'
14 | if (wen) mem[addr] <= data;
| ^
... For warning description see https://verilator.org/warn/SELRANGE?v=latest

View File

@ -1,5 +1,5 @@
%Error: t/t_bitsel_const_bad.v:21:16: Illegal bit or array select; type does not have a bit range, or bad dimension: data type is 'logic'
: ... In instance t
: ... note: In instance 't'
21 | assign a = b[0];
| ^
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_bitsel_wire_array_bad.v:21:16: Illegal assignment of constant to unpacked array
: ... In instance t
: ... note: In instance 't'
21 | assign b = a[0];
| ^
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_case_genx_bad.v:14:9: Use of x/? constant in generate case statement, (no such thing as 'generate casez')
: ... In instance t
: ... note: In instance 't'
14 | 32'b1xxx: initial begin end
| ^~~~~~~~
%Error: Exiting due to

View File

@ -1,10 +1,10 @@
%Error: t/t_cast_class_incompat_bad.v:26:16: Dynamic, not static cast, required to cast 'CLASSREFDTYPE 'BaseExtended'' from 'CLASSREFDTYPE 'Base''
: ... In instance t
: ... note: In instance 't'
: ... Suggest dynamic $cast
26 | cls_ab = BaseExtended'(cls_a);
| ^~~~~~~~~~~~
%Error: t/t_cast_class_incompat_bad.v:27:15: Incompatible types to static cast to 'CLASSREFDTYPE 'Other'' from 'CLASSREFDTYPE 'BaseExtended''
: ... In instance t
: ... note: In instance 't'
27 | other = Other'(cls_ab);
| ^~~~~
%Error: Exiting due to

View File

@ -1,9 +1,9 @@
%Error: t/t_cast_size_bad.v:14:15: Size-changing cast to zero or negative size
: ... In instance t
: ... note: In instance 't'
14 | b = (-1)'(a);
| ^
%Warning-WIDTHEXPAND: t/t_cast_size_bad.v:14:9: Operator ASSIGN expects 4 bits on the Assign RHS, but Assign RHS's SEL generates 1 bits.
: ... In instance t
: ... note: In instance 't'
14 | b = (-1)'(a);
| ^
... For warning description see https://verilator.org/warn/WIDTHEXPAND?v=latest

View File

@ -1,17 +1,17 @@
%Warning-CASTCONST: t/t_castdyn_castconst_bad.v:20:11: $cast will always return one as 'int' is always castable from 'logic[31:0]'
: ... In instance t
: ... note: In instance 't'
: ... Suggest static cast
20 | i = $cast(v, 1);
| ^~~~~
... For warning description see https://verilator.org/warn/CASTCONST?v=latest
... Use "/* verilator lint_off CASTCONST */" and lint_on around source to disable this message.
%Warning-CASTCONST: t/t_castdyn_castconst_bad.v:21:11: $cast will always return one as 'CLASSREFDTYPE 'Base'' is always castable from 'CLASSREFDTYPE 'Base''
: ... In instance t
: ... note: In instance 't'
: ... Suggest static cast
21 | i = $cast(b, b);
| ^~~~~
%Warning-CASTCONST: t/t_castdyn_castconst_bad.v:22:11: $cast will always return zero as 'CLASSREFDTYPE 'Base'' is not castable from 'CLASSREFDTYPE 'Other''
: ... In instance t
: ... note: In instance 't'
22 | i = $cast(b, o);
| ^~~~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error-UNSUPPORTED: t/t_castdyn_unsup_bad.v:13:7: Unsupported: $cast to 'string[$]' from 'int[string]'
: ... In instance t
: ... note: In instance 't'
: ... Suggest try static cast
13 | $cast(q, aarray);
| ^~~~~

View File

@ -1,37 +1,37 @@
%Error: t/t_class_assign_bad.v:28:9: Assign RHS expects a CLASSREFDTYPE 'Cls', got BASICDTYPE 'logic'
: ... In instance t
: ... note: In instance 't'
28 | c = 0;
| ^
%Error: t/t_class_assign_bad.v:29:9: Assign RHS expects a CLASSREFDTYPE 'Cls', got BASICDTYPE 'logic'
: ... In instance t
: ... note: In instance 't'
29 | c = 1;
| ^
%Error: t/t_class_assign_bad.v:30:9: Assign RHS expects a CLASSREFDTYPE 'Cls', got CLASSREFDTYPE 'Cls2'
: ... In instance t
: ... note: In instance 't'
30 | c = c2;
| ^
%Error: t/t_class_assign_bad.v:31:13: Assign RHS expects a CLASSREFDTYPE 'ClsExt', got CLASSREFDTYPE 'Cls'
: ... In instance t
: ... note: In instance 't'
31 | c_ext = c;
| ^
%Error: t/t_class_assign_bad.v:32:11: Assign RHS expects a CLASSREFDTYPE 'Cls2', got CLASSREFDTYPE 'Cls'
: ... In instance t
: ... note: In instance 't'
32 | ct2 = c;
| ^
%Error: t/t_class_assign_bad.v:34:7: Function Argument expects a CLASSREFDTYPE 'Cls', got BASICDTYPE 'logic'
: ... In instance t
: ... note: In instance 't'
34 | t(0);
| ^
%Error: t/t_class_assign_bad.v:35:7: Function Argument expects a CLASSREFDTYPE 'Cls', got BASICDTYPE 'logic'
: ... In instance t
: ... note: In instance 't'
35 | t(1);
| ^
%Error: t/t_class_assign_bad.v:36:7: Function Argument expects a CLASSREFDTYPE 'Cls', got CLASSREFDTYPE 'Cls2'
: ... In instance t
: ... note: In instance 't'
36 | t(c2);
| ^
%Error: t/t_class_assign_bad.v:37:7: Function Argument expects a CLASSREFDTYPE 'ClsExt', got CLASSREFDTYPE 'Cls'
: ... In instance t
: ... note: In instance 't'
37 | f(c);
| ^
%Error: Exiting due to

View File

@ -1,21 +1,21 @@
%Error: t/t_class_assign_cond_bad.v:22:25: Incompatible types of operands of condition operator: CLASSREFDTYPE 'Cls1' and CLASSREFDTYPE 'Cls2'
: ... In instance t
: ... note: In instance 't'
22 | c1 = (c1 != null) ? c1 : c2;
| ^
%Error: t/t_class_assign_cond_bad.v:23:10: Assign RHS expects a CLASSREFDTYPE 'Cls1', got CLASSREFDTYPE 'Cls2'
: ... In instance t
: ... note: In instance 't'
23 | c1 = (c1 != null) ? c2 : c2;
| ^
%Error: t/t_class_assign_cond_bad.v:24:25: Incompatible types of operands of condition operator: BASICDTYPE 'logic' and CLASSREFDTYPE 'Cls2'
: ... In instance t
: ... note: In instance 't'
24 | c2 = (c1 == null) ? 1'b1 : c2;
| ^
%Error: t/t_class_assign_cond_bad.v:24:10: Assign RHS expects a CLASSREFDTYPE 'Cls2', got BASICDTYPE 'logic'
: ... In instance t
: ... note: In instance 't'
24 | c2 = (c1 == null) ? 1'b1 : c2;
| ^
%Error: t/t_class_assign_cond_bad.v:25:29: Incompatible types of operands of condition operator: CLASSREFDTYPE 'ExtCls1' and CLASSREFDTYPE 'Cls1'
: ... In instance t
: ... note: In instance 't'
25 | ext_c1 = (c1 == null) ? ext_c1 : c1;
| ^
%Error: Exiting due to

View File

@ -1,9 +1,9 @@
%Error: t/t_class_builtin_bad.v:8:17: The 'rand_mode' method is built-in and cannot be overridden (IEEE 1800-2017 18.8)
: ... In instance t
: ... note: In instance 't'
8 | function int rand_mode(bit onoff);
| ^~~~~~~~~
%Error: t/t_class_builtin_bad.v:11:17: The 'constraint_mode' method is built-in and cannot be overridden (IEEE 1800-2017 18.9)
: ... In instance t
: ... note: In instance 't'
11 | function int constraint_mode(bit onoff);
| ^~~~~~~~~~~~~~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_class_copy_bad.v:19:16: New-as-copier passed different data type 'CLASSREFDTYPE 'Cls'' then expected 'CLASSREFDTYPE 'Other''
: ... In instance t
: ... note: In instance 't'
19 | c1 = new co;
| ^~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_class_extends_aliased_real_bad.v:14:10: Attempting to extend using non-class
: ... In instance t
: ... note: In instance 't'
14 | bar #(real_t) bar_real_t;
| ^~~~~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_class_extends_int_param_bad.v:9:23: Attempting to extend using non-class
: ... In instance t
: ... note: In instance 't'
9 | class Bar #(type T=int) extends T;
| ^~~
%Error: Exiting due to

View File

@ -4,10 +4,10 @@
t/t_class_extern_bad.v:8:16: ... Location of original declaration
8 | extern task nodef();
| ^~~~~
%Error: t/t_class_extern_bad.v:8:16: definition not found for extern 'nodef'
%Error: t/t_class_extern_bad.v:8:16: Definition not found for extern 'nodef'
8 | extern task nodef();
| ^~~~~
%Error: t/t_class_extern_bad.v:9:16: definition not found for extern 'nodef'
%Error: t/t_class_extern_bad.v:9:16: Definition not found for extern 'nodef'
9 | extern task nodef();
| ^~~~~
%Error: t/t_class_extern_bad.v:12:6: extern not found that declares 'noproto'

View File

@ -1,5 +1,5 @@
%Error-ENCAPSULATED: t/t_class_local_bad.v:71:20: 'm_loc' is hidden as 'local' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
71 | bad(); if (c.m_loc != 2) $stop;
| ^~~~~
t/t_class_local_bad.v:71:20: ... Location of definition
@ -7,98 +7,98 @@
| ^~~~~
... For error description see https://verilator.org/warn/ENCAPSULATED?v=latest
%Error-ENCAPSULATED: t/t_class_local_bad.v:72:20: 'm_prot' is hidden as 'protected' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
72 | bad(); if (c.m_prot != 20) $stop;
| ^~~~~~
t/t_class_local_bad.v:72:20: ... Location of definition
16 | protected int m_prot = 3;
| ^~~~~~
%Error-ENCAPSULATED: t/t_class_local_bad.v:74:20: 'm_loc' is hidden as 'local' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
74 | bad(); if (e.m_loc != 2) $stop;
| ^~~~~
t/t_class_local_bad.v:74:20: ... Location of definition
15 | local int m_loc = 2;
| ^~~~~
%Error-ENCAPSULATED: t/t_class_local_bad.v:75:20: 'm_prot' is hidden as 'protected' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
75 | bad(); if (e.m_prot != 20) $stop;
| ^~~~~~
t/t_class_local_bad.v:75:20: ... Location of definition
16 | protected int m_prot = 3;
| ^~~~~~
%Error-ENCAPSULATED: t/t_class_local_bad.v:77:16: 'f_loc' is hidden as 'local' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
77 | bad(); c.f_loc();
| ^~~~~
t/t_class_local_bad.v:77:16: ... Location of definition
18 | local task f_loc; endtask
| ^~~~~
%Error-ENCAPSULATED: t/t_class_local_bad.v:78:16: 'f_prot' is hidden as 'protected' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
78 | bad(); c.f_prot();
| ^~~~~~
t/t_class_local_bad.v:78:16: ... Location of definition
19 | protected task f_prot; endtask
| ^~~~~~
%Error-ENCAPSULATED: t/t_class_local_bad.v:80:16: 's_loc' is hidden as 'local' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
80 | bad(); c.s_loc();
| ^~~~~
t/t_class_local_bad.v:80:16: ... Location of definition
21 | static local task s_loc; endtask
| ^~~~~
%Error-ENCAPSULATED: t/t_class_local_bad.v:81:16: 's_prot' is hidden as 'protected' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
81 | bad(); c.s_prot();
| ^~~~~~
t/t_class_local_bad.v:81:16: ... Location of definition
22 | static protected task s_prot; endtask
| ^~~~~~
%Error-ENCAPSULATED: t/t_class_local_bad.v:83:19: 's_loc' is hidden as 'local' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
83 | bad(); Cls::s_loc();
| ^~~~~
t/t_class_local_bad.v:83:19: ... Location of definition
21 | static local task s_loc; endtask
| ^~~~~
%Error-ENCAPSULATED: t/t_class_local_bad.v:84:19: 's_prot' is hidden as 'protected' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
84 | bad(); Cls::s_prot();
| ^~~~~~
t/t_class_local_bad.v:84:19: ... Location of definition
22 | static protected task s_prot; endtask
| ^~~~~~
%Error-ENCAPSULATED: t/t_class_local_bad.v:47:18: 'm_loc' is hidden as 'local' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
47 | bad(); if (m_loc != 10) $stop;
| ^~~~~
t/t_class_local_bad.v:47:18: ... Location of definition
15 | local int m_loc = 2;
| ^~~~~
%Error-ENCAPSULATED: t/t_class_local_bad.v:50:14: 'f_loc' is hidden as 'local' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
50 | bad(); f_loc();
| ^~~~~
t/t_class_local_bad.v:50:14: ... Location of definition
18 | local task f_loc; endtask
| ^~~~~
%Error-ENCAPSULATED: t/t_class_local_bad.v:53:16: 'f_loc' is hidden as 'local' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
53 | bad(); o.f_loc();
| ^~~~~
t/t_class_local_bad.v:53:16: ... Location of definition
18 | local task f_loc; endtask
| ^~~~~
%Error-ENCAPSULATED: t/t_class_local_bad.v:56:14: 's_loc' is hidden as 'local' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
56 | bad(); s_loc();
| ^~~~~
t/t_class_local_bad.v:56:14: ... Location of definition
21 | static local task s_loc; endtask
| ^~~~~
%Error-ENCAPSULATED: t/t_class_local_bad.v:59:19: 's_loc' is hidden as 'local' within this context (IEEE 1800-2017 8.18)
: ... In instance t
: ... note: In instance 't'
59 | bad(); Cls::s_loc();
| ^~~~~
t/t_class_local_bad.v:59:19: ... Location of definition

View File

@ -1,10 +1,10 @@
%Error: t/t_class_member_bad.v:18:9: Member 'memb3' not found in class 'Cls2'
: ... In instance t
: ... note: In instance 't'
: ... Suggested alternative: 'memb2'
18 | c.memb3 = 3;
| ^~~~~
%Warning-WIDTHTRUNC: t/t_class_member_bad.v:18:15: Operator ASSIGN expects 1 bits on the Assign RHS, but Assign RHS's CONST '?32?sh3' generates 32 or 2 bits.
: ... In instance t
: ... note: In instance 't'
18 | c.memb3 = 3;
| ^
... For warning description see https://verilator.org/warn/WIDTHTRUNC?v=latest

View File

@ -1,5 +1,5 @@
%Error: t/t_class_method_bad.v:18:9: Class method 'meth3' not found in class 'Cls2'
: ... In instance t
: ... note: In instance 't'
: ... Suggested alternative: 'meth2'
18 | c.meth3();
| ^~~~~

View File

@ -1,20 +1,20 @@
%Error: t/t_class_new_bad.v:31:16: Too many arguments in function call to FUNC 'new'
: ... In instance t
: ... note: In instance 't'
31 | c1 = new(3);
| ^
%Error: t/t_class_new_bad.v:32:16: Too many arguments in function call to FUNC 'new'
: ... In instance t
: ... note: In instance 't'
32 | c2 = new(3);
| ^
%Error: t/t_class_new_bad.v:33:12: Missing argument on non-defaulted argument 'i' in function call to FUNC 'new'
: ... In instance t
: ... note: In instance 't'
33 | c3 = new();
| ^~~
%Error: t/t_class_new_bad.v:34:12: dynamic new() not expected in this context (data type must be dynamic array)
: ... In instance t
: ... note: In instance 't'
34 | c1 = new[2];
| ^~~
%Error: Internal Error: t/t_class_new_bad.v:34:12: ../V3Width.cpp:#: Node has no type
: ... In instance t
: ... note: In instance 't'
34 | c1 = new[2];
| ^~~

View File

@ -1,5 +1,5 @@
%Error: t/t_class_param_bad2.v:12:4: Missing type parameter: 'PARAMB'
: ... In instance t
: ... note: In instance 't'
12 | Cls c;
| ^~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_class_param_circ_bad.v:14:4: Exceeded maximum --module-recursion-depth of 100
: ... In instance t
: ... note: In instance 't'
14 | ClsA #(PARAM+1) a;
| ^~~~
%Error: Internal Error: ../V3Param.cpp:#: should find just-made module

View File

@ -1,9 +1,9 @@
%Error: t/t_class_param_enum_bad.v:20:31: Assign RHS expects a CLASSREFDTYPE 'Converter__Tz2', got CLASSREFDTYPE 'Converter__Tz1'
: ... In instance t
: ... note: In instance 't'
20 | Converter#(bit) conv2 = conv1;
| ^~~~~
%Error-ENUMVALUE: t/t_class_param_enum_bad.v:21:19: Implicit conversion to enum 'ENUMDTYPE '$unit::enum_t'' from 'logic[31:0]' (IEEE 1800-2017 6.19.3)
: ... In instance t
: ... note: In instance 't'
: ... Suggest use enum's mnemonic, or static cast
21 | conv1.toInt(0);
| ^

View File

@ -1,9 +1,9 @@
%Error: t/t_class_param_nconst_bad.v:12:17: Expecting expression to be constant, but can't convert a RAND to constant.
: ... In instance t
: ... note: In instance 't'
12 | Cls #(.PARAM($random)) c;
| ^~~~~~~
%Error: t/t_class_param_nconst_bad.v:12:11: Can't convert defparam value to constant: Param 'PARAM' of 'Cls'
: ... In instance t
: ... note: In instance 't'
12 | Cls #(.PARAM($random)) c;
| ^~~~~
%Error: Exiting due to

View File

@ -1,10 +1,10 @@
%Error-UNSUPPORTED: t/t_class_param_nested_bad.v:51:23: dotted expressions in parameters
: ... In instance t
: ... note: In instance 't'
: ... Suggest use a typedef
51 | Wrap2 #(Wrap#(19)::PBASE * 2) w38;
| ^~~~~
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest
%Error: Internal Error: t/t_class_param_nested_bad.v:51:29: ../V3Width.cpp:#: Node has no type
: ... In instance t
: ... note: In instance 't'
51 | Wrap2 #(Wrap#(19)::PBASE * 2) w38;
| ^

View File

@ -1,5 +1,5 @@
%Error: t/t_class_param_noinit_bad.v:13:7: Class parameter without initial value is never given value (IEEE 1800-2017 6.20.1): 'B'
: ... In instance t
: ... note: In instance 't'
13 | Cls #(1) c;
| ^~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_class_virtual_bad.v:12:17: Illegal to call 'new' using an abstract virtual class (IEEE 1800-2017 8.21)
: ... In instance t
: ... note: In instance 't'
12 | VBase b = new;
| ^~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_clocking_bad1.v:16:12: Only one default clocking block allowed per module (IEEE 1800-2017 14.12)
: ... In instance t
: ... note: In instance 't'
16 | default clocking @(posedge clk);
| ^~~~~~~~
%Error: Exiting due to

View File

@ -1,45 +1,45 @@
%Error: t/t_clocking_bad4.v:23:15: Skew must be constant (IEEE 1800-2017 14.4)
: ... In instance t
: ... note: In instance 't'
23 | input #cyc in;
| ^~~
%Error: t/t_clocking_bad4.v:24:16: Skew cannot be negative
: ... In instance t
: ... note: In instance 't'
24 | input #(-1) out;
| ^
%Error: t/t_clocking_bad4.v:31:11: Usage of cycle delays requires default clocking (IEEE 1800-2017 14.11)
: ... In instance t
: ... note: In instance 't'
31 | always ##1;
| ^~
%Error: t/t_clocking_bad4.v:32:15: Only non-blocking assignments can write to clockvars (IEEE 1800-2017 14.16)
: ... In instance t
: ... note: In instance 't'
32 | always cb1.out = clk;
| ^~~
%Error: t/t_clocking_bad4.v:33:15: Only non-blocking assignments can write to clockvars (IEEE 1800-2017 14.16)
: ... In instance t
: ... note: In instance 't'
33 | assign cb1.out = clk;
| ^~~
%Error: t/t_clocking_bad4.v:34:21: Only non-blocking assignments can write to clockvars (IEEE 1800-2017 14.16)
: ... In instance t
: ... note: In instance 't'
34 | always write(cb1.out);
| ^~~
%Error: t/t_clocking_bad4.v:35:22: Event controls cannot be used in synchronous drives (IEEE 1800-2017 14.16)
: ... In instance t
: ... note: In instance 't'
35 | always cb1.out <= @(posedge clk) 1;
| ^
%Error: t/t_clocking_bad4.v:36:22: Only cycle delays can be used in synchronous drives (IEEE 1800-2017 14.16)
: ... In instance t
: ... note: In instance 't'
36 | always cb1.out <= #1 1;
| ^
%Error: t/t_clocking_bad4.v:37:18: Cycle delays not allowed as intra-assignment delays (IEEE 1800-2017 14.11)
: ... In instance t
: ... note: In instance 't'
37 | always out <= ##1 1;
| ^~
%Error: t/t_clocking_bad4.v:40:12: Cannot write to input clockvar (IEEE 1800-2017 14.3)
: ... In instance t
: ... note: In instance 't'
40 | cb1.in = 1;
| ^~
%Error: t/t_clocking_bad4.v:41:21: Cannot read from output clockvar (IEEE 1800-2017 14.3)
: ... In instance t
: ... note: In instance 't'
41 | $display(cb1.out);
| ^~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error-NOTIMING: t/t_clocking_notiming.v:11:8: Clocking output skew greater than #0 requires --timing
: ... In instance t
: ... note: In instance 't'
11 | output #1 out;
| ^~~~~~
... For error description see https://verilator.org/warn/NOTIMING?v=latest

View File

@ -1,5 +1,5 @@
%Error-UNSUPPORTED: t/t_clocking_unsup2.v:16:11: Unsupported: ##0 delays
: ... In instance t
: ... note: In instance 't'
16 | always ##0;
| ^~
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest

View File

@ -1,5 +1,5 @@
%Warning-WIDTHCONCAT: t/t_concat_large_bad.v:9:29: More than a 8k bit replication is probably wrong: 32768
: ... In instance t
: ... note: In instance 't'
9 | wire [32767:0] a = {32768{1'b1}};
| ^
... For warning description see https://verilator.org/warn/WIDTHCONCAT?v=latest

View File

@ -1,15 +1,15 @@
%Warning-WIDTHXZEXPAND: t/t_const_bad.v:13:39: Unsized constant being X/Z extended to 68 bits: ?32?bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
: ... In instance t
: ... note: In instance 't'
13 | if (68'hx_xxxxxxxx_xxxxxxxx !== 'dX) $stop;
| ^~~
... For warning description see https://verilator.org/warn/WIDTHXZEXPAND?v=latest
... Use "/* verilator lint_off WIDTHXZEXPAND */" and lint_on around source to disable this message.
%Warning-WIDTHXZEXPAND: t/t_const_bad.v:14:39: Unsized constant being X/Z extended to 68 bits: ?32?bzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
: ... In instance t
: ... note: In instance 't'
14 | if (68'hz_zzzzzzzz_zzzzzzzz !== 'dZ) $stop;
| ^~~
%Warning-WIDTHXZEXPAND: t/t_const_bad.v:15:39: Unsized constant being X/Z extended to 68 bits: ?32?bzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
: ... In instance t
: ... note: In instance 't'
15 | if (68'h?_????????_???????? !== 'd?) $stop;
| ^~~
%Error: Exiting due to

View File

@ -4,51 +4,51 @@
... For warning description see https://verilator.org/warn/CONSTRAINTIGN?v=latest
... Use "/* verilator lint_off CONSTRAINTIGN */" and lint_on around source to disable this message.
%Warning-CONSTRAINTIGN: t/t_constraint_mode.v:14:11: rand_mode ignored (unsupported)
: ... In instance t
: ... note: In instance 't'
14 | one.rand_mode(0);
| ^~~~~~~~~
%Warning-CONSTRAINTIGN: t/t_constraint_mode.v:15:11: rand_mode ignored (unsupported)
: ... In instance t
: ... note: In instance 't'
15 | one.rand_mode(1);
| ^~~~~~~~~
%Warning-CONSTRAINTIGN: t/t_constraint_mode.v:16:15: rand_mode ignored (unsupported)
: ... In instance t
: ... note: In instance 't'
16 | if (one.rand_mode() != 1) $stop;
| ^~~~~~~~~
%Warning-CONSTRAINTIGN: t/t_constraint_mode.v:19:9: constraint_mode ignored (unsupported)
: ... In instance t
: ... note: In instance 't'
19 | a.constraint_mode(1);
| ^~~~~~~~~~~~~~~
%Warning-CONSTRAINTIGN: t/t_constraint_mode.v:20:9: constraint_mode ignored (unsupported)
: ... In instance t
: ... note: In instance 't'
20 | a.constraint_mode(0);
| ^~~~~~~~~~~~~~~
%Warning-CONSTRAINTIGN: t/t_constraint_mode.v:21:13: constraint_mode ignored (unsupported)
: ... In instance t
: ... note: In instance 't'
21 | if (a.constraint_mode() != 0) $stop;
| ^~~~~~~~~~~~~~~
%Warning-CONSTRAINTIGN: t/t_constraint_mode.v:41:13: rand_mode ignored (unsupported)
: ... In instance t
: ... note: In instance 't'
41 | p.one.rand_mode(0);
| ^~~~~~~~~
%Warning-CONSTRAINTIGN: t/t_constraint_mode.v:42:13: rand_mode ignored (unsupported)
: ... In instance t
: ... note: In instance 't'
42 | p.one.rand_mode(1);
| ^~~~~~~~~
%Warning-CONSTRAINTIGN: t/t_constraint_mode.v:43:17: rand_mode ignored (unsupported)
: ... In instance t
: ... note: In instance 't'
43 | if (p.one.rand_mode() != 1) $stop;
| ^~~~~~~~~
%Warning-CONSTRAINTIGN: t/t_constraint_mode.v:46:11: constraint_mode ignored (unsupported)
: ... In instance t
: ... note: In instance 't'
46 | p.a.constraint_mode(1);
| ^~~~~~~~~~~~~~~
%Warning-CONSTRAINTIGN: t/t_constraint_mode.v:47:11: constraint_mode ignored (unsupported)
: ... In instance t
: ... note: In instance 't'
47 | p.a.constraint_mode(0);
| ^~~~~~~~~~~~~~~
%Warning-CONSTRAINTIGN: t/t_constraint_mode.v:48:15: constraint_mode ignored (unsupported)
: ... In instance t
: ... note: In instance 't'
48 | if (p.a.constraint_mode() != 0) $stop;
| ^~~~~~~~~~~~~~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Warning-UNUSEDSIGNAL: t/t_cover_unused_bad.v:14:10: Signal is not used: 'unu3'
: ... In instance t
: ... note: In instance 't'
14 | logic unu3 = 0;
| ^~~~
... For warning description see https://verilator.org/warn/UNUSEDSIGNAL?v=latest

View File

@ -1,35 +1,35 @@
%Warning-ASSIGNDLY: t/t_delay.v:25:11: Ignoring timing control on this assignment/primitive due to --no-timing
: ... In instance t
: ... note: In instance 't'
25 | assign #(1.2000000000000000) dly1 = dly0 + 32'h1;
| ^
... For warning description see https://verilator.org/warn/ASSIGNDLY?v=latest
... Use "/* verilator lint_off ASSIGNDLY */" and lint_on around source to disable this message.
%Warning-ASSIGNDLY: t/t_delay.v:26:11: Ignoring timing control on this assignment/primitive due to --no-timing
: ... In instance t
: ... note: In instance 't'
26 | assign #(sub.delay) dly3 = dly1 + 1;
| ^
%Warning-ASSIGNDLY: t/t_delay.v:33:18: Ignoring timing control on this assignment/primitive due to --no-timing
: ... In instance t
: ... note: In instance 't'
33 | dly0 <= #0 32'h11;
| ^
%Warning-ASSIGNDLY: t/t_delay.v:36:18: Ignoring timing control on this assignment/primitive due to --no-timing
: ... In instance t
: ... note: In instance 't'
36 | dly0 <= #0.12 dly0 + 32'h12;
| ^
%Warning-ASSIGNDLY: t/t_delay.v:44:18: Ignoring timing control on this assignment/primitive due to --no-timing
: ... In instance t
: ... note: In instance 't'
44 | dly0 <= #(dly_s.dly) 32'h55;
| ^
%Warning-STMTDLY: t/t_delay.v:50:10: Ignoring delay on this statement due to --no-timing
: ... In instance t
: ... note: In instance 't'
50 | #100 $finish;
| ^
%Warning-UNUSEDSIGNAL: t/t_delay.v:23:12: Signal is not used: 'dly_s'
: ... In instance t
: ... note: In instance 't'
23 | dly_s_t dly_s;
| ^~~~~
%Warning-UNUSEDSIGNAL: t/t_delay.v:57:13: Signal is not used: 'delay'
: ... In instance t.sub
: ... note: In instance 't.sub'
57 | realtime delay = 2.3;
| ^~~~~
%Warning-BLKSEQ: t/t_delay.v:43:20: Blocking assignment '=' in sequential logic process

View File

@ -1,5 +1,5 @@
%Warning-MULTIDRIVEN: t/t_dfg_multidriver_dfg_bad.v:13:18: Bits [3:1] of signal 'a' have multiple combinational drivers
: ... In instance t
: ... note: In instance 't'
t/t_dfg_multidriver_dfg_bad.v:14:19: ... Location of first driver
14 | assign a[3:0] = i[3:0];
| ^
@ -10,7 +10,7 @@
... For warning description see https://verilator.org/warn/MULTIDRIVEN?v=latest
... Use "/* verilator lint_off MULTIDRIVEN */" and lint_on around source to disable this message.
%Warning-MULTIDRIVEN: t/t_dfg_multidriver_dfg_bad.v:13:18: Bits [3:3] of signal 'a' have multiple combinational drivers
: ... In instance t
: ... note: In instance 't'
t/t_dfg_multidriver_dfg_bad.v:14:19: ... Location of first driver
14 | assign a[3:0] = i[3:0];
| ^
@ -19,7 +19,7 @@
| ^
t/t_dfg_multidriver_dfg_bad.v:13:18: ... Only the first driver will be respected
%Warning-MULTIDRIVEN: t/t_dfg_multidriver_dfg_bad.v:13:18: Bits [7:6] of signal 'a' have multiple combinational drivers
: ... In instance t
: ... note: In instance 't'
t/t_dfg_multidriver_dfg_bad.v:17:19: ... Location of first driver
17 | assign a[8:5] = i[8:5];
| ^
@ -28,7 +28,7 @@
| ^
t/t_dfg_multidriver_dfg_bad.v:13:18: ... Only the first driver will be respected
%Warning-MULTIDRIVEN: t/t_dfg_multidriver_dfg_bad.v:13:18: Bits [9:9] of signal 'a' have multiple combinational drivers
: ... In instance t
: ... note: In instance 't'
t/t_dfg_multidriver_dfg_bad.v:19:17: ... Location of first driver
19 | assign a[9] = i[9];
| ^

View File

@ -1,11 +1,11 @@
%Warning-WIDTHEXPAND: t/t_dpi_2exparg_bad.v:19:56: Operator NOT expects 64 bits on the LHS, but LHS's VARREF 'i' generates 32 bits.
: ... In instance t.b
: ... note: In instance 't.b'
19 | task dpix_twice(input int i, output [63:0] o); o = ~i; endtask
| ^
... For warning description see https://verilator.org/warn/WIDTHEXPAND?v=latest
... Use "/* verilator lint_off WIDTHEXPAND */" and lint_on around source to disable this message.
%Warning-WIDTHTRUNC: t/t_dpi_2exparg_bad.v:12:53: Operator ASSIGN expects 3 bits on the Assign RHS, but Assign RHS's NOT generates 32 bits.
: ... In instance t.a
: ... note: In instance 't.a'
12 | task dpix_twice(input int i, output [2:0] o); o = ~i; endtask
| ^
%Error: t/t_dpi_2exparg_bad.v:19:9: Duplicate declaration of DPI function with different signature: 'dpix_twice'

View File

@ -1,31 +1,31 @@
%Error-UNSUPPORTED: t/t_dpi_unpack_bad.v:21:20: Shape of the argument does not match the shape of the parameter ('logic[2:0]' v.s. 'logic[3:0]')
: ... In instance t
: ... note: In instance 't'
21 | import_func0(sig0);
| ^~~~
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest
%Warning-WIDTHEXPAND: t/t_dpi_unpack_bad.v:21:7: Operator TASKREF 'import_func0' expects 4 bits on the Function Argument, but Function Argument's VARREF 'sig0' generates 3 bits.
: ... In instance t
: ... note: In instance 't'
21 | import_func0(sig0);
| ^~~~~~~~~~~~
... Use "/* verilator lint_off WIDTHEXPAND */" and lint_on around source to disable this message.
%Error-UNSUPPORTED: t/t_dpi_unpack_bad.v:23:20: Shape of the argument does not match the shape of the parameter ('logic[2:0]$[0:2][0:1]' v.s. 'logic[2:0]$[0:2]')
: ... In instance t
: ... note: In instance 't'
23 | import_func1(sig1);
| ^~~~
%Error-UNSUPPORTED: t/t_dpi_unpack_bad.v:25:20: Shape of the argument does not match the shape of the parameter ('logic[2:0]$[0:2][0:1]' v.s. 'logic[2:0]$[0:2][0:2]')
: ... In instance t
: ... note: In instance 't'
25 | import_func2(sig1);
| ^~~~
%Error-UNSUPPORTED: t/t_dpi_unpack_bad.v:27:20: Shape of the argument does not match the shape of the parameter ('bit[2:0]' v.s. 'logic[2:0]')
: ... In instance t
: ... note: In instance 't'
27 | import_func2(sig2);
| ^~~~
%Error-UNSUPPORTED: t/t_dpi_unpack_bad.v:29:24: Argument is not an unpacked array while parameter 'in' is
: ... In instance t
: ... note: In instance 't'
29 | import_func0(sig0[1]);
| ^
%Warning-WIDTHEXPAND: t/t_dpi_unpack_bad.v:29:7: Operator TASKREF 'import_func0' expects 4 bits on the Function Argument, but Function Argument's ARRAYSEL generates 3 bits.
: ... In instance t
: ... note: In instance 't'
29 | import_func0(sig0[1]);
| ^~~~~~~~~~~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Warning-WIDTHTRUNC: t/t_dynarray_bad.v:15:11: Operator NEWDYNAMIC expects 32 bits on the new() size, but new() size's VARREF 's' generates 64 bits.
: ... In instance t
: ... note: In instance 't'
15 | a = new [s];
| ^~~
... For warning description see https://verilator.org/warn/WIDTHTRUNC?v=latest

View File

@ -1,5 +1,5 @@
%Error: t/t_enum_bad_circdecl.v:11:6: Typedef has self-reference: 'bad_redecl'
: ... In instance t
: ... note: In instance 't'
11 | } bad_redecl;
| ^~~~~~~~~~
t/t_enum_bad_circdecl.v:9:17: ... Location of reference

View File

@ -1,5 +1,5 @@
%Error: t/t_enum_bad_value.v:10:19: Enum value exceeds width of enum type (IEEE 1800-2017 6.19)
: ... In instance t
: ... note: In instance 't'
10 | VALUE_BAD = 8
| ^
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_enum_bad_wrap.v:11:19: Enum value illegally wrapped around (IEEE 1800-2017 6.19)
: ... In instance t
: ... note: In instance 't'
11 | WRAPPED
| ^~~~~~~
%Error: Exiting due to

View File

@ -2,7 +2,7 @@
15 | ELARGE = 160'h1234_4567_abcd_1234_4567_abcd
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%Error-UNSUPPORTED: t/t_enum_huge_methods_bad.v:30:21: Unsupported: enum next/prev/name method on enum with > 64 bits
: ... In instance t
: ... note: In instance 't'
30 | $display(e.name);
| ^~~~
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest

View File

@ -1,5 +1,5 @@
%Error: t/t_enum_overlap_bad.v:12:11: Overlapping enumeration value: 'e1b'
: ... In instance t
: ... note: In instance 't'
12 | e1b=1
| ^~~
t/t_enum_overlap_bad.v:10:11: ... Location of original declaration

View File

@ -1,16 +1,16 @@
%Error-ENUMVALUE: t/t_enum_type_bad.v:28:11: Implicit conversion to enum 't.e_t' from 'logic[31:0]' (IEEE 1800-2017 6.19.3)
: ... In instance t
: ... note: In instance 't'
: ... Suggest use enum's mnemonic, or static cast
28 | e = 1;
| ^
... For error description see https://verilator.org/warn/ENUMVALUE?v=latest
%Error-ENUMVALUE: t/t_enum_type_bad.v:29:11: Implicit conversion to enum 't.o_t' from 't.e_t' (IEEE 1800-2017 6.19.3)
: ... In instance t
: ... note: In instance 't'
: ... Suggest use enum's mnemonic, or static cast
29 | o = e;
| ^
%Error-ENUMVALUE: t/t_enum_type_bad.v:35:15: Implicit conversion to enum 't.o_t' from 'ENUMDTYPE 't.e_t'' (IEEE 1800-2017 6.19.3)
: ... In instance t
: ... note: In instance 't'
: ... Suggest use enum's mnemonic, or static cast
35 | o = str.m_e;
| ^~~

View File

@ -1,5 +1,5 @@
%Error: Internal Error: t/t_enum_type_methods_bad.v:24:14: ../V3Width.cpp:#: Unsupported: enum next/prev with non-const argument
: ... In instance t
: ... note: In instance 't'
24 | e.next(increment);
| ^~~~~~~~~
... See the manual at https://verilator.org/verilator_doc.html for more assistance.

View File

@ -1,5 +1,5 @@
%Error: t/t_enum_type_nomethod_bad.v:15:9: Unknown built-in enum method 'bad_no_such_method'
: ... In instance t
: ... note: In instance 't'
15 | e.bad_no_such_method();
| ^~~~~~~~~~~~~~~~~~
%Error: Exiting due to

View File

@ -1,9 +1,9 @@
%Error: t/t_enum_x_bad.v:9:21: Enum value with X/Zs cannot be assigned to non-fourstate type (IEEE 1800-2017 6.19)
: ... In instance t
: ... note: In instance 't'
9 | enum bit [1:0] { BADX = 2'b1x } BAD1;
| ^~~~
%Error: t/t_enum_x_bad.v:12:23: Enum value that is unassigned cannot follow value with X/Zs (IEEE 1800-2017 6.19)
: ... In instance t
: ... note: In instance 't'
12 | e1
| ^~
%Error: Exiting due to

View File

@ -1,11 +1,11 @@
%Error-NOTIMING: t/t_event_control.v:14:7: Event control statement in this location requires --timing
: ... In instance t
: ... note: In instance 't'
: ... With --no-timing, suggest have one event control statement per procedure, at the top of the procedure
14 | @(clk);
| ^
... For error description see https://verilator.org/warn/NOTIMING?v=latest
%Error-NOTIMING: t/t_event_control.v:16:7: Event control statement in this location requires --timing
: ... In instance t
: ... note: In instance 't'
: ... With --no-timing, suggest have one event control statement per procedure, at the top of the procedure
16 | @(clk);
| ^

View File

@ -3,7 +3,7 @@
| ^~
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest
%Error-UNSUPPORTED: t/t_event_control_expr.v:82:17: Unsupported: function calls in sensitivity lists
: ... In instance t.u_method
: ... note: In instance 't.u_method'
82 | always @(obj.get_k()) begin
| ^~~~~
%Error: Exiting due to

View File

@ -1,10 +1,10 @@
%Error-UNSUPPORTED: t/t_event_copy.v:100:13: Unsupported: assignment of event data type
: ... In instance t
: ... note: In instance 't'
100 | e4 = e3;
| ^
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest
%Error-UNSUPPORTED: t/t_event_copy.v:101:13: Unsupported: assignment of event data type
: ... In instance t
: ... note: In instance 't'
101 | e3 = e2;
| ^
%Error: Exiting due to

View File

@ -1,7 +1,7 @@
%Warning-WIDTHTRUNC: t/t_flag_context_bad.v:9:19: Operator ASSIGNW expects 3 bits on the Assign RHS, but Assign RHS's CONST '5'h1f' generates 5 bits.
: ... In instance t
: ... note: In instance 't'
... For warning description see https://verilator.org/warn/WIDTHTRUNC?v=latest
... Use "/* verilator lint_off WIDTHTRUNC */" and lint_on around source to disable this message.
%Warning-UNUSEDSIGNAL: t/t_flag_context_bad.v:9:15: Signal is not used: 'foo'
: ... In instance t
: ... note: In instance 't'
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_flag_structs_packed.v:14:19: Unpacked data type 'STRUCTDTYPE 'x.notpacked_t'' in packed struct/union (IEEE 1800-2017 7.2.1)
: ... In instance x
: ... note: In instance 'x'
14 | notpacked_t b;
| ^
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Warning-WIDTHTRUNC: t/t_flag_werror.v:10:19: Operator ASSIGNW expects 4 bits on the Assign RHS, but Assign RHS's CONST '6'h2e' generates 6 bits.
: ... In instance t
: ... note: In instance 't'
10 | wire [3:0] foo = 6'h2e;
| ^
... For warning description see https://verilator.org/warn/WIDTHTRUNC?v=latest

View File

@ -1,5 +1,5 @@
%Error-WIDTHTRUNC: t/t_flag_werror.v:10:19: Operator ASSIGNW expects 4 bits on the Assign RHS, but Assign RHS's CONST '6'h2e' generates 6 bits.
: ... In instance t
: ... note: In instance 't'
10 | wire [3:0] foo = 6'h2e;
| ^
... For error description see https://verilator.org/warn/WIDTHTRUNC?v=latest

View File

@ -1,5 +1,5 @@
%Warning-WIDTHTRUNC: t/t_flag_wfatal.v:10:19: Operator ASSIGNW expects 4 bits on the Assign RHS, but Assign RHS's CONST '6'h2e' generates 6 bits.
: ... In instance t
: ... note: In instance 't'
10 | wire [3:0] foo = 6'h2e;
| ^
... For warning description see https://verilator.org/warn/WIDTHTRUNC?v=latest

View File

@ -1,5 +1,5 @@
%Error-UNSUPPORTED: t/t_force_tri.v:27:10: Unsupported tristate construct: ASSIGNFORCE
: ... In instance t
: ... note: In instance 't'
27 | force bus = 4'bzz10;
| ^~~~~
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest

View File

@ -1,5 +1,5 @@
%Error-NOTIMING: t/t_fork.v:10:14: Fork statements require --timing
: ... In instance t
: ... note: In instance 't'
10 | fork : fblk
| ^~~~
... For error description see https://verilator.org/warn/NOTIMING?v=latest

View File

@ -1,10 +1,10 @@
%Error-UNSUPPORTED: t/t_fork_disable.v:16:7: Unsupported: disable fork statements
: ... In instance t
: ... note: In instance 't'
16 | disable fork;
| ^~~~~~~
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest
%Error-UNSUPPORTED: t/t_fork_disable.v:17:7: Unsupported: wait fork statements
: ... In instance t
: ... note: In instance 't'
17 | wait fork;
| ^~~~
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_fork_func2_bad.v:10:7: Only fork .. join_none is legal in functions. (IEEE 1800-2017 13.4.4)
: ... In instance t
: ... note: In instance 't'
10 | fork
| ^~~~
%Error: Exiting due to

View File

@ -1,31 +1,31 @@
%Error: t/t_func_bad.v:9:11: Missing argument on non-defaulted argument 'from2' in function call to FUNC 'add'
: ... In instance t
: ... note: In instance 't'
9 | if (add(3'd1) != 0) $stop;
| ^~~
%Error: t/t_func_bad.v:10:27: Too many arguments in function call to FUNC 'add'
: ... In instance t
: ... note: In instance 't'
10 | if (add(3'd1, 3'd2, 3'd3) != 0) $stop;
| ^~~~
%Error: t/t_func_bad.v:11:7: Missing argument on non-defaulted argument 'y' in function call to TASK 'x'
: ... In instance t
: ... note: In instance 't'
11 | x;
| ^
%Warning-WIDTHTRUNC: t/t_func_bad.v:11:7: Function output argument 'y' requires 1 bits, but connection's CONST '?32?h0' generates 32 bits.
: ... In instance t
: ... note: In instance 't'
11 | x;
| ^
... For warning description see https://verilator.org/warn/WIDTHTRUNC?v=latest
... Use "/* verilator lint_off WIDTHTRUNC */" and lint_on around source to disable this message.
%Error: t/t_func_bad.v:14:17: No such argument 'no_such' in function call to FUNC 'f'
: ... In instance t
: ... note: In instance 't'
14 | f(.j(1), .no_such(2));
| ^~~~~~~
%Error: t/t_func_bad.v:15:19: Duplicate argument 'dup' in function call to FUNC 'f'
: ... In instance t
: ... note: In instance 't'
15 | f(.dup(1), .dup(3));
| ^~~
%Error: t/t_func_bad.v:16:13: Too many arguments in function call to FUNC 'f'
: ... In instance t
: ... note: In instance 't'
16 | f(1,2,3);
| ^
%Error: Exiting due to

View File

@ -1,11 +1,11 @@
%Warning-WIDTHEXPAND: t/t_func_bad_width.v:13:13: Operator FUNCREF 'MUX' expects 40 bits on the Function Argument, but Function Argument's VARREF 'in' generates 39 bits.
: ... In instance t
: ... note: In instance 't'
13 | out = MUX (in);
| ^~~
... For warning description see https://verilator.org/warn/WIDTHEXPAND?v=latest
... Use "/* verilator lint_off WIDTHEXPAND */" and lint_on around source to disable this message.
%Warning-WIDTHTRUNC: t/t_func_bad_width.v:13:11: Operator ASSIGN expects 4 bits on the Assign RHS, but Assign RHS's FUNCREF 'MUX' generates 32 bits.
: ... In instance t
: ... note: In instance 't'
13 | out = MUX (in);
| ^
%Error: Exiting due to

View File

@ -2,12 +2,12 @@
... For warning description see https://verilator.org/warn/USERFATAL?v=latest
... Use "/* verilator lint_off USERFATAL */" and lint_on around source to disable this message.
%Error: t/t_func_const2_bad.v:22:23: Expecting expression to be constant, but can't determine constant for FUNCREF 'f_add2'
: ... In instance t.b8_a7.c9
: ... note: In instance 't.b8_a7.c9'
t/t_func_const2_bad.v:10:6: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_func_const2_bad.v:15:13: ... Called from f_add() with parameters:
t/t_func_const2_bad.v:15:13: ... Called from 'f_add()' with parameters:
a = 32'h7
b = 32'h8
t/t_func_const2_bad.v:22:23: ... Called from f_add2() with parameters:
t/t_func_const2_bad.v:22:23: ... Called from 'f_add2()' with parameters:
a = ?32?h7
b = ?32?h8
c = ?32?h9

View File

@ -1,5 +1,5 @@
%Warning-WIDTHCONCAT: t/t_func_const3_bad.v:12:28: More than a 8k bit replication is probably wrong: 9000
: ... In instance t.b9k.c9
: ... note: In instance 't.b9k.c9'
12 | localparam SOMEP = {BITS{1'b0}};
| ^
... For warning description see https://verilator.org/warn/WIDTHCONCAT?v=latest

View File

@ -1,33 +1,33 @@
%Error: t/t_func_const_bad.v:12:20: Expecting expression to be constant, but can't determine constant for FUNCREF 'f_bad_output'
: ... In instance t
: ... note: In instance 't'
t/t_func_const_bad.v:13:64: ... Location of non-constant VAR 'o': Language violation: Outputs/refs not allowed in constant functions
12 | localparam B1 = f_bad_output(1,2);
| ^~~~~~~~~~~~
%Error: t/t_func_const_bad.v:21:20: Expecting expression to be constant, but can't determine constant for FUNCREF 'f_bad_dotted'
: ... In instance t
: ... note: In instance 't'
t/t_func_const_bad.v:23:24: ... Location of non-constant VARXREF 'EIGHT': Language violation: Dotted hierarchical references not allowed in constant functions
t/t_func_const_bad.v:21:20: ... Called from f_bad_dotted() with parameters:
t/t_func_const_bad.v:21:20: ... Called from 'f_bad_dotted()' with parameters:
a = ?32?h2
21 | localparam B2 = f_bad_dotted(2);
| ^~~~~~~~~~~~
%Error: t/t_func_const_bad.v:28:20: Expecting expression to be constant, but can't determine constant for FUNCREF 'f_bad_nonparam'
: ... In instance t
: ... note: In instance 't'
t/t_func_const_bad.v:30:24: ... Location of non-constant VARREF 'modvar': Language violation: reference to non-function-local variable
t/t_func_const_bad.v:28:20: ... Called from f_bad_nonparam() with parameters:
t/t_func_const_bad.v:28:20: ... Called from 'f_bad_nonparam()' with parameters:
a = ?32?h3
28 | localparam B3 = f_bad_nonparam(3);
| ^~~~~~~~~~~~~~
%Error: t/t_func_const_bad.v:36:20: Expecting expression to be constant, but can't determine constant for FUNCREF 'f_bad_infinite'
: ... In instance t
: ... note: In instance 't'
t/t_func_const_bad.v:38:7: ... Location of non-constant WHILE: Loop unrolling took too long; probably this is an infinite loop, or set --unroll-count above 1024
t/t_func_const_bad.v:36:20: ... Called from f_bad_infinite() with parameters:
t/t_func_const_bad.v:36:20: ... Called from 'f_bad_infinite()' with parameters:
a = ?32?h3
36 | localparam B4 = f_bad_infinite(3);
| ^~~~~~~~~~~~~~
%Error: t/t_func_const_bad.v:44:23: Expecting expression to be constant, but can't determine constant for FUNCREF 'f_bad_stop'
: ... In instance t
: ... note: In instance 't'
t/t_func_const_bad.v:46:7: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_func_const_bad.v:44:23: ... Called from f_bad_stop() with parameters:
t/t_func_const_bad.v:44:23: ... Called from 'f_bad_stop()' with parameters:
a = ?32?h3
44 | localparam BSTOP = f_bad_stop(3);
| ^~~~~~~~~~
@ -38,9 +38,9 @@
... For warning description see https://verilator.org/warn/USERFATAL?v=latest
... Use "/* verilator lint_off USERFATAL */" and lint_on around source to disable this message.
%Error: t/t_func_const_bad.v:50:24: Expecting expression to be constant, but can't determine constant for FUNCREF 'f_bad_fatal'
: ... In instance t
: ... note: In instance 't'
t/t_func_const_bad.v:55:7: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_func_const_bad.v:50:24: ... Called from f_bad_fatal() with parameters:
t/t_func_const_bad.v:50:24: ... Called from 'f_bad_fatal()' with parameters:
a = ?32?h3
50 | localparam BFATAL = f_bad_fatal(3);
| ^~~~~~~~~~~

View File

@ -2,11 +2,11 @@
... For warning description see https://verilator.org/warn/USERFATAL?v=latest
... Use "/* verilator lint_off USERFATAL */" and lint_on around source to disable this message.
%Error: t/t_func_const_packed_array_bad.v:12:21: Expecting expression to be constant, but can't determine constant for FUNCREF 'f_add2'
: ... In instance t
: ... note: In instance 't'
t/t_func_const_packed_array_bad.v:23:9: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_func_const_packed_array_bad.v:31:16: ... Called from f_add() with parameters:
t/t_func_const_packed_array_bad.v:31:16: ... Called from 'f_add()' with parameters:
params = [0 = 32'h7, 1 = 32'h8]
t/t_func_const_packed_array_bad.v:12:21: ... Called from f_add2() with parameters:
t/t_func_const_packed_array_bad.v:12:21: ... Called from 'f_add2()' with parameters:
a = ?32?h7
b = ?32?h8
c = ?32?h9

View File

@ -2,11 +2,11 @@
... For warning description see https://verilator.org/warn/USERFATAL?v=latest
... Use "/* verilator lint_off USERFATAL */" and lint_on around source to disable this message.
%Error: t/t_func_const_packed_struct_bad.v:14:21: Expecting expression to be constant, but can't determine constant for FUNCREF 'f_add2'
: ... In instance t
: ... note: In instance 't'
t/t_func_const_packed_struct_bad.v:25:9: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_func_const_packed_struct_bad.v:33:16: ... Called from f_add() with parameters:
t/t_func_const_packed_struct_bad.v:33:16: ... Called from 'f_add()' with parameters:
params = [0 = '{a: 32'h7, b: 32'h22b}, 1 = '{a: 32'h3039, b: 32'h8}]
t/t_func_const_packed_struct_bad.v:14:21: ... Called from f_add2() with parameters:
t/t_func_const_packed_struct_bad.v:14:21: ... Called from 'f_add2()' with parameters:
a = ?32?h7
b = ?32?h8
c = ?32?h9

View File

@ -2,11 +2,11 @@
... For warning description see https://verilator.org/warn/USERFATAL?v=latest
... Use "/* verilator lint_off USERFATAL */" and lint_on around source to disable this message.
%Error: t/t_func_const_packed_struct_bad2.v:20:21: Expecting expression to be constant, but can't determine constant for FUNCREF 'f_add2'
: ... In instance t
: ... note: In instance 't'
t/t_func_const_packed_struct_bad2.v:31:9: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_func_const_packed_struct_bad2.v:43:16: ... Called from f_add() with parameters:
t/t_func_const_packed_struct_bad2.v:43:16: ... Called from 'f_add()' with parameters:
params = [0 = '{a: 32'h7, foo: 6'hb, sub_params: '{b: 32'h37, bar: 8'h6f}}, 1 = '{a: 32'h3039, foo: 6'hc, sub_params: '{b: 32'h8, bar: 8'h70}}]
t/t_func_const_packed_struct_bad2.v:20:21: ... Called from f_add2() with parameters:
t/t_func_const_packed_struct_bad2.v:20:21: ... Called from 'f_add2()' with parameters:
a = ?32?h7
b = ?32?h8
c = ?32?h9

View File

@ -2,11 +2,11 @@
... For warning description see https://verilator.org/warn/USERFATAL?v=latest
... Use "/* verilator lint_off USERFATAL */" and lint_on around source to disable this message.
%Error: t/t_func_const_struct_bad.v:17:21: Expecting expression to be constant, but can't determine constant for FUNCREF 'f_add2'
: ... In instance t
: ... note: In instance 't'
t/t_func_const_struct_bad.v:28:9: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_func_const_struct_bad.v:38:16: ... Called from f_add() with parameters:
t/t_func_const_struct_bad.v:38:16: ... Called from 'f_add()' with parameters:
params = '{a: 32'h7, b: 32'h8}
t/t_func_const_struct_bad.v:17:21: ... Called from f_add2() with parameters:
t/t_func_const_struct_bad.v:17:21: ... Called from 'f_add2()' with parameters:
a = ?32?h7
b = ?32?h8
c = ?32?h9

View File

@ -1,10 +1,10 @@
%Error: t/t_func_recurse_param.v:15:26: Expecting expression to be constant, but can't determine constant for FUNCREF 'recurse_self'
: ... In instance t
: ... note: In instance 't'
t/t_func_recurse_param.v:9:27: ... Location of non-constant FUNC 'recurse_self': Unsupported: Recursive constant functions
15 | localparam int ZERO = recurse_self(0);
| ^~~~~~~~~~~~
%Error: t/t_func_recurse_param.v:16:28: Expecting expression to be constant, but can't determine constant for FUNCREF 'recurse_self'
: ... In instance t
: ... note: In instance 't'
t/t_func_recurse_param.v:9:27: ... Location of non-constant FUNC 'recurse_self': Unsupported: Recursive constant functions
16 | localparam int ELEVEN = recurse_self(3);
| ^~~~~~~~~~~~

View File

@ -1,5 +1,5 @@
%Error: t/t_func_recurse_param_bad.v:15:26: Expecting expression to be constant, but can't determine constant for FUNCREF 'recurse_self'
: ... In instance t
: ... note: In instance 't'
t/t_func_recurse_param_bad.v:9:27: ... Location of non-constant FUNC 'recurse_self': Unsupported: Recursive constant functions
15 | localparam int HUGE = recurse_self(10000);
| ^~~~~~~~~~~~

View File

@ -1,5 +1,5 @@
%Error: t/t_func_refio_bad.v:16:17: Ref argument requires matching types; port 'q' requires integer[$] but connection is logic[31:0].
: ... In instance t
: ... note: In instance 't'
16 | queue_set(42);
| ^~
%Error: Exiting due to

View File

@ -1,83 +1,83 @@
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:76:27: Function output argument 'value' requires 12 bits, but connection's VARREF 'ds70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
76 | Cls#(s12_t)::get(ds70);
| ^~~~
... For warning description see https://verilator.org/warn/WIDTHTRUNC?v=latest
... Use "/* verilator lint_off WIDTHTRUNC */" and lint_on around source to disable this message.
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:76:23: Operator TASKREF 'get' expects 12 bits on the Function Argument, but Function Argument's VARREF 'ds70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
76 | Cls#(s12_t)::get(ds70);
| ^~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:79:27: Function output argument 'value' requires 12 bits, but connection's VARREF 'ds70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
79 | Cls#(s12_t)::get(ds70);
| ^~~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:79:23: Operator TASKREF 'get' expects 12 bits on the Function Argument, but Function Argument's VARREF 'ds70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
79 | Cls#(s12_t)::get(ds70);
| ^~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:83:27: Function output argument 'value' requires 12 bits, but connection's VARREF 'du70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
83 | Cls#(u12_t)::get(du70);
| ^~~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:83:23: Operator TASKREF 'get' expects 12 bits on the Function Argument, but Function Argument's VARREF 'du70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
83 | Cls#(u12_t)::get(du70);
| ^~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:86:27: Function output argument 'value' requires 12 bits, but connection's VARREF 'du70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
86 | Cls#(u12_t)::get(du70);
| ^~~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:86:23: Operator TASKREF 'get' expects 12 bits on the Function Argument, but Function Argument's VARREF 'du70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
86 | Cls#(u12_t)::get(du70);
| ^~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:108:10: Operator TASKREF 'dpii_inv_s12' expects 12 bits on the Function Argument, but Function Argument's VARREF 'ds70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
108 | dpii_inv_s12(ds70, qs70);
| ^~~~~~~~~~~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:108:29: Function output argument 'out' requires 12 bits, but connection's VARREF 'qs70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
108 | dpii_inv_s12(ds70, qs70);
| ^~~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:108:10: Operator TASKREF 'dpii_inv_s12' expects 12 bits on the Function Argument, but Function Argument's VARREF 'qs70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
108 | dpii_inv_s12(ds70, qs70);
| ^~~~~~~~~~~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:111:10: Operator TASKREF 'dpii_inv_s12' expects 12 bits on the Function Argument, but Function Argument's VARREF 'ds70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
111 | dpii_inv_s12(ds70, qs70);
| ^~~~~~~~~~~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:111:29: Function output argument 'out' requires 12 bits, but connection's VARREF 'qs70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
111 | dpii_inv_s12(ds70, qs70);
| ^~~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:111:10: Operator TASKREF 'dpii_inv_s12' expects 12 bits on the Function Argument, but Function Argument's VARREF 'qs70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
111 | dpii_inv_s12(ds70, qs70);
| ^~~~~~~~~~~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:115:10: Operator TASKREF 'dpii_inv_u12' expects 12 bits on the Function Argument, but Function Argument's VARREF 'du70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
115 | dpii_inv_u12(du70, qu70);
| ^~~~~~~~~~~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:115:29: Function output argument 'out' requires 12 bits, but connection's VARREF 'qu70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
115 | dpii_inv_u12(du70, qu70);
| ^~~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:115:10: Operator TASKREF 'dpii_inv_u12' expects 12 bits on the Function Argument, but Function Argument's VARREF 'qu70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
115 | dpii_inv_u12(du70, qu70);
| ^~~~~~~~~~~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:118:10: Operator TASKREF 'dpii_inv_u12' expects 12 bits on the Function Argument, but Function Argument's VARREF 'du70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
118 | dpii_inv_u12(du70, qu70);
| ^~~~~~~~~~~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:118:29: Function output argument 'out' requires 12 bits, but connection's VARREF 'qu70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
118 | dpii_inv_u12(du70, qu70);
| ^~~~
%Warning-WIDTHTRUNC: t/t_func_wide_out.v:118:10: Operator TASKREF 'dpii_inv_u12' expects 12 bits on the Function Argument, but Function Argument's VARREF 'qu70' generates 70 bits.
: ... In instance t
: ... note: In instance 't'
118 | dpii_inv_u12(du70, qu70);
| ^~~~~~~~~~~~
%Error: Exiting due to

View File

@ -1,10 +1,10 @@
%Error-UNSUPPORTED: t/t_fuzz_triand_bad.v:8:12: Unsupported: Member call on object 'VARREF 'g'' which is a 'BASICDTYPE 'logic''
: ... In instance t
: ... note: In instance 't'
8 | tri g=g.and.g;
| ^~~
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest
%Error: Internal Error: t/t_fuzz_triand_bad.v:8:12: ../V3Width.cpp:#: Unlinked data type
: ... In instance t
: ... note: In instance 't'
8 | tri g=g.and.g;
| ^~~
... See the manual at https://verilator.org/verilator_doc.html for more assistance.

View File

@ -1,19 +1,19 @@
%Warning-SELRANGE: t/t_gen_cond_bitrange_bad.v:58:38: Selection index out of range: 2:2 outside 1:0
: ... In instance t.i_test_gen
: ... note: In instance 't.i_test_gen'
58 | if ((g < (SIZE + 1)) && MASK[g]) begin
| ^
... For warning description see https://verilator.org/warn/SELRANGE?v=latest
... Use "/* verilator lint_off SELRANGE */" and lint_on around source to disable this message.
%Warning-SELRANGE: t/t_gen_cond_bitrange_bad.v:70:32: Selection index out of range: 2:2 outside 1:0
: ... In instance t.i_test_gen
: ... note: In instance 't.i_test_gen'
70 | if ((g < SIZE) && MASK[g + 1]) begin
| ^
%Warning-SELRANGE: t/t_gen_cond_bitrange_bad.v:83:33: Selection index out of range: 2:2 outside 1:0
: ... In instance t.i_test_gen
: ... note: In instance 't.i_test_gen'
83 | if ((g < (SIZE)) & MASK[g]) begin
| ^
%Warning-SELRANGE: t/t_gen_cond_bitrange_bad.v:96:35: Selection index out of range: 2:2 outside 1:0
: ... In instance t.i_test_gen
: ... note: In instance 't.i_test_gen'
96 | if (!((g >= SIZE) | ~MASK[g])) begin
| ^
%Error: Exiting due to

View File

@ -1,17 +1,17 @@
%Error: t/t_gen_missing_bad2.v:8:8: Expecting expression to be constant, but can't convert a TESTPLUSARGS to constant.
: ... In instance t
: ... note: In instance 't'
8 | if ($test$plusargs("BAD-non-constant")) begin
| ^~~~~~~~~~~~~~
%Error: t/t_gen_missing_bad2.v:8:8: Generate If condition must evaluate to constant
: ... In instance t
: ... note: In instance 't'
8 | if ($test$plusargs("BAD-non-constant")) begin
| ^~~~~~~~~~~~~~
%Error: t/t_gen_missing_bad2.v:12:7: Expecting expression to be constant, but can't convert a TESTPLUSARGS to constant.
: ... In instance t
: ... note: In instance 't'
12 | $test$plusargs("BAD-non-constant"): initial $stop;
| ^~~~~~~~~~~~~~
%Error: t/t_gen_missing_bad2.v:12:41: Generate Case item does not evaluate to constant
: ... In instance t
: ... note: In instance 't'
12 | $test$plusargs("BAD-non-constant"): initial $stop;
| ^
%Error: Exiting due to

View File

@ -1,5 +1,5 @@
%Error: t/t_gen_var_bad.v:10:7: Non-genvar used in generate for: 'i'
: ... In instance t
: ... note: In instance 't'
10 | for (i=0; i<3; i=i+1) begin
| ^~~
%Error: Exiting due to

View File

@ -2,86 +2,86 @@
... For warning description see https://verilator.org/warn/USERFATAL?v=latest
... Use "/* verilator lint_off USERFATAL */" and lint_on around source to disable this message.
%Error: t/t_generate_fatal_bad.v:13:29: Expecting expression to be constant, but can't determine constant for FUNCREF 'get_baz'
: ... In instance t.nested_loop[10].foo2_inst.foo2_loop[1].foo_in_foo2_inst
: ... note: In instance 't.nested_loop[10].foo2_inst.foo2_loop[1].foo_in_foo2_inst'
t/t_generate_fatal_bad.v:9:4: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_generate_fatal_bad.v:13:29: ... Called from get_baz() with parameters:
t/t_generate_fatal_bad.v:13:29: ... Called from 'get_baz()' with parameters:
bar = ?32?h0
13 | localparam integer BAZ = get_baz(BAR);
| ^~~~~~~
%Error: t/t_generate_fatal_bad.v:13:29: Expecting expression to be constant, but can't determine constant for FUNCREF 'get_baz'
: ... In instance t.genloop[1].foo_inst
: ... note: In instance 't.genloop[1].foo_inst'
t/t_generate_fatal_bad.v:9:4: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_generate_fatal_bad.v:13:29: ... Called from get_baz() with parameters:
t/t_generate_fatal_bad.v:13:29: ... Called from 'get_baz()' with parameters:
bar = ?32?h1
13 | localparam integer BAZ = get_baz(BAR);
| ^~~~~~~
%Error: t/t_generate_fatal_bad.v:13:29: Expecting expression to be constant, but can't determine constant for FUNCREF 'get_baz'
: ... In instance t.gen_l1[2].gen_l2[0].foo_inst2
: ... note: In instance 't.gen_l1[2].gen_l2[0].foo_inst2'
t/t_generate_fatal_bad.v:9:4: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_generate_fatal_bad.v:13:29: ... Called from get_baz() with parameters:
t/t_generate_fatal_bad.v:13:29: ... Called from 'get_baz()' with parameters:
bar = 32'h2
13 | localparam integer BAZ = get_baz(BAR);
| ^~~~~~~
%Error: t/t_generate_fatal_bad.v:13:29: Expecting expression to be constant, but can't determine constant for FUNCREF 'get_baz'
: ... In instance t.gen_l1[2].gen_l2[1].foo_inst2
: ... note: In instance 't.gen_l1[2].gen_l2[1].foo_inst2'
t/t_generate_fatal_bad.v:9:4: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_generate_fatal_bad.v:13:29: ... Called from get_baz() with parameters:
t/t_generate_fatal_bad.v:13:29: ... Called from 'get_baz()' with parameters:
bar = 32'h4
13 | localparam integer BAZ = get_baz(BAR);
| ^~~~~~~
%Error: t/t_generate_fatal_bad.v:13:29: Expecting expression to be constant, but can't determine constant for FUNCREF 'get_baz'
: ... In instance t.gen_l1[3].gen_l2[0].foo_inst2
: ... note: In instance 't.gen_l1[3].gen_l2[0].foo_inst2'
t/t_generate_fatal_bad.v:9:4: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_generate_fatal_bad.v:13:29: ... Called from get_baz() with parameters:
t/t_generate_fatal_bad.v:13:29: ... Called from 'get_baz()' with parameters:
bar = 32'h3
13 | localparam integer BAZ = get_baz(BAR);
| ^~~~~~~
%Error: t/t_generate_fatal_bad.v:13:29: Expecting expression to be constant, but can't determine constant for FUNCREF 'get_baz'
: ... In instance t.gen_l1[3].gen_l2[1].foo_inst2
: ... note: In instance 't.gen_l1[3].gen_l2[1].foo_inst2'
t/t_generate_fatal_bad.v:9:4: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_generate_fatal_bad.v:13:29: ... Called from get_baz() with parameters:
t/t_generate_fatal_bad.v:13:29: ... Called from 'get_baz()' with parameters:
bar = 32'h5
13 | localparam integer BAZ = get_baz(BAR);
| ^~~~~~~
%Error: t/t_generate_fatal_bad.v:13:29: Expecting expression to be constant, but can't determine constant for FUNCREF 'get_baz'
: ... In instance t.cond_true.foo_inst3
: ... note: In instance 't.cond_true.foo_inst3'
t/t_generate_fatal_bad.v:9:4: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_generate_fatal_bad.v:13:29: ... Called from get_baz() with parameters:
t/t_generate_fatal_bad.v:13:29: ... Called from 'get_baz()' with parameters:
bar = ?32?h6
13 | localparam integer BAZ = get_baz(BAR);
| ^~~~~~~
%Error: t/t_generate_fatal_bad.v:13:29: Expecting expression to be constant, but can't determine constant for FUNCREF 'get_baz'
: ... In instance t.genblk4.foo_inst4
: ... note: In instance 't.genblk4.foo_inst4'
t/t_generate_fatal_bad.v:9:4: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_generate_fatal_bad.v:13:29: ... Called from get_baz() with parameters:
t/t_generate_fatal_bad.v:13:29: ... Called from 'get_baz()' with parameters:
bar = ?32?h7
13 | localparam integer BAZ = get_baz(BAR);
| ^~~~~~~
%Error: t/t_generate_fatal_bad.v:13:29: Expecting expression to be constant, but can't determine constant for FUNCREF 'get_baz'
: ... In instance t.nested_loop[8].foo2_inst.foo2_loop[0].foo_in_foo2_inst
: ... note: In instance 't.nested_loop[8].foo2_inst.foo2_loop[0].foo_in_foo2_inst'
t/t_generate_fatal_bad.v:9:4: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_generate_fatal_bad.v:13:29: ... Called from get_baz() with parameters:
t/t_generate_fatal_bad.v:13:29: ... Called from 'get_baz()' with parameters:
bar = 32'h8
13 | localparam integer BAZ = get_baz(BAR);
| ^~~~~~~
%Error: t/t_generate_fatal_bad.v:13:29: Expecting expression to be constant, but can't determine constant for FUNCREF 'get_baz'
: ... In instance t.nested_loop[8].foo2_inst.foo2_loop[1].foo_in_foo2_inst
: ... note: In instance 't.nested_loop[8].foo2_inst.foo2_loop[1].foo_in_foo2_inst'
t/t_generate_fatal_bad.v:9:4: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_generate_fatal_bad.v:13:29: ... Called from get_baz() with parameters:
t/t_generate_fatal_bad.v:13:29: ... Called from 'get_baz()' with parameters:
bar = 32'h9
13 | localparam integer BAZ = get_baz(BAR);
| ^~~~~~~
%Error: t/t_generate_fatal_bad.v:13:29: Expecting expression to be constant, but can't determine constant for FUNCREF 'get_baz'
: ... In instance t.nested_loop[10].foo2_inst.foo2_loop[0].foo_in_foo2_inst
: ... note: In instance 't.nested_loop[10].foo2_inst.foo2_loop[0].foo_in_foo2_inst'
t/t_generate_fatal_bad.v:9:4: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_generate_fatal_bad.v:13:29: ... Called from get_baz() with parameters:
t/t_generate_fatal_bad.v:13:29: ... Called from 'get_baz()' with parameters:
bar = 32'ha
13 | localparam integer BAZ = get_baz(BAR);
| ^~~~~~~
%Error: t/t_generate_fatal_bad.v:13:29: Expecting expression to be constant, but can't determine constant for FUNCREF 'get_baz'
: ... In instance t.nested_loop[10].foo2_inst.foo2_loop[1].foo_in_foo2_inst
: ... note: In instance 't.nested_loop[10].foo2_inst.foo2_loop[1].foo_in_foo2_inst'
t/t_generate_fatal_bad.v:9:4: ... Location of non-constant STOP: $stop executed during function constification; maybe indicates assertion firing
t/t_generate_fatal_bad.v:13:29: ... Called from get_baz() with parameters:
t/t_generate_fatal_bad.v:13:29: ... Called from 'get_baz()' with parameters:
bar = 32'hb
13 | localparam integer BAZ = get_baz(BAR);
| ^~~~~~~

View File

@ -1,9 +1,9 @@
%Error: t/t_hier_block0_bad.v:21:11: 'sub0' has hier_block metacomment, hierarchical Verilation supports only integer/floating point/string parameters
: ... In instance t
: ... note: In instance 't'
21 | sub0 #(UNPACKED) i_sub0(.clk(clk), .in(8'(count)), .out(out0));
| ^~~~~~~~
%Error: t/t_hier_block0_bad.v:23:12: 'sub1' has hier_block metacomment, but 'parameter type' is not supported
: ... In instance t
: ... note: In instance 't'
23 | sub1 #(.T(logic[7:0])) i_sub1(.in(out0), .out(out1));
| ^
%Error: t/t_hier_block0_bad.v:27:42: Cannot access inside hierarchical block

Some files were not shown because too many files have changed in this diff Show More