То, что я хочу сделать, не кажется особенно сложным, но я не могу придумать простой способ сделать это в VHDL.
У меня есть компонент с общим параметром, который называется FOO
. Я хотел бы сгенерировать 16 из этих компонентов, и для первых 8 экземпляров я хочу, чтобы FOO
было установлено на 0
, а для других 8 экземпляров, которые я хочу, FOO
должен быть установлен на 4096
.
В идеале я мог бы сделать что-то вроде этого:
generate_loop: for I in 0 to 15 generate
begin
comp_inst: my_component
generic map
(
FOO => 0 when I < 8 else 4096
)
port map
(
...
);
end generate;
Это, конечно, недопустимый VHDL, но он отражает идею того, что я хотел бы сделать.
Итак, мой вопрос: есть ли способ реализовать это в одном цикле генерации (т.е. без необходимости иметь 2 отдельных цикла генерации с разными индексами), и если да, то как мне это сделать?