library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity foo is port ( a0 : in unsigned(1 downto 0) ); end entity; architecture bar of foo is begin assert a0 = "01"; end architecture; library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity foo_tb is generic ( DEFAULT_X : unsigned(1 downto 0) := (others => '0') ); end entity; architecture tb of foo_tb is function compute_stuff_with_x(x : unsigned) return unsigned is begin return x + 1; end compute_stuff_with_x; begin foo_inst: entity work.foo port map ( a0 => compute_stuff_with_x(DEFAULT_X) ); end architecture;