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

UptoLike

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

31
не вышло. Еще раз напомним, что оператор
wait, как и другие последовательные операто-
ры, может размещаться только в теле процесса или теле подпрограммы.
4.7.4. Операторы повторения
Операторы повторения loop позволяют сокращенно записывать совокупности одно-
типных действий.
<оператор повторения>::=
[<метка оператора повторения>:] [<итерационная схема>] loop
<оператор> {<оператор>}
end loop [<метка оператора повторения>];
<итерационная схема>::=
while <условие>
| for <имя переменной> in <диапазон>
Последовательность операторов (здесь могут быть только последовательные операто-
ры), заключенная между ключевыми словами
loop и end loop, называется телом опера-
тора повторения или телом цикла. Операторы в теле цикла выполняются друг другом в
порядке записи, причем такое выполнение повторяется многократно. Число повторений оп-
ределяется итерационной схемой.
Оператор повторения, не содержащий явного объявления итерационной схемы, пред-
полагает бесконечное повторение последовательностей вложенных в него операторов. Та-
кая модель, в целом, соответствует поведению реальных дискретных устройств, повторяю-
щих некоторую последовательность действий вплоть до отключения питания. В то же время
эта конструкция имеет логический смысл, только если тело цикла содержит оператор ожида-
ния
wait или оператор выхода из цикла exit. В противном случае бесконечное безус-
ловное повторение блокировало бы исполнение любых других операторов и процессов.
Оператор с ключевым словом
while обязательно должен содержать в теле цикла опе-
раторы, изменяющие описанное в итерационной схеме условие. Операторы цикла повторя-
ются, пока при вычислении условия не получается значения
false. Условие проверяется
каждый раз перед исполнением тела цикла.
Оператор повторения с ключевым словом
for повторяется для всех значений перемен-
ной из заданного итерационной схемой диапазона.
Отметим, что присвоенные в теле цикла значения переменных могут быть исходными
данными для очередного цикла. Если же в цикле выполнено присвоение значения сигналу,
то в следующих операторах тела и очередных повторениях того же цикла используются ста-
рые значения, если только
тело цикла не содержит операторов ожидания.
Если при моделировании и, в частности, при описании тестовых воздействий смысл
операторов повторения практически не отличается от смысла подобных конструкций в тра-
диционных языках программирования высокого уровня, то при интерпретации в аппаратуре
имеются существенные отличия. Предусматривается не просто последовательное во времени
повторение набора преобразований, а реализация набора устройств, выполняющих одно-
типные действия, причем эти устройства работают параллельно.
не вышло. Еще раз напомним, что оператор wait, как и другие последовательные операто-
ры, может размещаться только в теле процесса или теле подпрограммы.
4.7.4. Операторы повторения
    Операторы повторения loop позволяют сокращенно записывать совокупности одно-
типных действий.
<оператор повторения>::=
[<метка оператора повторения>:] [<итерационная схема>] loop
<оператор> {<оператор>}
end loop [<метка оператора повторения>];
<итерационная схема>::=
while <условие>
| for <имя переменной> in <диапазон>
      Последовательность операторов (здесь могут быть только последовательные операто-
ры), заключенная между ключевыми словами loop и end loop, называется телом опера-
тора повторения или телом цикла. Операторы в теле цикла выполняются друг другом в
порядке записи, причем такое выполнение повторяется многократно. Число повторений оп-
ределяется итерационной схемой.
      Оператор повторения, не содержащий явного объявления итерационной схемы, пред-
полагает бесконечное повторение последовательностей вложенных в него операторов. Та-
кая модель, в целом, соответствует поведению реальных дискретных устройств, повторяю-
щих некоторую последовательность действий вплоть до отключения питания. В то же время
эта конструкция имеет логический смысл, только если тело цикла содержит оператор ожида-
ния wait или оператор выхода из цикла exit. В противном случае бесконечное безус-
ловное повторение блокировало бы исполнение любых других операторов и процессов.
     Оператор с ключевым словом while обязательно должен содержать в теле цикла опе-
раторы, изменяющие описанное в итерационной схеме условие. Операторы цикла повторя-
ются, пока при вычислении условия не получается значения false. Условие проверяется
каждый раз перед исполнением тела цикла.
     Оператор повторения с ключевым словом for повторяется для всех значений перемен-
ной из заданного итерационной схемой диапазона.
      Отметим, что присвоенные в теле цикла значения переменных могут быть исходными
данными для очередного цикла. Если же в цикле выполнено присвоение значения сигналу,
то в следующих операторах тела и очередных повторениях того же цикла используются ста-
рые значения, если только тело цикла не содержит операторов ожидания.
     Если при моделировании и, в частности, при описании тестовых воздействий смысл
операторов повторения практически не отличается от смысла подобных конструкций в тра-
диционных языках программирования высокого уровня, то при интерпретации в аппаратуре
имеются существенные отличия. Предусматривается не просто последовательное во времени
повторение набора преобразований, а реализация набора устройств, выполняющих одно-
типные действия, причем эти устройства работают параллельно.


                                            31