Support concat selection (#2721).

This commit is contained in:
Wilson Snyder 2021-02-17 23:03:47 -05:00
parent d559190e9e
commit 22e299e78e
4 changed files with 5 additions and 50 deletions

View File

@ -5,6 +5,8 @@ The contributors that suggested a given feature are shown in []. Thanks!
* Verilator 4.109 devel
**** Support concat selection (#2721).
**** Fix TIMESCALE warnings on primitives (#2763). [Xuanqi]
**** Fix $fread extra semicolon inside statements. [Leendert van Doorn]

View File

@ -235,11 +235,9 @@ private:
fromp->cloneTree(false)));
} else if (VN_IS(basefromp, Replicate)) {
// From {...}[...] syntax in IEEE 2017
if (basefromp) { UINFO(1, " Related node: " << basefromp << endl); }
nodep->v3warn(E_UNSUPPORTED, "Unsupported: Select of concatenation");
nodep = nullptr;
if (basefromp) UINFO(1, " Related node: " << basefromp << endl);
} else {
if (basefromp) { UINFO(1, " Related node: " << basefromp << endl); }
if (basefromp) UINFO(1, " Related node: " << basefromp << endl);
nodep->v3fatalSrc("Illegal bit select; no signal/member being extracted from");
}
}

View File

@ -1,43 +0,0 @@
%Error-UNSUPPORTED: t/t_concat_sel.v:22:28: Unsupported: Select of concatenation
22 | wire [3:0] out1 = {a,b}[2 +: 4];
| ^
%Error-UNSUPPORTED: t/t_concat_sel.v:23:28: Unsupported: Select of concatenation
23 | wire [3:0] out2 = {a,b}[5 -: 4];
| ^
%Error-UNSUPPORTED: t/t_concat_sel.v:24:28: Unsupported: Select of concatenation
24 | wire [3:0] out3 = {a,b}[5 : 2];
| ^
%Error-UNSUPPORTED: t/t_concat_sel.v:25:28: Unsupported: Select of concatenation
25 | wire [0:0] out4 = {a,b}[2];
| ^
%Error-UNSUPPORTED: t/t_concat_sel.v:31:21: Unsupported: Select of concatenation
31 | if ({16'h1234}[0] != 1'b0) $stop;
| ^
%Error-UNSUPPORTED: t/t_concat_sel.v:32:21: Unsupported: Select of concatenation
32 | if ({16'h1234}[2] != 1'b1) $stop;
| ^
%Error-UNSUPPORTED: t/t_concat_sel.v:33:21: Unsupported: Select of concatenation
33 | if ({16'h1234}[11:4] != 8'h23) $stop;
| ^
%Error-UNSUPPORTED: t/t_concat_sel.v:34:21: Unsupported: Select of concatenation
34 | if ({16'h1234}[4+:8] != 8'h23) $stop;
| ^
%Error-UNSUPPORTED: t/t_concat_sel.v:35:21: Unsupported: Select of concatenation
35 | if ({16'h1234}[11-:8] != 8'h23) $stop;
| ^
%Error-UNSUPPORTED: t/t_concat_sel.v:36:25: Unsupported: Select of concatenation
36 | if ({8'h12, 8'h34}[0] != 1'b0) $stop;
| ^
%Error-UNSUPPORTED: t/t_concat_sel.v:37:25: Unsupported: Select of concatenation
37 | if ({8'h12, 8'h34}[2] != 1'b1) $stop;
| ^
%Error-UNSUPPORTED: t/t_concat_sel.v:38:25: Unsupported: Select of concatenation
38 | if ({8'h12, 8'h34}[11:4] != 8'h23) $stop;
| ^
%Error-UNSUPPORTED: t/t_concat_sel.v:39:25: Unsupported: Select of concatenation
39 | if ({8'h12, 8'h34}[4+:8] != 8'h23) $stop;
| ^
%Error-UNSUPPORTED: t/t_concat_sel.v:40:25: Unsupported: Select of concatenation
40 | if ({8'h12, 8'h34}[11-:8] != 8'h23) $stop;
| ^
%Error: Exiting due to

View File

@ -11,13 +11,11 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
scenarios(simulator => 1);
compile(
fails => $Self->{vlt_all},
expect_filename => $Self->{golden_filename},
);
execute(
check_finished => 1,
) if !$Self->{vlt_all};
);
ok(1);
1;