From 615adc4253a25fd9053d7893cc1f8120908c9e4a Mon Sep 17 00:00:00 2001 From: Dag Lem Date: Mon, 13 Feb 2023 00:25:39 +0100 Subject: Resolve package types in interfaces (#3658) * Resolve package types in interfaces * Added test for resolving of package types in interfaces --- tests/svinterfaces/resolve_types.sv | 24 ++++++++++++++++++++++++ tests/svinterfaces/resolve_types.ys | 6 ++++++ tests/svinterfaces/run-test.sh | 1 + 3 files changed, 31 insertions(+) create mode 100644 tests/svinterfaces/resolve_types.sv create mode 100644 tests/svinterfaces/resolve_types.ys (limited to 'tests') diff --git a/tests/svinterfaces/resolve_types.sv b/tests/svinterfaces/resolve_types.sv new file mode 100644 index 000000000..3c6644e33 --- /dev/null +++ b/tests/svinterfaces/resolve_types.sv @@ -0,0 +1,24 @@ +// This test checks that types, including package types, are resolved from within an interface. + +typedef logic [7:0] x_t; + +package pkg; + typedef logic [7:0] y_t; +endpackage + +interface iface; + x_t x; + pkg::y_t y; +endinterface + +module dut (input logic [7:0] x, output logic [7:0] y); + iface intf(); + assign intf.x = x; + assign y = intf.y; + + ondemand u(.intf); +endmodule + +module ref (input logic [7:0] x, output logic [7:0] y); + assign y = ~x; +endmodule diff --git a/tests/svinterfaces/resolve_types.ys b/tests/svinterfaces/resolve_types.ys new file mode 100644 index 000000000..a25791f37 --- /dev/null +++ b/tests/svinterfaces/resolve_types.ys @@ -0,0 +1,6 @@ +read_verilog -sv resolve_types.sv +hierarchy -libdir . -check +flatten +equiv_make ref dut equiv +equiv_simple +equiv_status -assert diff --git a/tests/svinterfaces/run-test.sh b/tests/svinterfaces/run-test.sh index 9ef53926c..afa222766 100755 --- a/tests/svinterfaces/run-test.sh +++ b/tests/svinterfaces/run-test.sh @@ -4,3 +4,4 @@ ./runone.sh svinterface_at_top ./run_simple.sh load_and_derive +./run_simple.sh resolve_types -- cgit v1.2.3