VHDL - Conditional attribute declaration depending on a generic

vhdl

Solution

It is perfectly possible to write something similar to that, but the attribute will only be visible in the scope of the generate statement.

g_something: if test_condition generate
   attribute my_attribute_typ : string;
   attribute an_attribute of my_attribute_typ: signal is "value";
begin
    -- attribute is visible in this scope

    p_my_process: process(clk)
    begin
        -- attribute is also visible here
    end process;
end generate;

-- but not here

Problem

How do I write a code segment which would evaluate a generic and create (or not create) an attribute accordingly? Example : ``` if G_MY_GENERIC then attribute my_attribute_typ : string; attribute my_attribute_typ of signal_having_an_attr : signal is "value"; else --nothing is created end if; ```

Original source