From d3142736c82831437d3fbab1afed6de0fc833e89 Mon Sep 17 00:00:00 2001 From: Ryszard Rozak Date: Fri, 8 Dec 2023 13:11:32 +0100 Subject: [PATCH] Tests: Add a test for type parameters in virtual interfaces (#4746) --- test_regress/t/t_interface_virtual_param.v | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/test_regress/t/t_interface_virtual_param.v b/test_regress/t/t_interface_virtual_param.v index 6bfc6a1c5..a1596b4ff 100644 --- a/test_regress/t/t_interface_virtual_param.v +++ b/test_regress/t/t_interface_virtual_param.v @@ -8,6 +8,14 @@ interface Bus #(parameter int W = 1, X = 2); logic [W-1:0] data; endinterface +interface BusTyped #(parameter type T); + T data; +endinterface + +typedef struct packed { + logic x; +} my_logic_t; + module t; Bus#(6, 3) intf1(); virtual Bus#(6, 3) vintf1 = intf1; @@ -15,6 +23,9 @@ module t; Bus intf2(); virtual Bus#(.W(1), .X(2)) vintf2 = intf2; + BusTyped#(my_logic_t) intf3(); + virtual BusTyped#(my_logic_t) vintf3 = intf3; + initial begin intf1.data = '1; if (vintf1.data != 6'b111111) $stop; @@ -24,6 +35,9 @@ module t; if (vintf2.data != 1'b1) $stop; if (vintf2.X != 2) $stop; + intf3.data.x = '1; + if (vintf3.data.x != 1'b1) $stop; + $write("*-* All Finished *-*\n"); $finish; end