Язык описания электронной аппаратуры VHDL. Берчун Ю.В. - 38 стр.

UptoLike

Составители: 

38
нения подпрограммы фактическому параметру, т. е. объекту, сопоставленному этому фор-
мальному параметру в списке соответствий оператора вызова. Входные данные подпрограм-
мы специфицируются направлением
in, выходныенаправлением out, а данные, которые
воспринимаются подпрограммой и возвращаются в вызывающую программу измененными,
как
inout. Указание категории элемента списка (constant, variable или signal)
обеспечивает контроль корректности использования подпрограммы. По умолчанию опреде-
лено, что сопоставляемый объект относится к категории
variable. Несоответствие типа
или категории фактического или формального параметра является ошибкой. Необязательное
константное выражение, завершающее представление элемента интерфейсного списка, до-
пустимо только для параметров категории
variable. Оно определяет значение по умолча-
нию, т. е. принимаемое соответствующей переменной, если при каких-либо условиях вызова
подпрограммы присвоение иного значения не предусматривается.
В разделе деклараций подпрограммы могут определяться локальные, т. е. оп-
ределенные только в теле подпрограммы, объекты: вложенные подпрограммы, типы и под-
типы данных, переменные, константы, атрибуты. Раздел операторов содержит только после-
довательные операторы.
Вызов подпрограмм подчиняется единому для процедур и функций синтаксическому
правилу:
<вызов подпрограммы>::=
<имя подпрограммы> [<список соответствий>]
<список соответствий>::=
([<Формальный параметр>] =><фактический параметр>
{, [ «Формальный параметр> ] => <фактический параметр>)})
<фактический параметр>::=
<выражение>
| <константа>
| <имя сигнала>
| <имя переменной>
| <вызов функции>
Вызов процедуры записывается в программе как отдельный оператор, а вызов функции
используется в выражениях того же типа, что и тип возвращаемого параметра, как обычная
переменная.
Предусмотрено две формы списка соответствий. Форма, в которой каждый элемент
списка содержит формальный параметр и сопоставляемый ему фактический параметр, раз-
деленные знаком
=>, называется сопоставлением по имени. Альтернативная форма содер-
жит только фактические параметры и называется позиционным сопоставлением. Позици-
онное сопоставление требует точного совпадения порядка записи фактических параметров в
списках соответствия и порядка записи формальных параметров в интерфейсном списке
подпрограммы. Если какой-либо параметр не используется или принимается значение входа,
определенное по умолчанию, соответствующая позиция в списке отмечается как пустая. При
сопоставлении по имени порядок записи не имеет значения, важно лишь совпадение имени
формального параметра с именем, указанным в декларации подпрограммы.
нения подпрограммы фактическому параметру, т. е. объекту, сопоставленному этому фор-
мальному параметру в списке соответствий оператора вызова. Входные данные подпрограм-
мы специфицируются направлением in, выходные — направлением out, а данные, которые
воспринимаются подпрограммой и возвращаются в вызывающую программу измененными,
— как inout. Указание категории элемента списка (constant, variable или signal)
обеспечивает контроль корректности использования подпрограммы. По умолчанию опреде-
лено, что сопоставляемый объект относится к категории variable. Несоответствие типа
или категории фактического или формального параметра является ошибкой. Необязательное
константное выражение, завершающее представление элемента интерфейсного списка, до-
пустимо только для параметров категории variable. Оно определяет значение по умолча-
нию, т. е. принимаемое соответствующей переменной, если при каких-либо условиях вызова
подпрограммы присвоение иного значения не предусматривается.
     В разделе деклараций подпрограммы могут определяться локальные, т. е. оп-
ределенные только в теле подпрограммы, объекты: вложенные подпрограммы, типы и под-
типы данных, переменные, константы, атрибуты. Раздел операторов содержит только после-
довательные операторы.
     Вызов подпрограмм подчиняется единому для процедур и функций синтаксическому
правилу:
<вызов подпрограммы>::=
<имя подпрограммы> [<список соответствий>]
<список соответствий>::=
([<Формальный параметр>] =><фактический параметр>
{, [ «Формальный параметр> ] => <фактический параметр>)})
<фактический параметр>::=
<выражение>
| <константа>
| <имя сигнала>
| <имя переменной>
| <вызов функции>
     Вызов процедуры записывается в программе как отдельный оператор, а вызов функции
используется в выражениях того же типа, что и тип возвращаемого параметра, как обычная
переменная.
     Предусмотрено две формы списка соответствий. Форма, в которой каждый элемент
списка содержит формальный параметр и сопоставляемый ему фактический параметр, раз-
деленные знаком =>, называется сопоставлением по имени. Альтернативная форма содер-
жит только фактические параметры и называется позиционным сопоставлением. Позици-
онное сопоставление требует точного совпадения порядка записи фактических параметров в
списках соответствия и порядка записи формальных параметров в интерфейсном списке
подпрограммы. Если какой-либо параметр не используется или принимается значение входа,
определенное по умолчанию, соответствующая позиция в списке отмечается как пустая. При
сопоставлении по имени порядок записи не имеет значения, важно лишь совпадение имени
формального параметра с именем, указанным в декларации подпрограммы.


                                            38