ВУЗ:
Составители:
32
операторы, может размещаться только в теле процесса или теле подпро-
граммы.
Операторы повторения
Операторы повторения loop позволяют записывать циклы.
Формат оператора:
[ <метка>:] [ -«итерационная схема> ] loop
<оператор> « <оператор> »
end loop [<метка> ];
«Итерационная схема> : :=while <условие> | for <имя переменной> in
<диапазон>
Последовательность операторов (здесь могут быть только
последовательные операторы), заключенная между словами loop и end
loop, называется телом цикла. Операторы в теле цикла выполняются друг
за
другом в порядке записи. Число повторений определяется итерационной
схемой.
Оператор повторения, не содержащий явного объявления
итерационной схемы, предполагает бесконечное повторение
последовательностей вложенных в него операторов. Такая модель, в
целом, соответствует поведению реальных дискретных устройств,
повторяющих некоторую последовательность действий вплоть до
отключения питания. В то же время эта конструкция имеет логический
смысл, только если тело цикла содержит оператор ожидания wait или
оператор выхода из цикла exit. В противном случае бесконечное
безусловное повторение блокировало бы исполнение любых других опе-
раторов и процессов. Ниже представлено описание двух процессов,
каждый из которых содержит бесконечный цикл. Процесс
CLOCK_GENERATOR описывает устройство, непрерывно генерирующее
последовательность прямоугольных импульсов. Процесс
EXECUTE после
начальной установки ждет положительный фронт импульса CLK, и в ответ
на это событие выдает очередное значение.
entity SEQUENCE_OF_NUMBERS is
port ( OUT_DATA: OUT INTEGER range 0 TO MAX_VALUE;
CLK : inout bit);
end SEQUENCE_OF_NUMBERS;
arhitecture BEHAVIOR of SEQUENCE_OF_NUMBERS is begin
CLOCK_GENERATOR: process
begin
32
операторы, может размещаться только в теле процесса или теле подпро-
граммы.
Операторы повторения
Операторы повторения loop позволяют записывать циклы.
Формат оператора:
[ <метка>:] [ -«итерационная схема> ] loop
<оператор> « <оператор> »
end loop [<метка> ];
«Итерационная схема> : :=while <условие> | for <имя переменной> in
<диапазон>
Последовательность операторов (здесь могут быть только
последовательные операторы), заключенная между словами loop и end
loop, называется телом цикла. Операторы в теле цикла выполняются друг
за другом в порядке записи. Число повторений определяется итерационной
схемой.
Оператор повторения, не содержащий явного объявления
итерационной схемы, предполагает бесконечное повторение
последовательностей вложенных в него операторов. Такая модель, в
целом, соответствует поведению реальных дискретных устройств,
повторяющих некоторую последовательность действий вплоть до
отключения питания. В то же время эта конструкция имеет логический
смысл, только если тело цикла содержит оператор ожидания wait или
оператор выхода из цикла exit. В противном случае бесконечное
безусловное повторение блокировало бы исполнение любых других опе-
раторов и процессов. Ниже представлено описание двух процессов,
каждый из которых содержит бесконечный цикл. Процесс
CLOCK_GENERATOR описывает устройство, непрерывно генерирующее
последовательность прямоугольных импульсов. Процесс EXECUTE после
начальной установки ждет положительный фронт импульса CLK, и в ответ
на это событие выдает очередное значение.
entity SEQUENCE_OF_NUMBERS is
port ( OUT_DATA: OUT INTEGER range 0 TO MAX_VALUE;
CLK : inout bit);
end SEQUENCE_OF_NUMBERS;
arhitecture BEHAVIOR of SEQUENCE_OF_NUMBERS is begin
CLOCK_GENERATOR: process
begin
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »
