Oбъекты языка VHDL

Вызов процедуры.


Вызов процедуры также представляет собой последовательный оператор. Его упрощенный синтаксис:

\вызов процедуры\::=\имя процедуры\[([\имя параметра =>\] \выражение\

                    {,[\имя параметра\ => ] \выражение\})];

Здесь \имя процедуры\ - имя ранее определенной процедуры. Связывание формальных и фактических параметров выполняется аналогично как в вызове функции. Выражение - параметр функции - должно давать результат типа, соответствующего имени параметра \имя параметра\. Параметры можно задавать с поименованным или позиционным связыванием. При позиционном связывании параметры-выражения подставляются в порядке, определенном порядком следования имен параметров в определении функции. При поименованном связывании каждое имя, параметра связывается с соответствующим параметром с помощью символов "=>", причем порядок следования параметров может быть произвольным.

В пакете IEEE.Math_Real определена процедура генерации случайных чисел:

 procedure UNIFORM(variable SEED1,SEED2:inout POSITIVE; variable X:out real);

Она может быть вызвана со связыванием параметров:

variable s1,s2:natural:=12345;

variable Random:real;

UNIFORM(X=> Random, SEED1=>s1,SEED2=>s2);

или без связывания параметров:

UNIFORM(s1,s2, Random);

Вызов процедуры без параметров – это просто написанное ее имя. 



Содержание раздела