Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PROGRAMMIRUEMYE_TsIFROVYE_USTROJSTVA.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.86 Mб
Скачать
  1. Описание переменных и констант на языке vhdl. Литералы.

Описание констант, переменных и сигналов имеет сходную структуру. В начале строки описания указывается ключевое слово, определяющее вид описываемого объекта, затем указывается одно или несколько имен описываемых объектов и их тип. Для констант должно быть указано значение, для переменных и сигналов указание начального значения возможно, но не обязательно.

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

constant имя константы: имя типа : = значение;

Например:

constant address_length: integer:=4;

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

variable имя переменной: имя типа [ :=значение];

Например:

variable counter: integer:=7;

Присваивание нового значения переменной:

[метка:]имя:=значение;

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

signal идентификатор: тип сигнала [:=значение];

Например:

signal flagl:bit;

signal flag2:bit:='l';

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

  1. Библиотеки, их описание на языке vhdl.

Для облегчения процесса проектирования описание объекта моделирования и различные варианты описания его архитектуры обычно размешают в библиотеках (они организованы как отдельные файлы). Это позволяет редактировать описание одних объектов, не затрагивая файлы, в которых расположены описания других объектов. Кроме того, библиотеки могут быть использованы в различных проектах, что позволяет лучше организовать повторное использование уже разработанных объектов.

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

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

library имя библиотеки…

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

use имя библиотеки (identifier | all)

Если в описании указано ключевое слово all, то все объекты, содержащиеся в библиотеке, становятся непосредственно видимыми.

  1. Пакеты, их описание на языке vhdl.

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

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

package имя пакета is

end [package] [имя пакета];

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

package body name is

(элементы тела пакета)

end [package body] [name];

Описание пакета может состоять только из декларативной части. Пример такого описания:

package epu_types is

constant word_size;

positive: =16;

subtype word is: bit_vector (word_size-l downto 0);

end package epu_types;

Обращение к объекту, расположенному в пакете, имеет следующий синтаксис:

Library_name. package_name. object_name.

где: library_name — имя процедуры, package_name — имя пакета, object_name — имя объекта.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]