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

UptoLike

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

34
9 оператор параллельного присваивания выполняется сразу (с точки зрения мо-
дельного времени) после изменения сигналов в правой части этого оператора.
В обоих случаях результаты присвоения сначала фиксируются в драйвере сигнала и пе-
редаются сигналу, т. е. могут влиять на другие операторы, только после исполнения всех
операторов и процессов, инициированных одним событием, или через интервал модельного
времени, заданный опцией
after.
Условное присваивание и присваивание по выбору. Эти операторы во многом сходны
с условным оператором и оператором выбора, соответственноописанные действия вы-
полняются при определенных условиях. Различие, кроме единых для всех параллельных и
последовательных операторов свойств, состоит в том, что условный оператор и оператор вы-
бора являются составными, т. е. в
них условие может задавать исполнение последовательно-
сти действий, а в операторах присваивания возможно только присвоение одного значения.
<Условное присваивание>::=
<приёмник> <= [guarded] [<модель задержки>]
{<прогноз поведения> when <условие> else} <прогноз поведения>;
<присваивание по выбору>::=
with <ключевое выражение> select
<приемник> <= [guarded] [<модель задержки>]
«<прогноз поведения> when <вариант>,»
<прогноз поведения> when <вариант>;
Смысл и синтаксис конструкции вариант точно совпадает с соответствующим элемен-
том оператора выбора.
Важно отметить, что если условный оператор
if и оператор выбора case не могут
выполняться над данными, вырабатываемыми модулями, представленными различными
операторами процесса, то условное присваивание и присваивание по выбору позволяют опи-
сывать такие ситуации.
Параллельные операторы проверки и вызова подпрограмм соотносятся с со-
ответствующими последовательными операторами проверки и вызова подобно соотношению
параллельного и последовательного присваивания, а именно: они имеют одинаковый синтак-
сис и правила выполнения, но различаются локализацией и условиями запуска к исполне-
нию.
4.8.2. Оператор блока
Оператор блока block, подобно оператору process, является составным оператором,
тело которого включает несколько операторов, но, в данном случае, параллельных. Операто-
ры тела блока, как и другие параллельные операторы, обеспечивают возможность представ-
ления параллелизма в моделируемой системе. Эти операторы инициируются не по последо-
вательному, а по событийному принципу, а результаты их исполнения становятся доступны
другим операторам как включенным в блок, так и размещенным в других блоках или по от-
дельности, только после исполнения всех операторов, инициированных одним событием. В
этом смысле операторы, включенные в блок, не отличаются от обычных параллельных опе-
раторов.
Объединение операторов в блоки обеспечивает следующие возможности:
          9 оператор параллельного присваивания выполняется сразу (с точки зрения мо-
          дельного времени) после изменения сигналов в правой части этого оператора.
     В обоих случаях результаты присвоения сначала фиксируются в драйвере сигнала и пе-
редаются сигналу, т. е. могут влиять на другие операторы, только после исполнения всех
операторов и процессов, инициированных одним событием, или через интервал модельного
времени, заданный опцией after.
     Условное присваивание и присваивание по выбору. Эти операторы во многом сходны
с условным оператором и оператором выбора, соответственно — описанные действия вы-
полняются при определенных условиях. Различие, кроме единых для всех параллельных и
последовательных операторов свойств, состоит в том, что условный оператор и оператор вы-
бора являются составными, т. е. в них условие может задавать исполнение последовательно-
сти действий, а в операторах присваивания возможно только присвоение одного значения.
<Условное присваивание>::=
<приёмник> <= [guarded] [<модель задержки>]
{<прогноз поведения> when <условие> else} <прогноз поведения>;
<присваивание по выбору>::=
with <ключевое выражение> select
<приемник> <= [guarded] [<модель задержки>]
«<прогноз поведения> when <вариант>,»
<прогноз поведения> when <вариант>;
     Смысл и синтаксис конструкции вариант точно совпадает с соответствующим элемен-
том оператора выбора.
     Важно отметить, что если условный оператор if и оператор выбора case не могут
выполняться над данными, вырабатываемыми модулями, представленными различными
операторами процесса, то условное присваивание и присваивание по выбору позволяют опи-
сывать такие ситуации.
     Параллельные операторы проверки и вызова подпрограмм соотносятся с со-
ответствующими последовательными операторами проверки и вызова подобно соотношению
параллельного и последовательного присваивания, а именно: они имеют одинаковый синтак-
сис и правила выполнения, но различаются локализацией и условиями запуска к исполне-
нию.
4.8.2. Оператор блока
     Оператор блока block, подобно оператору process, является составным оператором,
тело которого включает несколько операторов, но, в данном случае, параллельных. Операто-
ры тела блока, как и другие параллельные операторы, обеспечивают возможность представ-
ления параллелизма в моделируемой системе. Эти операторы инициируются не по последо-
вательному, а по событийному принципу, а результаты их исполнения становятся доступны
другим операторам как включенным в блок, так и размещенным в других блоках или по от-
дельности, только после исполнения всех операторов, инициированных одним событием. В
этом смысле операторы, включенные в блок, не отличаются от обычных параллельных опе-
раторов.
     Объединение операторов в блоки обеспечивает следующие возможности:
                                             34