Define Statement

Define Statement (оператор позначення) дозволяє позначити оціночну функцію (evaluated function), яка дає можливість позначити арифметичний вираз символічним ім'ям.

Приклад:

PARAMETERS (WIDTH);

DEFINE MAX (a,b)=(a>b)?a:b;

SUBDESIGN DEF_

(

data_a[MAX(WIDTH,2)..0] : INPUT;

data_b[MAX(WIDTH,2)..0] : OUTPUT;

BEGIN

data_a[]=data_b[];

END;

У наведеному прикладі арифметичний вираз, що реалізує пошук максимуму від двох аргументів a, b (якщо а більше b, то peзyльтатом її виконання буде аргумент а, якщо ні - то аргумент b) позначений через МАХ (а,b).

Правила використання оператора:

§ Оператор починається із ключового слова DEFINE, за яким слідує символічне ім'я позначуваного арифметичного виразу зі списком аргументів, укладеним у дужки. За списком аргументів ставиться знак «дорівнює» (=), далі - самий арифметичний вираз і крапка з комою.

§ Список аргументів може містити один або більше аргументів.

§ Аргументи в списку відділяються один від одного комою.

§ Символічне ім'я повинно бути унікальним і не повинно містити пропусків.

§ Для поліпшення читаності імені варто застосовувати символ підкреслення (_).

§ Посилання на символічне ім'я арифметичного виразу дозволяються тільки після його задання в операторі позначення.

§ Позначуваний арифметичний вираз може містити символічне ім'я позначеного раніше арифметичного виразу.

§ У файлі з текстовим описом даний оператор позначення може використовуватися необмежене число раз.

Відзначимо, що позначений арифметичний вираз оцінюється компілятором і замінюється числом на етапі перевірки синтаксису. Тому його застосування не приводить до використання додаткових логічних ресурсів НВІС ПЛ.