diff --git a/ivtest/ivltests/sv_package_import_order_named.v b/ivtest/ivltests/sv_package_import_order_named.v new file mode 100644 index 000000000..c3d1da71b --- /dev/null +++ b/ivtest/ivltests/sv_package_import_order_named.v @@ -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 diff --git a/ivtest/regress-vvp.list b/ivtest/regress-vvp.list index 6874747ff..9af5f385b 100644 --- a/ivtest/regress-vvp.list +++ b/ivtest/regress-vvp.list @@ -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 diff --git a/ivtest/vvp_tests/sv_package_import_order_named.json b/ivtest/vvp_tests/sv_package_import_order_named.json new file mode 100644 index 000000000..d03b39538 --- /dev/null +++ b/ivtest/vvp_tests/sv_package_import_order_named.json @@ -0,0 +1,5 @@ +{ + "type" : "normal", + "source" : "sv_package_import_order_named.v", + "iverilog-args" : [ "-g2005-sv" ] +}