Проектирование цифровых устройств с помощью языка описания аппаратуры VHDL. Бобрешов А.М - 32 стр.

UptoLike

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

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