Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lekz8_Stru_Metod_Oper_Configur.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
3 Мб
Скачать
☆

Условное графическое обозначение головного проекта

Иерархическая диаграмма головного проекта

Вспомогательный проект entity and_e

entity and_e is -- определение компонента and_e

port (x1, x2 : in bit;

y : out bit);

end and_e ;

architecture and_a of and_e is

begin

y <= x1 and x2;

end and_a;

Вспомогательный проект entity nand_e

entity nand_e is -- определение компонента nand_e

port (x1, x2 : in bit;

y : out bit);

end nand_e ;

architecture nand_a of nand_e is

begin

y <= x1 and x2;

end nand_a;

Важное замечание: Классическая структурная методология создания проектов базируется на использовании декларации компонента и внедрение (реализация) компонента, допуская отсутствие описания самого компонента. Поэтому, в случае отсутствия описания внедряемого компонента, наличие декларации компонента и его внедрения (реализация) недостаточны для выбора окончательного варианта спецификации проекта и связываемой с ним архитектуры. Оператор configuration …of … is снабжает конструктора информацией о том, какой реально существующий entity и architecture ассоциируется с внедряемым компонентом.

Приложение 1: Метод прямого внедрения субпроекта (компонента)

Язык VHDL поддерживает также способ прямого внедрения (direct instantion) компонента при создании проектов на базе структурного метода описания. При прямом способе внедрении не требуется специально объявлять внедряемый компонент в разделе деклараций тела архитектуры.

Суть способа прямого внедрения компонента состоит в том, что в операторе внедрения компонента непосредственно указывается имя внедряемого проекта (entity проекта) с соответствующим ему именем архитектуры.

При этом оператор внедрения компонента имеет такую конструкцию:

<метка> : entity WORK.<имя проекта> (<имя архитектуры>)

port map(<список связываемых портов>);

Заметим, что использование способа прямого внедрения компонента описание компонента и описание головного проекта следует сохранять в одной и той же проектной директории. По умолчанию, проектная директория считается рабочей библиотекой с именем WORK.

Пример проекта, где применен прямой способ внедрения компонента показан на Рис.П1.

Описание компонента

entity XOR_GATE_4 is

   port(IN1,IN2: in BIT_VECTOR(0 to 3);

        OUT1 : out BIT_VECTOR(0 to 3));

end entity XOR_GATE_4;

architecture XOR_BODY_4 of XOR_GATE_4 is

begin

   OUT1 <= IN1 xor IN2 after 5 ns;

end architecture XOR_BODY_4;

Головной проект с внедренным компонентом по прямому способу

entity EXAMPLE is

end entity EXAMPLE;

architecture STRUCTURE_1 of EXAMPLE is

signal S1,S2 : BIT_VECTOR(0 to 3);

signal S3 : BIT_VECTOR(0 to 3);

begin

   X1 : entity WORK.XOR_GATE_4(XOR_BODY_4) port map (S1,S2,S3);

end architecture STRUCTURE_1;

Рис.П1

На Рис.П2 показана суть метода прямого внедрения компонента на физическом уровне

Рис.П2 Метод прямого внедрения компонента на физическом уровне

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