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

UptoLike

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

24
исполнения до конца процессов и других параллельных операторов,
инициированных общим событием, или после исполнения оператора
останова wait. Рассмотрим пример. Предположим, что в некотором
процессе мы ввели несколько переменных
variable A: integer range 0 to 127:=0;
variable B: integer range 0 to 127:=0;
variable C: integer range 0 to 127:=0;
variable D: integer range 0 to 127:=0;
Далее встречается следующая последовательность операторов:
A:=1; B:=A+1; C:=B+2; D:=C+3;
После выполнения первой итерации процесса сигнал A будет равен
1, B будет равен
2, C – 4, а D – 7. Схемотехническая реализация данных
операторов будет выглядеть примерно следующим образом:
Теперь предположим, что речь идет о последовательном
присваивании для сигналов. В этом случае определения сигналов будут
присутствовать не в процессе, а в разделе деклараций архитектурного тела:
signal A: integer range 0 to 127:=0;
signal B: integer range 0 to 127:=0;
signal C: integer range 0 to 127:=0;
signal D: integer range 0 to 127:=0;
В теле процесса присутствуют следующие операторы:
A<=1; B<=A+1; C<=B+2; D<=C+3;
Тогда после
первого выполнения тела процесса A будет равен 1, B
также будет равен 1, C будет равен 2, а D – 3. Будет синтезирована
следующая аппаратура:
Общие правила интерпретации оператора process можно свести к
следующим:
process "запускается" при изменении любого сигнала,
перечисленного в списке инициализаторов.
+1 +2 +3
A
B
C
D
D
Q
C
+1
+2
+3
A
B
C
D
D
Q
C
D
Q
C
D
Q
C
                                            24
исполнения до конца процессов и других параллельных операторов,
инициированных общим событием, или после исполнения оператора
останова wait. Рассмотрим пример. Предположим, что в некотором
процессе мы ввели несколько переменных
     variable A: integer range 0 to 127:=0;
     variable B: integer range 0 to 127:=0;
     variable C: integer range 0 to 127:=0;
     variable D: integer range 0 to 127:=0;

     Далее встречается следующая последовательность операторов:
     A:=1; B:=A+1; C:=B+2; D:=C+3;

      После выполнения первой итерации процесса сигнал A будет равен
1, B будет равен 2, C – 4, а D – 7. Схемотехническая реализация данных


               A          B            C             D
                    +1        +2           +3

операторов будет выглядеть примерно следующим образом:

     Теперь предположим, что речь идет о последовательном
присваивании для сигналов. В этом случае определения сигналов будут
присутствовать не в процессе, а в разделе деклараций архитектурного тела:


          A                   B                          C              D
              D Q        +1        D Q          +2           D Q   +3       D Q

              C                    C                         C              C

     signal A: integer range 0 to 127:=0;
     signal B: integer range 0 to 127:=0;
     signal C: integer range 0 to 127:=0;
     signal D: integer range 0 to 127:=0;
     В теле процесса присутствуют следующие операторы:
     A<=1; B<=A+1; C<=B+2; D<=C+3;
     Тогда после первого выполнения тела процесса A будет равен 1, B
также будет равен 1, C будет равен 2, а D – 3. Будет синтезирована
следующая аппаратура:

     Общие правила интерпретации оператора process можно свести к
следующим:
     process   "запускается"   при    изменении любого   сигнала,
перечисленного в списке инициализаторов.