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 также позволяет генерировать.