ВУЗ:
Составители:
36
инициированных одним событием, или через интервал модельного
времени, заданный опцией after.
Условное присваивание и присваивание по выбору (параллельное) во
многом сходны с условным оператором и оператором выбора
(последовательными), так как описанные действия выполняются при
определенных условиях. Однако условный оператор и оператор выбора
являются составными, т. е. условие может задавать в
них исполнение
последовательности действий, а в операторах присваивания — только
присвоение одного значения.
<условное присваивание>: : =
<приемник> <= [guarded] [<модель задержки>] «<прогноз
поведения> when <условие> else » <прогноз поведения>;
Например, двухвходовый буфер с тремя состояниями на выходе
может быть представлен следующим оператором:
OUT<= transport X0 after 2 ns when (ADR = '0' and EN='L') else X1 after 2
ns when (ADR='L' and EN='L') else 'Z' after 5 ns;
Здесь битовый сигнал ADR задает номер включаемого канала, а
EN –
разрешение передачи.
Параллельный оператор присваивания по выбору имеет вид:
<присваивание по выбору> : : =
with <ключевое выражение> select
<приемник> <= [ guarded ] [<модель задержки>] «<прогноз поведения>
when <вариант>,» <прогноз поведения> when <вариант>;
Следующий оператор описывает буфер с тремя состояниями:
with A & B select
Z_OUT<= transport X0 after 2 ns when "01",
X1 after 2 ns when "11",
‘Z’ after 5 ns when others;
Условный оператор if и оператор выбора case не могут
выполняться
над данными, вырабатываемыми различными операторами процесса, а
условное присваивание и присваивание по выбору позволяют описывать
такие ситуации.
entity THREE_CHANNEL is
port ( DATA_IN: in integer; -- условные входные данные
36 инициированных одним событием, или через интервал модельного времени, заданный опцией after. Условное присваивание и присваивание по выбору (параллельное) во многом сходны с условным оператором и оператором выбора (последовательными), так как описанные действия выполняются при определенных условиях. Однако условный оператор и оператор выбора являются составными, т. е. условие может задавать в них исполнение последовательности действий, а в операторах присваивания — только присвоение одного значения. <условное присваивание>: : = <приемник> <= [guarded] [<модель задержки>] «<прогноз поведения> when <условие> else » <прогноз поведения>; Например, двухвходовый буфер с тремя состояниями на выходе может быть представлен следующим оператором: OUT<= transport X0 after 2 ns when (ADR = '0' and EN='L') else X1 after 2 ns when (ADR='L' and EN='L') else 'Z' after 5 ns; Здесь битовый сигнал ADR задает номер включаемого канала, а EN – разрешение передачи. Параллельный оператор присваивания по выбору имеет вид: <присваивание по выбору> : : = with <ключевое выражение> select <приемник> <= [ guarded ] [<модель задержки>] «<прогноз поведения> when <вариант>,» <прогноз поведения> when <вариант>; Следующий оператор описывает буфер с тремя состояниями: with A & B select Z_OUT<= transport X0 after 2 ns when "01", X1 after 2 ns when "11", ‘Z’ after 5 ns when others; Условный оператор if и оператор выбора case не могут выполняться над данными, вырабатываемыми различными операторами процесса, а условное присваивание и присваивание по выбору позволяют описывать такие ситуации. entity THREE_CHANNEL is port ( DATA_IN: in integer; -- условные входные данные
Страницы
- « первая
- ‹ предыдущая
- …
- 34
- 35
- 36
- 37
- 38
- …
- следующая ›
- последняя »