Returns true if a given expression was defined.
bool __defined(expression);
The __defined() function allows checking if a given declaration has been defined. It is useful when writing generic list-based code.
class Class1
{
typedef logic[4] Type;
}
class Class2
{
typedef logic[8] Type;
const int Val = 5;
}
entity Test
{
generate dummy foreach(any c in __list(Class1, Class2))
{
generate inner if (__defined(c.Val))
{
signal c.Type sig = c.Val;
}
else
{
signal c.Type sig;
}
}
}
Generated VHDL code:
entity Test is
end entity Test;
architecture Behavioral of Test is
signal dummy_0_inner_case_2_sig : std_logic_vector(3 downto 0);
signal dummy_1_inner_case_1_sig : std_logic_vector(7 downto 0) := X"05";
begin
end architecture Behavioral;