ВУЗ:
Составители:
41
Ниже представлено несколько узлов суммирования и вычитания в
различной форме.
architecture ADD_EXAMPLES of SOMETHIN is
procedure ADD_SUBB(
signal A,B:in integer;
signal OPERATION : in std_logic;
signal RESULT: out integer) is
begin
if OPERATION='0' then RESULT<= A+B;
else RESULT<=A-B;
end if;
end ADD_SUBB;
begin
FIRST: ADD_SUBB(X1,Y1,CONTROLE, Z1);
SECOND: ADD_SUBB( A=>X1,B=>Y1, RESULT=>Z2,
OPERATION=>CONTROLE);
Параллельные операторы вызова first и second иллюстрируют
альтернативные способы записи списков соответствия. Первая форма
записи списка ассоциаций соответствует позиционному сопоставлению
фактических и формальных параметров подпрограмм, а вторая -
сопоставлению по имени. Позиционное сопоставление требует точного
совпадения порядка записи фактических параметров в списках
соответствия и порядка записи формальных параметров в интерфейсном
списке подпрограммы. Если какой-либо параметр не используется или
используется значение входа по умолчанию, соответствующая позиция в
списке отмечается как пустая. При сопоставлении по имени порядок
записи не имеет значения, важно лишь совпадение имени формального
параметра с именем, указанным в декларации подпрограммы.
Важное значение в подпрограммах имеет оператор возврата return. В
процедуре этот оператор прекращает ее исполнение, передавая управление
вызывающей программе. Если исполнен оператор return в процедуре,
вызванной последовательным оператором, то после него выполняется
оператор вызывающей программы, следующий за оператором вызова.
После исполнения оператора return в процедуре, вызванной параллельным
оператором, интерпретатор программы обращается к календарю событий и
инициирует исполнение оператора, связанного со следующим событием в
календаре. При отсутствии оператора возврата исполнение процедуры
завершается последним оператором в порядке записи.
41 Ниже представлено несколько узлов суммирования и вычитания в различной форме. architecture ADD_EXAMPLES of SOMETHIN is procedure ADD_SUBB( signal A,B:in integer; signal OPERATION : in std_logic; signal RESULT: out integer) is begin if OPERATION='0' then RESULT<= A+B; else RESULT<=A-B; end if; end ADD_SUBB; begin FIRST: ADD_SUBB(X1,Y1,CONTROLE, Z1); SECOND: ADD_SUBB( A=>X1,B=>Y1, RESULT=>Z2, OPERATION=>CONTROLE); Параллельные операторы вызова first и second иллюстрируют альтернативные способы записи списков соответствия. Первая форма записи списка ассоциаций соответствует позиционному сопоставлению фактических и формальных параметров подпрограмм, а вторая - сопоставлению по имени. Позиционное сопоставление требует точного совпадения порядка записи фактических параметров в списках соответствия и порядка записи формальных параметров в интерфейсном списке подпрограммы. Если какой-либо параметр не используется или используется значение входа по умолчанию, соответствующая позиция в списке отмечается как пустая. При сопоставлении по имени порядок записи не имеет значения, важно лишь совпадение имени формального параметра с именем, указанным в декларации подпрограммы. Важное значение в подпрограммах имеет оператор возврата return. В процедуре этот оператор прекращает ее исполнение, передавая управление вызывающей программе. Если исполнен оператор return в процедуре, вызванной последовательным оператором, то после него выполняется оператор вызывающей программы, следующий за оператором вызова. После исполнения оператора return в процедуре, вызванной параллельным оператором, интерпретатор программы обращается к календарю событий и инициирует исполнение оператора, связанного со следующим событием в календаре. При отсутствии оператора возврата исполнение процедуры завершается последним оператором в порядке записи.
Страницы
- « первая
- ‹ предыдущая
- …
- 39
- 40
- 41
- 42
- 43
- …
- следующая ›
- последняя »