Язык AHDL


Оператор Function Prototype


Операторы Function Prototype имеют ту же функцию, что и символы в графических файлах проектов. И те и другие представляют собой краткое описание функции, описывая ее имя, а также входные, выходные и двунаправленные порты. Для функций, импортирующих и экспортирующих конечные автоматы,  могут использоваться порты автомата.

Входные порты мега- и макрофункций не имеют значений по умолчанию, как это имеет место в файлах графического редактора MAX+PLUSII. Поэтому входные значения неиспользуемых портов должны быть указаны явно. Кроме того в секции Subdesign могут быть указаны значения по умолчанию для двунаправленных портов. Заметим, что для выходных портов нельзя определить значения по умолчанию.

 Перед созданием объекта (an instance) мега- или макрофункции  необходимо убедиться в существовании соответствующего ей  файла проекта, описывающего ее логическое функционирование. Затем с помощью оператора Function Prototype  описываются порты функции  и создается экземпляр (an instance) логической функции путем объявления объекта (Instance Declaration) или подставляемой ссылки (in-line reference),

Следующие примеры демонстрируют использование операторов Function Prototype. Первый пример демонстрирует описание параметризируемой функции, а второй - не параметризируемой функции:

 

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);

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

            RETURNS (less, equal, greater);

 

Оператор Function Prototype имеет следующие характеристики:

 

¨    За ключевым словом FUNCTION следует имя функции. В примерах показанных выше использованы имена функций  lpm_add_sub и compare.

¨    За именем функции следует список входных портов. В первом примере, показанном выше, входными портами являются cin, dataa[LPM_WIDTH-1..0] и datab[LPM_WIDTH-1..0]; во втором примере входными портами являются a3,a2,a1,a0,b3,b2,b1 и b0.




Начало  Назад  Вперед



Книжный магазин