Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба4.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
36.26 Кб
Скачать

9) В чём различия между строго структурным, поведенческим и потоковым описаниями моделей?

В VHDL существуют два основных уровня описания архитектуры объектов — поведенческий и структурный.

На поведенческом уровне описание объектов проекта представляется в VHDL в виде набора параллельных процессов. Организация процессов обеспечивается введением оператора процесса и оператора параллельного присваивания сигналов, также представляющего процессы. Это определяет две формы описания объектов на поведенческом уровне — потоковую и процессную.

Потоковое описание (data-flow description) - архитектура представляется в виде множества параллельных регистровых операций, каждая из которых управляется вентильными сигналами. Потоковое описание соответствует стилю описания, используемому в языках регистровых передач. Для сигналов вводятся специальные операторы параллельного присваивания "<=", являющиеся эквивалентами операторов присваивания ":=" для простых переменных, но имитирующие параллельные процессы с сигналами.

В процессной форме описание объекта производится при помощи процессов. Процесс в VHDL определяет независимую повторяющуюся последовательность операторов и представляет поведение некоторой части проекта.

Поведенческий уровень описания объектов проекта является базовым, поскольку любые схемы, по крайней мере на самом нижнем уровне, представлены элементами, реализация которых выполнена на уровне поведения.

Структурный уровень описания объектов проекта. На структурном уровне объект представлен в виде иерархии связанных компонентов, на низшем уровне компоненты реализуются при помощи поведенческого описания.

10) Как отсоединить источник от сигнала не используя состояние ’z’ типа std_logic?

«1»Использование GUARD сигнала и функции DISCONNECT;

DISCONNECT I: STD_LOGIC AFTER 3 ns;

«2» Присвоение нулевого сигнала:

I: std_logic;

I<=null;

1.

Синтаксис оператора if. Условный паралел и послед оператор

2.

Синтаксис оператора

case. Выбора паралел и послед оператор

3.

Синтаксис оператора process. Процесс параралел

4.

Синтаксис оператора break. Пауза

5.

Синтаксис модуля library.

6.

Синтаксис модуля entity.

Следующие простые типы являются предопределенными:

  • BOOLEAN (логический) – объекты данного типа могут принимать значения FALSE (ложь) и TRUE (истина).

  • INTEGER (целый) – значения данного типа представляют собой 32-разрядные числа со знаком. Объекты типа INTEGER могут содержать значения из диапазона –(231–1)…231–1 (-2147483647 … 2147483647).

  • BIT (битовый) – представляет один логический бит. Объекты данного типа могут содержать значение '0' или '1'.

  • STD_LOGIC (битовый) – представляет один бит данных. Объекты данного типа могут принимать 9 состояний. Данный тип определен стандартом IEEE 1164 для замены типа BIT.

  • STD_ULOGIC (битовый) – представляет один бит данных. Объекты данного типа могут принимать 9 состояний. Данный тип определен стандартом IEEE 1164 для замены типа BIT (см. Примечание).

  • ENUMERATED (перечислимый) – используется для задания пользовательских типов.

  • SEVERITY_LEVELперечислимый тип, используется только в операторе ASSERT.

  • CHARACTER – символьный тип.

  • Оператор

Описание

Wait until condition;

Приостанавливает выполнение процесса, содержащего данный оператор до момента выполнения условия. 

Signal <= expression

Оператор присваивания сигнала устанавливает его значение равным выражению справа. 

Variable := expression

Оператор присваивания устанавливает значение переменной равным выражению справа. 

Procedure_name ( parameter { , parameter } )

Оператор вызова процедуры состоит из имени процедуры и списка фактических параметров. 

If condition then

Sequence_of_statements

{ Elsif condition then

Sequence_of_statements }

[ else

sequence_of_statements ]

end if

Оператор if используется для ветвления алгоритма по различным условиям. 

Case expression is

When choices_list => sequence_of_statements;

{ When choices_list => sequence_of_statements; }

When others => sequence_of_statements;

End case;

Оператор case подобно оператору if задает ветвление алгоритма. Значения в списках разделяются символом «|». Когда значение выражения встречается в одном из списков значений, выполняется соответствующая последовательность операторов. Если значение выражения не присутствует ни в одном из списков, то выполняется список операторов, соответствующий ветви when others

[ loop_label : ]

for loop_index_variable in range loop

sequence_of_statements

end loop [ loop_label ] ;

Оператор цикла позволяет многократно выполнить последовательность операторов. Диапазон значений задается в виде value1 to value2 или value1 downto value2. Переменная цикла последовательно принимает значения из заданного диапазона. Количество итераций равно количеству значений в диапазоне. 

Return expression ;

Этот оператор возвращает значение из функции. 

Null

Пустой оператор, не выполняет никаких действий.

Entity <name> is

Port (<names of ports>: in <type>;<names of ports>: <type>);

End <name>.

Интерфейс описывается в объявлении объекта entity declaration и определяет входы и выходы объекта, его входные и выходные порты ports и параметры настройки generic. Параметры настройки отражают тот факт, что некоторые объекты могут иметь управляющие входы, с помощью которых может производиться настройка экземпляров объектов в частности, задаться временем задержки.

assert

Средством отображения информации о запрещенных ситуациях в языке VHDL является оператор утверждения (оператор контроля, оператор аномалии) assert. В нем помимо контролируемого условия, которое не должно быть нарушено, т. е. должно быть истинным, записывается сообщение report о нарушении и уровень серьезности ошибки severity.

package

Описание пакета VHDL задается ключевым словом package и используется, чтобы собирать часто используемые элементы конструкции для использования глобально в других проектах. Пакет можно рассматривать как общую область хранения, используемую, чтобы хранить такие вещи как описания типов, констант, и глобальные подпрограммы. Объекты, определенные в пределах пакета можно использовать в любом другом проекте на VHDL, и можно откомпилировать в библиотеки для дальнейшего повторного использования.

port map

Карта портов port map определяет соответствие карту портов как разъем, на который приходят сигналы и в который вставляется объект-компонента.

Имя: тип связи (сигнал, порт).

=, /=, <, <=, >, >=

Операторы отношения

AND, OR, NAND, NOR, XOR и NOT

Логические операции

+, –, ABS, *, /, MOD, REM

Арифметические операторы