ВУЗ:
Составители:
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 "запускается" при изменении любого сигнала, перечисленного в списке инициализаторов.
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »