Используя библиотечные компоненты, создадим модель дешифратора. При этом объявляем компоненты и описываем подключение их выводов согласно схеме дешифратора:
library IEEE,PS;
use IEEE.std_logic_1164.all;
use PS.all;
entity decoder_2_to_4 is
port(E_n, AO, Al: in std_logic;
D0_n, Dl_n, D2_n, D3_n: out std_logic); end decoder_2_to_4;
architecture structural_l of decoder_2_to_4 is
component INV
port(IN0: in std_logic;
Z: out std_logic);
end component;
component ND3
port( IN2, IN1, IN0: in std_logic;
Z: out std_logic) ;
end component;
signal E, A0_n, Al_n: std_logic;
begin
gO: INV port map (IN0 => AO, Z => A0_n);
gl: INV port map (IN0 => Al, Z => Al_n);
g2: INV port map (IN0 => E_n, Z => E);
g3: ND3 port map (IN2 => A0_n, IN1 => Al_n, IN0 => E, Z => D0_n);
g4: ND3 port map (IN2 => AO, IN1 => Al_n, IN0 => E, Z => Dl_n);
g5: ND3 port map (IN2 => A0_n, IN1 => Al, IN0 => E, Z => D2_n);
g6: ND3 port map (IN2 => AO, IN1 => Al, IN0 => E, Z => D3_n);
endstructural_l;
Объявление компонента используется для объявления типов портов и типов данных (Port types and Data Types) для портов в проекте более низкого уровня иерархии (lower-level design)
Определение компонента - Component Instantiation – используется для указания схемы подключения портов из проекта низшего уровня иерархии в проекте данного уровня иерархии
Если компонент описан в проекте низшего уровня иерархии, тогда в текущем проекте более высокого уровня иерархии следует сначала создать объявление компонента, а затем описывать подключение его портов в схеме данного проекта.
- В составе группы разработчиков проекта каждый из разработчиков может разрабатывать свой компонент в отдельном файле.
- Эти компоненты могут быть использованы разными разработчиками и применяться в следующих проектах.
- Иерархическое проектирование позволяет сделать проект более компактным и структурированным.
- Иерархическое проектирование упрощает реализацию альтернативных проектов. Пример: можно проверить возможность использования разных типов счетчиков в схеме устройства путем замены объявления компонента и замены описания подключения компонента.
Поставщики компонентов часто предоставляют библиотеки макрофункций и примитивов (libraries of macrofunctions & primitives)
Библиотеки фирмы Altera включают:
maxplus2
megacore
Библиотеки могут использоваться для управления физической имплементацией проекта в кристалл PLD.
Библиотеки поставщика компонентов повышают эффективность имплементации проекта в кристалл.
Корпорация Altera предоставляет полный набор функций LPM, а также другие примитивы и мегафункции (primitives and Megafunctions).
Библиотека LIBRARY ALTERA содержит следующие пакеты:
- maxplus2 (Component declarations for all primitives and old-style megafunction Altera libraries)
- megacore (Component declarations for some Altera Megacores)
Библиотека LIBRARY LPM содержит следующие пакеты:
- lpm_components (Component Declarations for all Altera LPM functions)
Библиотека параметризованых модулей (Library of Parametrized Modules) содержит большие структурные блоки, которыеможно конфигурировать:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.