У меня в модуле применяется настройка, меняющая его поведение.
Код
generic
(
Edge_type : string := "All_edge" -- Rising / Falling / All_edge тип детектированного фронта
);
Захотелось мне добавить в описание модуля конструкцию
report, которая отслеживает правильность ввода параметров модуля. Мало ли я где буковкой или регистром ошибусь. Так пусть мне на консоль выводится сообщения об этом. Но столкнулся с проблемой, что языковые конструкции которые понимает Quartus - наглухо вешают Modelsim, да так, что только через диспетчер задач его можно закрыть...
Код
--===================================
-- Понимает quartus, но вешает modelsim
--===================================
parametr_checker : process(all)
begin
if (Edge_type /= "All_edge" and
Edge_type /= "Falling" and
Edge_type /= "Rising") then
report LF&
"Incorrect parametr : 'Edge_type' Check syntaxis !" &LF&
"Note : parametr case-sensitive !"&LF severity error;
end if;
end process;
А вот конструкции, которые понимает Modelsim заставляют ругаться Quartus.
Код
--===================================
-- Понимает modelsim но ругается quartus
--===================================
parametr_checker : process
begin
if (Edge_type /= "All_edge" and
Edge_type /= "Falling" and
Edge_type /= "Rising") then
report LF&
"Incorrect parametr : 'Edge_type' Check syntaxis !" &LF&
"Note : parametr case-sensitive !"&LF severity error;
end if;
wait;
end process;
Как убедить Quartus и Modelsim сообщать мне Report и не ругаться ?