ОПЕРАТОР ОЖИДАНИЯ WATI ЯЗЫКА VHDL



Операторы ожидания позволяют управлять моментами времени, в которые параллельные операторы будут реагировать на изменение сигналов. Опера­торы ожидания имеет следующий синтаксис:

 

wait [ on signal_jname {,...} ]

[until boolean_expression]                                                             

[for time_expression];

Оператор wait позволяет приостанавливать выполнение параллельного опе­ратора в модели и программно задавать условия, при которых его выполне­ние может быть возобновлено.

Выполнение оператора wait приводит к приостановке выполнения парал­лельного оператора на некоторое время или до выполнения некоторого ус­ловия. Как только заданные условия будут выполнены, процесс продолжит свое выполнение.

Секция on позволяет определить список сигналов, на изменение которых будет реагировать процесс. Когда выполнение процесса доходит до оператоpa wait, оно приостанавливается до момента, когда какой-либо из указан­ных в списке сигналов изменит значение.

Секция until позволяет определить булевское выражение, которое должно иметь значение true (для того, чтобы процесс продолжил выполнение после этой инструкции). Если же в момент выполнения оператора wait условие уже имело значение true, то выполнение процесса будет продолжено толь­ко после того, как заданное условие сначала примет значение false, а по­том вновь значение true. Если команда содержит и секцию on, и секцию until, то булевское выражение, стоящее в until, проверяется только при условии, что произошло изменение какого-либо сигнала, стоящего в списке секции on.

Секция for позволяет определить интервал времени, на который процесс приостанавливается в модельном времени. Эта секция может задаваться вместе с двумя предыдущими. В таком случае процесс возобновит исполне­ние, как только условие, заданное одной из секций будет выполнено. Если присутствуют все три секции, то условие секции until проверяется только при изменении одного из сигналов, указанных в секции on.

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


КОМПОНЕНТ. ДЕКЛАРАЦИЯ КОМПОНЕНТА НА ЯЗЫКЕ VHDL

Компо­нент — подсистема, объединенная сигналами.

Для того чтобы один объект моделирования мог быть включен в состав дру­гого объекта, его необходимо декларировать как компонент — component.

Декларация компонента должна полностью совпадать с декларацией соот­ветствующего ему объекта моделирования, но ключевое слово entity заме­няется ключевым словом component.

Декларация компонента имеет следующий синтаксис:

 

component component_name is

[generic (generic_interface_list);]

[port (port_interface_list);]

end component [component_name] ;

Идентификатор component_name вводит имя компонента описываемого ви­да.


СТРУКТУРНОЕ ОПИСАНИЕ ОБЪЕКТА МОДЕЛИРОВАНИЯ НА ЯЗЫКЕ VHDL

Структурное описание позволяет описать систему как совокупность компо­нентов — подсистем, объединенных сигналами. Подсистемы также являют­ся объектами моделирования, но находятся на более низком уровне иерар­хии структурирования и представления проектируемого устройства. Каждая подсистема, в свою очередь, может быть представлена совокупностью под­систем, и так далее, пока на каком-то уровне не будет задано поведенческое описание архитектуры компонента, или не будет использован предопреде­ленный компонент.

 

                        


 

Каждый компонент, используемый в структурном описании, должен быть сам описан как объект моделирования (entity). Каждое такое описание мо­жет быть размещено в отдельном файле или библиотеке.


63. ОПИСАНИЕ ПЕРЕМЕННЫХ И КОНСТАНТ НА ЯЗЫКЕ VHDL . ЛИТЕРАЛЫ
Описание констант и переменных имеет сходную структуру. В начале строки описания указывается ключевое слово, определяющее вид описываемого объекта, затем указывается одно или несколько имен описы­ваемых объектов и их тип. Для констант должно быть указано значение, для переменных указание начального значения возможно, но не обязательно.

Описание константы имеет следующий синтаксис:

constant name {,...}:subtype_indication := expression

 

Например:

constant address_length: integer:=4;

Описание переменной имеет следующий вид:

 

variable name{,...}: subtype_indication[:=eapression];

Например:

 

variable counter: integer:=7;

Литералом задается лексический элемент, который при компиляции кодируется некоторым числовым кодом.


Дата добавления: 2020-04-08; просмотров: 258; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!