Add regression test for wildcard imports in implicit named ports

Check that an implicit `.name` port connection before a wildcard import
resolves an outer declaration, while a connection after the import
resolves the declaration from the package.

Run the test through the native and vlog95 backends.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
This commit is contained in:
Lars-Peter Clausen 2026-08-02 12:31:27 -07:00
parent 19772cfe07
commit e393487126
3 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,45 @@
// Check that implicit named port connections activate wildcard imports.
package p;
parameter [31:0] value = 2;
endpackage
parameter [31:0] value = 1;
module child(input wire [31:0] value, output wire [31:0] result);
assign result = value;
endmodule
module test;
wire [31:0] result_before;
wire [31:0] result_after;
child i_before(.value, .result(result_before));
import p::*;
child i_after(.value, .result(result_after));
reg failed;
`define check(val, exp) \
if (val !== exp) begin \
$display("FAILED(%0d). '%s' expected %b, got %b", `__LINE__, \
`"val`", exp, val); \
failed = 1'b1; \
end
initial begin
failed = 1'b0;
#1;
`check(result_before, 32'd1);
`check(result_after, 32'd2);
if (!failed) begin
$display("PASSED");
end
end
endmodule

View File

@ -404,6 +404,7 @@ sv_net_decl_assign vvp_tests/sv_net_decl_assign.json
sv_package_import_copy_new vvp_tests/sv_package_import_copy_new.json
sv_package_import_order_dotstar vvp_tests/sv_package_import_order_dotstar.json
sv_package_import_order_explicit vvp_tests/sv_package_import_order_explicit.json
sv_package_import_order_named vvp_tests/sv_package_import_order_named.json
sv_package_import_order_typedef vvp_tests/sv_package_import_order_typedef.json
sv_package_import_order_wildcard vvp_tests/sv_package_import_order_wildcard.json
sv_package_lifetime vvp_tests/sv_package_lifetime.json

View File

@ -0,0 +1,5 @@
{
"type" : "normal",
"source" : "sv_package_import_order_named.v",
"iverilog-args" : [ "-g2005-sv" ]
}