package pkg is procedure proc(signal sig : in integer; msg : string); end package; package body pkg is procedure proc(signal sig : in integer; msg : string) is begin loop wait on sig; report integer'image(sig) & " : " & msg; end loop; end procedure; end package body; use work.pkg.all; entity ent2 is port ( prt : out integer); begin proc(prt, "entity"); end entity; architecture a of ent2 is begin proc(prt, "architecture"); main : process begin prt <= 1; wait for 1 ns; prt <= 2; wait; end process; end architecture; entity ent is end entity; architecture a of ent is signal sig : integer; begin ent2_inst : entity work.ent2 port map(prt => sig); end architecture;