package test is type baz is record el1 : string; el2 : integer; end record; bundle baz_b of baz is signal el1 : out; signal el2 : in; end; type baz_a is array(0 to 10) of baz; type baz_a_str is array(0 to 10) of string; type baz_a_int is array(0 to 10) of integer; type foo is record el1 : integer; el2 : string; el3 : baz; end record; bundle b of foo is signal el1 : in; signal el2 : out; bundle el3 : baz_b; end; end; library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; use work.test.all; entity foofoo is port ( signal clk : in std_logic; signal rst : in std_logic; -- bundle test : view(baz_b) baz_a; -- REJECTED -- bundle test : baz_b(baz_a); -- REJECTED -- bundle test : {baz_b} baz_a ; -- REJECTED bundle test2 : baz_b baz; -- regular bundles bundle test3 : (baz_b) baz_a; -- array of bundles signal test_el1 : out baz_a_str; signal test_el2 : in baz_a_int ); -- procedure name(bundle ... ) is -- begin -- end procedure name; -- -- map foo (a : integer; bundle foo : b foo) to is -- begin -- ( ) -- end map; end entity foofoo;