Программирование на зыке VHDL: Конспект лекций, страница 3

·  Устанавливает связь между Entity и Architecture

·  Устанавливает связь компонента с Entity-Architecture

-  Широко используется при моделировании

·  Обеспечивает гибкий и быстрый путь для альтернативного проектирования

-  Ограниченно используется или вообще не поддерживается в средствах синтеза схем

Пример:

CONFIGURATION <identifier> OF <entity_name> IS

FOR <architecture name>

END FOR;

END; (1076-1987 version) END CONFIGURATION; (1076-1993 version)

2.3.1. Пример применения Entity, Architecture, Configuration

2.4. Packages - пакеты

Packages обычный способ хранения и использования информации в пределах всей модели.

Packages состоит из:

-  Package Declaration – объявление пакета (Required)

·  Type declarations – объявления типов

·  Subprograms declarations – объявления подпрограмм

-  Package Body –тело пакета (Optional)

·  Subprogram definitions – определения подпрограмм

VHDL имеет два встроенных набора Packages:

-  Standard

-  TEXTIO

2.4.1. Объявление Packages

PACKAGE <package_name> IS

Constant Declarations

Type Declarations

Signal Declarations

Subprogram Declarations

Component Declarations

--There are other Declarations

END <package_name>; (1076-1987)

END PACKAGE <package_name> ; (1076-1993)

PACKAGE BODY <package_name> IS

Constant Declarations

Type Declarations

Subprogram Body

END <package_name>; (1076-1987)

END PACKAGE BODY <package_name> ; (1076-1993)

2.5. Libraries - библиотеки

Содержит пакет или набор пакетов.

Resource Libraries – библиотеки ресурсов:

-  Standard Package

-  IEEE developed packages

-  Altera Component packages

-  Any library of design units that are referenced in a design

• Working Library – рабочая библиотека

-  Библиотека, в которую помещается результат компиляции модуля.

2.5.1. Связь модели и Library/Package

Все пакеты должны быть откомпилированы

Обязательные библиотеки:

-  Work

-  STD

Примечание: на элементы этих библиотек ссылки не требуются, они являются предопределенными

LIBRARY Clause

- Определяет имя библиотеки, на которую можно выполнить ссылку

- Является символическим именем с указанием path/directory

- Задается средствами компиляции

USE Clause

-  Определяет пакет и объект в библиотеке, которую вы определили в выражении Library clause

2.5.2. Подключение библиотеки

Форматы объявлений:

LIBRARY <name>, <name> ;

Name– символическое имя, определяемое средствами инструментальногопрограммного пакета.

WORK, STD – встроенные библиотеки, они не требуют объявления

USE lib_name.pack_name.object;

ALL– ключевое слово, подключает все элементы библиотеки

Размещение выражений Library/Use в начале проекта дает возможность ссылки на ее компоненты в пределах всего проекта.

2.5.3. Библиотека LIBRARY STD

Содержит следующие пакеты:

• standard (Types: Bit, Boolean, Integer, Real, Time. Все операторные функции для поддержки типов данных)

• textio (File operations)

 Является встроенной библиотекой (An implicit library, built-in)

• Не требует объявления в проекте VHDL

2.5.4 Предопределенные в Standard Package типы данных

Type BIT

-  2 logic value system ('0','1')

signal a_temp: bit;

BIT_VECTOR array of bits

signal temp1: bit_vector(3 downto 0);

signal temp2: bit_vector(0 to 3);

Type BOOLEAN

-  (false, true)

Integer

-  Positive and negative values in decimal

signal int_tmp : integer; - 32 bit number

signal int_tmp1 : integer range 0 to 255; -8 bit number

Примечание: Standard package имеет и другие типы

2.5.5. Библиотека LIBRARY IEEE;

Содержит следующие пакеты:

• std_logic_1164 (std_logic types & related functions)

• std_logic_arith (arithmetic functions)

• std_logic_signed (signed arithmetic functions)

• std_logic_unsigned (unsigned arithmetic functions)

2.5.6. Типы, определенные в std_logic_1164 Package