Function Prototype Statement

Function Prototype Statement (оператор опису прототипу) дозволяє описати інтерфейс (входи, виходи, передані параметри) модулів або примітивів, які будуть використані в даному текстовому описі. Оператори Function Prototype відіграють ту ж саму функцію, що і символи в графічних файлах проекту. І ті, і інші представляють собою короткий опис функції, задаючи її ім’я, а також вхідні, вихідні і двонаправлені порти. Для функцій, які імпортують і експортують скінчені автомати, можуть використовуватись порти автоматів.

Приклади:

1. FUNCTION lpm_add_sub (Cin, dataa[LPM_WIDTH-1..0],

datab[LPM_WIDTH-1..0], add_sub) -- входи модуля

WITH ( LPM_WIDTH, LPM_REPRESENTATION,

LPM_DIRECTION, ADDERTYPE,

ONE_INPUT_IS_CONSTANT) -- передані параметри

RETURNS (result[LPM_WIDTH-1..0], Cout, overflow) ; -- виходи модуля

 

2. FUNCTION compare (a[3..0], b[3..0])

RETURNS (less, equal, greater);

 

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

§ Оператор починається із ключового слова FUNCTION, за яким слідує ім'я модуля, а за ним - укладений у дужки список вхід модуля. При описі прототипу параметризованого модуля далі слідує ключове слово WITH і укладений у круглі дужки список переданих у модуль параметрів. Потім вказується ключове слово RETURNS, і далі - укладений у круглі дужки список вихід модуля. Оператор закінчується крапкою з комою.

§ Елементи списків (входів, переданих параметрів, виходів) відділяються один від одного комами.

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