![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Оператор IF GENERATE дозволяє оцінити значення арифметичного виразу і за результатами оцінки сформувати той або інший опис проектованого модуля.
Оператор може використовуватися в повній або спрощеній формі.
Повна форма: Спрощена форма:
IF __expression GENERATE IF _expression GENERATE
__statement; __statement;
__statement; __statement;
ELSE GENERATE END GENERATE;
__statement;
__statement;
END GENERATE;
Оператор задається в такий спосіб:
■ За ключовим словом IF вказується оцінюваний арифметичний вираз.
■ За ключовим словом GENERATE слідують оператори мови AHDL, які будуть використані в текстовому описі при істинності оцінюваного арифметичного виразу.
■ При наявності ключових слів ELSE GENERATE за ними вказуються оператори, які будуть використані в текстовому описі в тому випадку, якщо оцінюваний арифметичний вираз хибний.
■ Оператор закінчується ключовими словами END GENERATE, за якими слідує крапка з комою (;).
Застосування оператора проілюструємо на прикладі текстового опису, що залежно від значення параметра Module_Type буде задавати або суматор, або віднімальщик розрядністю WIDTH.
PARAMETERS
(
WIDTH = 8,
MODULE_TYPE = "ADD"
);
SUBDESIGN IF_GEN
(
A[WIDTH..1], B[WIDTH..1]: INPUT;
RESULT[WIDTH..1], Cout: OUTPUT;
)
BEGIN
IF Module_Type == "ADD" GENERATE
(Cout,Result[]) = (GND,A[]) + (GND,B[]);
ELSE GENERATE
(Cout,Result[]) = (GND,A[]) - (GND,B[]);
END GENERATE;
END;
При вихідних значеннях параметрів компілятор синтезує восьмирозрядний суматор, результати моделювання якого наведені на рис. 16
Рис. 16.
Якщо поза текстовим описом (наприклад, командою Global Project Parameters меню Assign) параметру Module_Type присвоїти відмінне від ADD значення, то компілятор синтезує віднімальщик, результати моделювання якого наведені на рис. 17.
Рис. 17.
Нагадаємо, що підстановка значень параметрів і формування відповідного текстового опису здійснюється компілятором на етапі перевірки синтаксису. Тому застосування оператора IF GENERATE не приводить до використання додаткових логічних ресурсів НВІС ПЛ.
Дата публикования: 2014-11-29; Прочитано: 170 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!