Fix false WIDTHCONCAT on casted constant (#2849).
This commit is contained in:
parent
2e158d88c1
commit
7ea014dab5
1
Changes
1
Changes
|
|
@ -24,6 +24,7 @@ Verilator 4.201 devel
|
||||||
* Fix --timescale-override not suppressing TIMESCALEMOD (#2838). [Kaleb Barrett]
|
* Fix --timescale-override not suppressing TIMESCALEMOD (#2838). [Kaleb Barrett]
|
||||||
* Fix false TIMESCALEMOD on generate-ignored instances (#2838). [Kaleb Barrett]
|
* Fix false TIMESCALEMOD on generate-ignored instances (#2838). [Kaleb Barrett]
|
||||||
* Fix --output-split with class extends (#2839). [Iru Cai]
|
* Fix --output-split with class extends (#2839). [Iru Cai]
|
||||||
|
* Fix false WIDTHCONCAT on casted constant (#2849). [Rupert Swarbrick]
|
||||||
|
|
||||||
|
|
||||||
Verilator 4.200 2021-03-12
|
Verilator 4.200 2021-03-12
|
||||||
|
|
|
||||||
|
|
@ -1821,6 +1821,7 @@ private:
|
||||||
if (m_vup->final()) {
|
if (m_vup->final()) {
|
||||||
// CastSize not needed once sizes determined
|
// CastSize not needed once sizes determined
|
||||||
AstNode* underp = nodep->lhsp()->unlinkFrBack();
|
AstNode* underp = nodep->lhsp()->unlinkFrBack();
|
||||||
|
underp->dtypeFrom(nodep);
|
||||||
nodep->replaceWith(underp);
|
nodep->replaceWith(underp);
|
||||||
VL_DO_DANGLING(pushDeletep(nodep), nodep);
|
VL_DO_DANGLING(pushDeletep(nodep), nodep);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,10 @@ module t;
|
||||||
(27'(coeff1 * samp1) >>> 11) +
|
(27'(coeff1 * samp1) >>> 11) +
|
||||||
(27'(coeff2 * samp2) >>> 11)); // 15' size casting to avoid synthesis/simulator warnings
|
(27'(coeff2 * samp2) >>> 11)); // 15' size casting to avoid synthesis/simulator warnings
|
||||||
|
|
||||||
|
logic one = 1'b1;
|
||||||
|
logic [32:0] b33 = {32'(0), one};
|
||||||
|
logic [31:0] b32 = {31'(0), one};
|
||||||
|
|
||||||
initial begin
|
initial begin
|
||||||
if (logic8bit != 8'h12) $stop;
|
if (logic8bit != 8'h12) $stop;
|
||||||
if (4'shf > 4'sh0) $stop;
|
if (4'shf > 4'sh0) $stop;
|
||||||
|
|
@ -79,6 +83,9 @@ module t;
|
||||||
if (27'h7ffecec != mida) $stop;
|
if (27'h7ffecec != mida) $stop;
|
||||||
if (27'h7ffecec != midb) $stop;
|
if (27'h7ffecec != midb) $stop;
|
||||||
|
|
||||||
|
if (b33 != 33'b1) $stop;
|
||||||
|
if (b32 != 32'b1) $stop;
|
||||||
|
|
||||||
$write("*-* All Finished *-*\n");
|
$write("*-* All Finished *-*\n");
|
||||||
$finish;
|
$finish;
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue