Tests: Fix commentary to unify issue references.

This commit is contained in:
Wilson Snyder 2023-09-15 18:12:11 -04:00
parent 10c1653e72
commit c52ba28dd0
35 changed files with 43 additions and 43 deletions

View File

@ -2317,7 +2317,7 @@ void AstCAwait::dump(std::ostream& str) const {
int AstCMethodHard::instrCount() const { int AstCMethodHard::instrCount() const {
if (AstBasicDType* const basicp = fromp()->dtypep()->basicp()) { if (AstBasicDType* const basicp = fromp()->dtypep()->basicp()) {
// TODO: add a more structured description of library methods, rather than using string // TODO: add a more structured description of library methods, rather than using string
// matching. See #3715. // matching. See issue #3715.
if (basicp->isTriggerVec() && m_name == "word") { if (basicp->isTriggerVec() && m_name == "word") {
// This is an important special case for scheduling so we compute it precisely, // This is an important special case for scheduling so we compute it precisely,
// it is simply a load. // it is simply a load.

View File

@ -102,7 +102,7 @@ class V3Global final {
bool m_assertDTypesResolved = false; // Tree should have dtypep()'s bool m_assertDTypesResolved = false; // Tree should have dtypep()'s
bool m_assertScoped = false; // Tree is scoped bool m_assertScoped = false; // Tree is scoped
bool m_constRemoveXs = false; // Const needs to strip any Xs bool m_constRemoveXs = false; // Const needs to strip any Xs
// Experimenting with always requiring heavy, see (#2701) // Experimenting with always requiring heavy, see issue #2701
bool m_needTraceDumper = false; // Need __Vm_dumperp in symbols bool m_needTraceDumper = false; // Need __Vm_dumperp in symbols
bool m_dpi = false; // Need __Dpi include files bool m_dpi = false; // Need __Dpi include files
bool m_hasEvents = false; // Design uses SystemVerilog named events bool m_hasEvents = false; // Design uses SystemVerilog named events

View File

@ -1974,7 +1974,7 @@ private:
} }
// Not: Find all reader tasks for this variable, group by rank. // Not: Find all reader tasks for this variable, group by rank.
// There was "broken" code here to find readers, but fixing it to // There was "broken" code here to find readers, but fixing it to
// work properly harmed performance on some tests, see #3360. // work properly harmed performance on some tests, see issue #3360.
} }
void mergeSameRankTasks(const TasksByRank& tasksByRank) { void mergeSameRankTasks(const TasksByRank& tasksByRank) {
LogicMTask* lastRecipientp = nullptr; LogicMTask* lastRecipientp = nullptr;

View File

@ -1,6 +1,6 @@
// DESCRIPTION: Verilator: Test of select from constant // DESCRIPTION: Verilator: Test of select from constant
// //
// This tests issue 508, bit select of constant fails // This tests issue #508, bit select of constant fails
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2012 by Jeremy Bennett. // without warranty, 2012 by Jeremy Bennett.

View File

@ -1,6 +1,6 @@
// DESCRIPTION: Verilator: Test of select from constant // DESCRIPTION: Verilator: Test of select from constant
// //
// This tests issue 509, bit select of constant fails // This tests issue #509, bit select of constant fails
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2012 by Jeremy Bennett. // without warranty, 2012 by Jeremy Bennett.

View File

@ -1,6 +1,6 @@
// DESCRIPTION: Verilator: Check initialisation of cloned clock variables // DESCRIPTION: Verilator: Check initialisation of cloned clock variables
// //
// This tests issue 1327 (Strange initialisation behaviour with // This tests issue #1327 (Strange initialisation behaviour with
// "VinpClk" cloned clock variables) // "VinpClk" cloned clock variables)
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,

View File

@ -166,14 +166,14 @@ module bug3197(input wire clk, input wire [31:0] in, output out);
endmodule endmodule
// Bug #3445 // See issue #3445
// An unoptimized node is kept as frozen node, but its LSB and polarity were not saved. // An unoptimized node is kept as frozen node, but its LSB and polarity were not saved.
// AST of RHS of result0 looks as below: // AST of RHS of result0 looks as below:
// AND(SHIFTR(AND(WORDSEL(ARRAYSEL(VARREF)), WORDSEL(ARRAYSEL(VARREF)))), 32'd11) // AND(SHIFTR(AND(WORDSEL(ARRAYSEL(VARREF)), WORDSEL(ARRAYSEL(VARREF)))), 32'd11)
// ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
// Two of WORDSELs are frozen nodes. They are under SHIFTR of 11 bits. // Two of WORDSELs are frozen nodes. They are under SHIFTR of 11 bits.
// //
// Fixing #3445 needs to // Fixing issue #3445 needs to
// 1. Take AstShiftR and AstNot into op count when diciding optimizable or not // 1. Take AstShiftR and AstNot into op count when diciding optimizable or not
// (result0 and result2 in the test) // (result0 and result2 in the test)
// 2. Insert AstShiftR if LSB of the frozen node is not 0 (result1 in the test) // 2. Insert AstShiftR if LSB of the frozen node is not 0 (result1 in the test)
@ -368,10 +368,10 @@ module bug3824(input wire clk, input wire [31:0] in, output wire out);
assign out = d_and ^ d_or ^ d_xor; assign out = d_and ^ d_or ^ d_xor;
endmodule endmodule
/// Bug4059 /// See issue #4059
// Frozen node in an xor tree held unnecessary poloarity. // Frozen node in an xor tree held unnecessary poloarity.
// In an XOR tree, the entire result is flipped if necessary according to // In an XOR tree, the entire result is flipped if necessary according to
// total polarity. This bug was introduced when fixing #3445. // total polarity. This bug was introduced when fixing issue #3445.
module bug4059(input wire clk, input wire [31:0] in, output wire out); module bug4059(input wire clk, input wire [31:0] in, output wire out);
wire [127:0] words_i; wire [127:0] words_i;
for (genvar i = 0; i < $bits(in); ++i) begin for (genvar i = 0; i < $bits(in); ++i) begin

View File

@ -13,7 +13,7 @@ localparam int unsigned A3 [2:0] = '{4,5,6};
localparam int unsigned B22 [1:0] = A2[1:0]; localparam int unsigned B22 [1:0] = A2[1:0];
localparam int unsigned B33 [2:0] = A3[2:0]; localparam int unsigned B33 [2:0] = A3[2:0];
// bug #3186 // See issue #3186
localparam int unsigned B32_B [1:0] = A3[1:0]; localparam int unsigned B32_B [1:0] = A3[1:0];
localparam int unsigned B32_T [1:0] = A3[2:1]; localparam int unsigned B32_T [1:0] = A3[2:1];

View File

@ -42,7 +42,7 @@ module t (/*AUTOARG*/
else if (cyc == 4) begin else if (cyc == 4) begin
dly_s.dly = 55; dly_s.dly = 55;
dly0 <= #(dly_s.dly) 32'h55; dly0 <= #(dly_s.dly) 32'h55;
//dly0 <= # dly_s.dly 32'h55; // Unsupported, issue-2410 //dly0 <= # dly_s.dly 32'h55; // Unsupported, issue #2410
end end
else if (cyc == 99) begin else if (cyc == 99) begin
if (dly3 !== 32'h57) $stop; if (dly3 !== 32'h57) $stop;

View File

@ -13,11 +13,11 @@ scenarios(simulator => 1);
compile( compile(
verilator_flags2 => ["--exe --main --timing"], verilator_flags2 => ["--exe --main --timing"],
make_main => 0, make_main => 0,
# bug#4471 - remove this # issue #4471 - remove this
verilator_make_gmake => 0, verilator_make_gmake => 0,
); );
#bug#4471 - add this # issue #4471 - add this
#execute( #execute(
# check_finished => 1, # check_finished => 1,
# ); # );

View File

@ -3,7 +3,7 @@
// The code illustrates a problem in Verilator's handling of constant // The code illustrates a problem in Verilator's handling of constant
// expressions inside generate indexes. // expressions inside generate indexes.
// //
// This is a regression test against issue 517. // This is a regression test against issue #517.
// //
// **If you do not wish for your code to be released to the public // **If you do not wish for your code to be released to the public
// please note it here, otherwise:** // please note it here, otherwise:**

View File

@ -1,4 +1,4 @@
// DESCRIPTION: Verilator: Verilog Test module for Issue#1609 // DESCRIPTION: Verilator: Verilog Test module for issue #1609
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2020 by Julien Margetts. // without warranty, 2020 by Julien Margetts.

View File

@ -1,4 +1,4 @@
// DESCRIPTION: Verilator: Verilog Test module for Issue#1609 // DESCRIPTION: Verilator: Verilog Test module for issue #1609
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2020 by Julien Margetts. // without warranty, 2020 by Julien Margetts.

View File

@ -1,4 +1,4 @@
// DESCRIPTION: Verilator: Verilog Test module for Issue#1609 // DESCRIPTION: Verilator: Verilog Test module for issue #1609
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2020 by Julien Margetts. // without warranty, 2020 by Julien Margetts.

View File

@ -1,4 +1,4 @@
// DESCRIPTION: Verilator: Verilog Test module for Issue#2938 // DESCRIPTION: Verilator: Verilog Test module for issue #2938
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2021 by Julien Margetts (Originally provided by YanJiun) // without warranty, 2021 by Julien Margetts (Originally provided by YanJiun)

View File

@ -1,4 +1,4 @@
// DESCRIPTION: Verilator: Verilog Test module for Issue#2863 // DESCRIPTION: Verilator: Verilog Test module for issue #2863
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2021 by Julien Margetts (Originally provided by Thomas Sailer) // without warranty, 2021 by Julien Margetts (Originally provided by Thomas Sailer)

View File

@ -1,4 +1,4 @@
// DESCRIPTION: Verilator: Verilog Test module for Issue#221 // DESCRIPTION: Verilator: Verilog Test module for issue #221
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2023 by Julien Margetts (Originally provided by Adrien Le Masle) // without warranty, 2023 by Julien Margetts (Originally provided by Adrien Le Masle)

View File

@ -1,4 +1,4 @@
// DESCRIPTION: Verilator: Verilog Test module for Issue#1609 // DESCRIPTION: Verilator: Verilog Test module for issue #1609
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2020 by Julien Margetts. // without warranty, 2020 by Julien Margetts.

View File

@ -1,4 +1,4 @@
// DESCRIPTION: Verilator: Verilog Test module for Issue#1609 // DESCRIPTION: Verilator: Verilog Test module for issue #1609
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2020 by Julien Margetts. // without warranty, 2020 by Julien Margetts.

View File

@ -1,4 +1,4 @@
// DESCRIPTION: Verilator: Verilog Test module for Issue#1609 // DESCRIPTION: Verilator: Verilog Test module for issue #1609
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2020 by Julien Margetts. // without warranty, 2020 by Julien Margetts.

View File

@ -82,7 +82,7 @@ module Test(/*AUTOARG*/
integer x; integer x;
row_idx = {2{1'b0}}; row_idx = {2{1'b0}};
row_found = 1'b0; row_found = 1'b0;
// Bug #3409: After unrolling, these conditionals should not be merged // Issue #3409: After unrolling, these conditionals should not be merged
// as row_found is assigned. // as row_found is assigned.
for (x = 0; $unsigned(x) < 4; x = x + 1) begin for (x = 0; $unsigned(x) < 4; x = x + 1) begin
row_idx = !row_found ? x[1:0] : row_idx; row_idx = !row_found ? x[1:0] : row_idx;

View File

@ -4,7 +4,7 @@
// any use, without warranty, 2019 by Wilson Snyder. // any use, without warranty, 2019 by Wilson Snyder.
// SPDX-License-Identifier: CC0-1.0 // SPDX-License-Identifier: CC0-1.0
//bug 1381 // See issue #1381
logic root_var; logic root_var;

View File

@ -4,7 +4,7 @@
// the use of ready in the first two always blocks. However it should // the use of ready in the first two always blocks. However it should
// trivially trigger the $write on the first clk posedge. // trivially trigger the $write on the first clk posedge.
// //
// This is a regression test against issue 513. // This is a regression test against issue #513.
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2012 by Jeremy Bennett. // without warranty, 2012 by Jeremy Bennett.

View File

@ -4,7 +4,7 @@
// any use, without warranty, 2014 by Wilson Snyder. // any use, without warranty, 2014 by Wilson Snyder.
// SPDX-License-Identifier: CC0-1.0 // SPDX-License-Identifier: CC0-1.0
//bug 762 // See issue #762
module t(a0, y); module t(a0, y);
input [3:0] a0; input [3:0] a0;
output [44:0] y; output [44:0] y;

View File

@ -4,7 +4,7 @@
// any use, without warranty, 2012 by Wilson Snyder. // any use, without warranty, 2012 by Wilson Snyder.
// SPDX-License-Identifier: CC0-1.0 // SPDX-License-Identifier: CC0-1.0
// see bug 474 // See issue #474
package functions; package functions;
localparam LP_PACK = 512; localparam LP_PACK = 512;
localparam LP_PACK_AND_MOD = 19; localparam LP_PACK_AND_MOD = 19;

View File

@ -4,7 +4,7 @@
// without warranty, 2012 by Jeremy Bennett. // without warranty, 2012 by Jeremy Bennett.
// SPDX-License-Identifier: CC0-1.0 // SPDX-License-Identifier: CC0-1.0
// see bug 591 // See issue #591
package pkg1; package pkg1;
parameter PARAM2 = 16; parameter PARAM2 = 16;

View File

@ -4,7 +4,7 @@
// without warranty, 2012 by Jeremy Bennett // without warranty, 2012 by Jeremy Bennett
// SPDX-License-Identifier: CC0-1.0 // SPDX-License-Identifier: CC0-1.0
// see bug 591 // See issue #591
package pkg2; package pkg2;
parameter PARAM2 = 16; parameter PARAM2 = 16;

View File

@ -48,7 +48,7 @@ module m1;
initial if (PACKED_PARAM != 8'h36) $stop; initial if (PACKED_PARAM != 8'h36) $stop;
endmodule endmodule
// bug 810 // See issue #810
module m2 #(/*parameter*/ integer PAR2 = 10); module m2 #(/*parameter*/ integer PAR2 = 10);
initial begin initial begin
$display("%x",PAR2); $display("%x",PAR2);

View File

@ -4,7 +4,7 @@
// any use, without warranty, 2016 by Wilson Snyder. // any use, without warranty, 2016 by Wilson Snyder.
// SPDX-License-Identifier: CC0-1.0 // SPDX-License-Identifier: CC0-1.0
// issue 1991 // See issue #1991
module t module t
#( #(

View File

@ -4,7 +4,7 @@
// any use, without warranty, 2016 by Wilson Snyder. // any use, without warranty, 2016 by Wilson Snyder.
// SPDX-License-Identifier: CC0-1.0 // SPDX-License-Identifier: CC0-1.0
// issue 1991 // See issue #1991
module t module t
(/*AUTOARG*/ (/*AUTOARG*/

View File

@ -1,6 +1,6 @@
// DESCRIPTION: Verilator: Test of select from constant // DESCRIPTION: Verilator: Test of select from constant
// //
// This tests issue 508, bit select of constant fails // This tests issue #508, bit select of constant fails
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2022 by Wilson Snyder. // without warranty, 2022 by Wilson Snyder.

View File

@ -1,6 +1,6 @@
// DESCRIPTION: Verilator: // DESCRIPTION: Verilator:
// Test an error where a shift amount was out of bounds and the compiler treats the // Test an error where a shift amount was out of bounds and the compiler treats the
// value as undefined (Issue #803) // value as undefined (issue #803)
// //
// This file ONLY is placed into the Public Domain, for any use, // This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2014 by Jeff Bush. // without warranty, 2014 by Jeff Bush.

View File

@ -50,17 +50,17 @@ module t;
if (!$value$plusargs("INT=%o", p_i)) $stop; if (!$value$plusargs("INT=%o", p_i)) $stop;
if (p_i !== 32'o1234) $stop; if (p_i !== 32'o1234) $stop;
// Check handling of 'SData' type signals (Issue #1592) // Check handling of 'SData' type signals (issue #1592)
p_s = 0; p_s = 0;
if (!$value$plusargs("INT=%d", p_s)) $stop; if (!$value$plusargs("INT=%d", p_s)) $stop;
if (p_s !== 16'd1234) $stop; if (p_s !== 16'd1234) $stop;
// Check handling of 'CData' type signals (Issue #1592) // Check handling of 'CData' type signals (issue #1592)
p_c = 0; p_c = 0;
if (!$value$plusargs("INT=%d", p_c)) $stop; if (!$value$plusargs("INT=%d", p_c)) $stop;
if (p_c !== 8'd210) $stop; if (p_c !== 8'd210) $stop;
// Check handling of 'double' type signals (Issue #1619) // Check handling of 'double' type signals (issue #1619)
p_r = 0; p_r = 0;
if (!$value$plusargs("REAL=%e", p_r)) $stop; if (!$value$plusargs("REAL=%e", p_r)) $stop;
$display("r='%e'", p_r); $display("r='%e'", p_r);

View File

@ -14,12 +14,12 @@ module t (/*AUTOARG*/
wire [1:0] b; wire [1:0] b;
wire [1:0] c; wire [1:0] c;
wire [0:0] d; // Explicit width due to issue 508 wire [0:0] d; // Explicit width due to issue #508
wire [0:0] e; wire [0:0] e;
// This works if we use 1'bz, or 1'bx, but not with just 'bz or 'bx. It // This works if we use 1'bz, or 1'bx, but not with just 'bz or 'bx. It
// does require the tri-state Z. Since we get the same effect if b is // does require the tri-state Z. Since we get the same effect if b is
// dimensioned [0:0], this may be connected to issue 508. // dimensioned [0:0], this may be connected to issue #508.
assign b[1:0] = clk ? 2'bx : 'bz; assign b[1:0] = clk ? 2'bx : 'bz;
assign c[1:0] = clk ? 2'bz : 'bx; assign c[1:0] = clk ? 2'bz : 'bx;
assign d = clk ? 1'bx : 'bz; assign d = clk ? 1'bx : 'bz;

View File

@ -121,7 +121,7 @@ static int _mon_check_props(TestVpiHandle& handle, int size, int direction, int
// check direction of object // check direction of object
int vpidir = vpi_get(vpiDirection, handle); int vpidir = vpi_get(vpiDirection, handle);
// Don't check port directions in verilator // Don't check port directions in verilator
// see #681 // See issue #681
if (!TestSimulator::is_verilator()) CHECK_RESULT(vpidir, direction); if (!TestSimulator::is_verilator()) CHECK_RESULT(vpidir, direction);
} }
@ -129,7 +129,7 @@ static int _mon_check_props(TestVpiHandle& handle, int size, int direction, int
int vpitype = vpi_get(vpiType, handle); int vpitype = vpi_get(vpiType, handle);
if (!(TestSimulator::is_verilator() && type == vpiPort)) { if (!(TestSimulator::is_verilator() && type == vpiPort)) {
// Don't check for ports in verilator // Don't check for ports in verilator
// see #681 // See issue #681
CHECK_RESULT(vpitype, type); CHECK_RESULT(vpitype, type);
} }