Вспомогательный проект 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;

 

 

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

 

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

 

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

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

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

 

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

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

 

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

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