ВУЗ:
Составители:
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
- …
- следующая ›
- последняя »