Оператор присваивания значения сигналу — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Оператор присваивания значения сигналу

2022-11-27 37
Оператор присваивания значения сигналу 0.00 из 5.00 0 оценок
Заказать работу

В языке VHDL в операторах назначения сигналов используются два вида задержек: 1). инерционная задержка; 2). транспортная задержка; Ключевое слово inеrtial определяет инерционную задержку, ключевое слово transport определяет транспортную задержку.

Пример.

Х<= inertial Y after 3 ns;    - инерционная задержка

Х<= transport Y after 3ns;  - транспортная задержка.

Оператор if

Подобен операторам if в других языках программирования. Выражение, представляющее собой “условие” должно иметь тип BOOLEAN. В одном if операторе может быть одна (ни одной) либо более частей elsif.

Оператор case

Оператор case выбирает одну из альтернатив, избранная альтернатива (случай) определяется значением выражения. Выражение должно быть дискретного типа или типа одноразмерного массива символов.

Оператор next

next [метка цикла][when условие]

Оператор употребляется для завершения итераций цикла.

Оператор exit

exit [метка цикла][when условие]

Оператор употребляется, чтобы завершить выполнение и закрыть оператор цикла. Если условие (condition) есть TRUE, то осуществляется выход из цикла.

Операторnull (пустой)

Оператор null не представляет действий. Он употребляется, чтобы точно специфицировать, что нет действий.

Оператор вызова процедуры

Состоит из имени процедуры с аргументами (если они есть) в скобках.

Оператор return(возврат)

return [выражение]

Употребляется, чтобы завершить выполнение самой внутренней функции или процедуры. Он используется только внутри тела функции или процедуры.

Оператор assert(сообщение)

assert условие [report выражение][severity выражение]

Операторы сообщений проверяют является ли условие истинным, и сообщают об ошибке, если условие является ложным.

9 Операторы цикла в языке VHDL.

Этот оператор (loop) несколько раз выполняет последовательность операторов. Его синтаксис:

\оператор цикла\::=[\метка\:][\схема итерации\] loop

{\последовательный оператор\}

{ next [\метка\][ when \условие\];}

{ exit [\метка\][ when \условие\];}

end loop [\метка\];

\схема итерации\::= while \условие\ | for \переменная цикла \ in \диапазон\

Метка \метка\ необязательна, она отмечает начало цикла и используется для организации вложенных циклов или для указания в каком цикле начать новую итерацию по оператору next или из какого цикла выйти по оператору exit.

variable vec: bit_vector(1 to n);

variable or_vec:bit;

….

or_vec:='0';

for i in 1 to n loop

or_vec:= or_vec or vec(i);

end loop;

Оператор loop часто применяется без схемы итерации, т.е. когда цикл может выполняться неопределенно большое число раз.

signal clk: bit;

signal numb:natural;

numb<=0;

Loop

wait until clk='1';

numb<=numb+1;

end loop;

10 Операторы процесса языка VHDL.

Оператор процесса – это параллельный оператор, представляющий основу языка VHDL.

Оператор процесса есть параллельный оператор, который оп­ределяет независимое последовательное поведение некоторой части проекта, описанное упорядоченной совокупностью последователь­ных операторов.

 Его упрощенный синтаксис:

\оператор процесса\::=[ postponed ] process [(\имя сигнала\ {,\имя сигнала\})] [ is ]

{\объявление в процессе\}

Begin

{\последовательный оператор\}

end process;

Метка процесса необязательна, однако, если она есть в конце (после слов end process), то она должна быть и вначале перед словом process. В декларативной части процесса могут быть: тела подпрограмм; декларации подтипов; декларация констант; декларация файлов; декларация альтернативных точек входа в подпрограмму; декларация атрибутов; спецификации атрибутов.

Все процессы в программе выполняются параллельно. Процессы обмениваются сигналами, которые выполняют синхронизацию процессов и переносят значения между ними. Если над сигналами определена функция разрешения, то выходы источников сигнала могут объединяться. Сигналы нельзя объявлять в процессах. Процесс невозможно поместить в процесс, так как там есть место только для последовательных операторов.

В круглых скобках заголовка процесса указывается множество сигналов, по которым процесс запускается – список чувствительности.

Это форма оператора процесса, альтернативная процессу с оператором wait on, стоящим последним в цепочке последовательных операторов тела процесса.

В операторе процесса со списком чувствительности ставить операторы wait не допускается. Так как отложенный процесс запускается последним в цепочке процессов с дельта-задержкой, то он сам должен исполняться с ненулевой задержкой, т.е. в нем должен быть оператор wait for.

11 Процедуры и функции в языке VHDL. Атрибуты.

Подпрограммы имеют две формы - функции и процедуры. Вызов процедуры есть оператор, в то время как вызов функций воз­вращает значение в выражении.

Функции. Общий вид оператора декларации функции:

[pure | impure] function имя функции (параметр {, параметр})

return тип возвращаемого функцией значения is
раздел деклараций

begin

тело функции

end [имя функции];

Функция имеет только входные параметры. Функция может содержать последовательные операторы, ис­ключая операторы ожидания и назначения сигналов. В теле функции могут декларироваться локальные переменные.

Функция разрешения - это функция определения значения сигнала по его значениям из различных источников.

Процедуры. Общий вид оператора декларациипроцедуры:

procedure имя процедуры (параметр {, параметр}) is

раздел деклараций

begin

тело процедуры

end [имя процедуры];

Процедура может иметь входные (in), выходные (out) и вход/выходные (inout) параметры. Это могут быть сигналы, переменные или константы. По умолчанию входные параметры - константы, выходные и вход/выходные параметры - переменные.

Общий вид оператора вызовапроцедуры:

имя процедуры (фактический параметр {, фактический параметр});

Атрибуты - это значения, связанные с поименованным элементом - объектом языка VHDL.В VHDL имеются предопределенные атрибуты и определенные пользователем атрибуты. Для построения моделей и моделирования важную роль играют атрибуты сигналов. Например предопределенный атрибут event  ассоциируется с каким-либо сигналом (например, с сигналом СLК). Атрибут записывается СLK’event. Этот атрибут имеет тип BOOLEAN с значением T RU E когда значение CLK изменилось.

Атрибут S’last_value' (прошлое значение S) - предыдущее значение, которое сигнал имел непосредственно перед последним изменением S. Относится к тому же самому типу, что и S.

Атрибут S’transaction имеет тип bit атрибут изменяет свое значение в циклах моделирования в которых происходит изменение (транзакция) S.

Атрибут S’stable(Т) имеет тип BOOLEAN. Атрибут имеет истинное значение, если сигнал S стабилен в течение последних Т единиц времени. Если Т=0, атрибут записывается S’stable.

Атрибуты сигналов, в том числе и такие, как S’delayed(t), S’quiet(t), S’transaction, S’active(t), S’last_event, S’driving, S’driving_value используются главным образом при моделировании.

12 Параллельные операторы языка VHDL.

Параллельные операторы в VHDL определяют параллельное (во времени) поведение схем. Параллельные операторы активизируются сигналами, которые употребляются для связи параллельных операторов.

Параллельные операторы:

1) оператор process (процесс);

2) оператор параллельного сообщения;

3) оператор параллельного вызова процедуры;

4) оператор условного назначения сигнала;

5) оператор select выборочного назначения сигнала;

6) оператор конкретизации (создания экземпляра) компонента;

7) оператор generate (генерации);

8) оператор block (блок).                        

1). Параллельный оператор process - определяет независимое последовательное поведение некоторой части проекта, описанное упорядоченной совокупностью последовательных операторов

2). Оператор параллельного сообщения. "Параллельность” заключается в том, что оператор assert может присутствовать в параллельных процессах.

3). Оператор параллельного вызова процедуры представляет процесс, содержащий оператор последовательного вызова процедуры.

4). Параллельный оператор условного назначения сигнала эквивалентен оператору процесса

5). Параллельный оператор select выборочного назначения сигнала. Данный оператор эквивалентен оператору процесса.


Поделиться с друзьями:

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.034 с.