VHDL MUX выберите с постоянным

У меня есть константа, определенная в моем пакете VHDL.

constant USE_OSD : integer := 0;

И это то, что я изменяю перед синтезом в моем пакете. Я хотел бы использовать эту константу в качестве строки выбора MUX в моем коде VHDL. Как я могу это сделать?

например, что-то вроде:

 s_out <=  path_a WHEN (USE_OSD = 0) else path_b;

Спасибо,

--Rudy

2 ответа

Это не имеет никакого отношения к линии выбора MUX.

В зависимости от значения этой константы это может быть разработано как: s_out <= path_a; или как s_out <= path_b;, Там никогда не будет mux.

В качестве способа обучения, пожалуйста, подумайте об этом через инструмент синтеза и посмотрите на результаты.

Я думаю, что вы ищете, если генерировать. Это похоже на команду препроцессора в C.

Пример:

path_a: if USE_OSD = 0 generate
   s_out <= path_a;
end generate path_a;
path_b: if USE_OSD /= 0 generate
   s_out <= path_b;
end generate path_b;

Я думаю, что VHDL 2008 также позволяет генерировать.

Другие вопросы по тегам