Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Entityuand  is. Entity uor  is. Entity  inv IS. Entity ex2 IS. Architecture structure  of ex2 IS. Component uand IS. Component uor IS




ENTITYuand  IS

GENERIC ( n: INTEGER,  -- коэффициент объединения по входу

     m: INTEGER ); --  коэффициент разветвления по выходу  

PORT  (x: IN std_logic_vector (n-1 DOWNTO 0);

     y: OUT std_logic);

END uand;

 

 Универсальный элемент ИЛИ:

ENTITY uor  IS

GENERIC ( n: INTEGER,  -- коэффициент объединения по входу

   m: INTEGER ); --  коэффициент разветвления по выходу  

PORT (x:  IN std_logic_vector (n-1 DOWNTO 0);

  y: OUT std_logic);

END uor;

 

Инвертер:

ENTITY  inv IS

GENERIC (n: INTEGER ); --  коэффициент разветвления по выходу  

PORT  (x:   IN std_logic;

   y: OUT std_logic);

END inv;

 

Тогда структурная модель устройства может быть представлена, как в листинге 3. 1.

 

  Листинг 3. 1 Структурное описание простого логического устройства

 

LIBRARY ieee;

USE ieee. std_logic_1164. ALL;

 

ENTITY ex2 IS

  PORT (x0, x1, x2: IN std_logic; z: OUT std_logic);

END ex2;

 

ARCHITECTURE structure  OF ex2 IS

 

COMPONENT uand IS

GENERIC ( n: INTEGER;  m: INTEGER );      

PORT  (x: IN std_logic_vector (n-1 DOWNTO 0); y: OUT std_logic);

END COMPONENT;

 

COMPONENT uor IS

GENERIC ( n: INTEGER,  m: INTEGER );  

PORT (x: IN std_logic_vector (n-1 DOWNTO 0); y: OUT std_logic)

END COMPONENT;

 

COMPONENT inv IS

GENERIC (m: INTEGER );  

PORT  (x: IN std_logic; y: OUT std_logic);

END COMPONENT;

 

SIGNAL nx1, nx2: std_logic; -- выходы инверторов

SIGNAL y1, y2: std_logic;  -- выходы элементов И

 

BEGIN

  U1: inv GENERIC MAP (1)      

   PORT MAP (x => x1, y => nx1);

 

  U2: inv GENERIC MAP (1)      

   PORT MAP (x => x2, y => nx2);

 

  U3: uand GENERIC MAP (2, 1)      

   PORT MAP (x(0) => x0, x(1) => x2, y => y1);

 

  U4: uand GENERIC MAP (3, 1)      

   PORT MAP (x(0) => x0, x(1) => nx1,

    x(2)=> nx2, y => y2);

 

  U5: uor GENERIC MAP (2, 5)      

   PORT MAP (x(0) => y1, x(1) => y2, y => z);

 

END ARCHITECTURE structure;

 

По приведенному примеру следует сделать несколько замечаний.

Во-первых, выполняемые преобразования в программе 3. 1 технически могут быть реализованы в форме различных устройств в зависимости от целевой технологии исполнения и дополнительных устанавливаемых разработчиком опций (критериев). В частности обычно приходится иметь дело с противоречивым выбором между быстродействием, потребляемой энергией и занимаемой площадью. «Чистое поведение» часто не обеспечивает гибкого выбора. В приведенной программе 3. 1 предполагается выбор параметров компонента на основе параметров настройки. В развитых САПР предусматривается возможность выбора исполнителей из множества различных функционально эквивалентных библиотечных модулей, причем как в автоматическом, так и полуавтоматическом режимах.  

Во-вторых, надо иметь в виду, что ряд программ синтеза (например, Leonardo Spectrum) на начальных этапах синтеза автоматически преобразуют «чисто-поведенческие» фрагменты программы в структурное представление подобное листингу 3. 1.

Такое описание является исходным материалом для программ размещения и трассировки, а кроме того позволяет строить графический образ схемы соединений (так называемый schematic view) и облегчить вмешательство разработчика в процесс проектирования вплоть до возможности локальной модификации схемы или топологии (правда это относится в большей мере к проектированию заказных БИС).

 

3. 3. Практикум по теме

 

Для практического освоения приемов структурного описания предполагается выполнить проектирование устройства, реализующего семейство логических функций одних и тех же переменных в соответствии со структурой, приведенной на рис. 3. 2.

 

 

Рис. 3. 2. Реализация семейства логических функций с помощью дешифратора

Здесь дешифратор DC реализует все полные конъюнкции заданного числа переменных, а выходные функции воспроизводятся объединением по логике ИЛИ выходов дешифратора, на которых единица вырабатывается на кодах, которым соответствует единичное значение данной функции. Такая конфигурация часто используется для реализации большого числа логических функций одних и тех же переменных и представляет собой фрагмент модуля постоянной памяти. Обучающемуся предоставляется набор файлов, некоторые из которых непосредственно включаются в проект, а некоторые содержат трафареты программ, которые обучающийся модифицирует в соответствии с индивидуальным заданием.

Файл comp_lab3. Vhd содержит декларации ENTITY и поведенческие архитектурные тела компонентов, которые могут потребоваться в проекте: дешифратор (decod), четырехвходной элемент ИЛИ (or4), источник логического нуля (zero), а также модуль генерации тестового воздействия (test). Поведение последнего в точности совпадает с процессом stimulator программы 2. 5. Декларации Entity этих компонентов приведены в листинге 3. 2.

 

Листинг 3. 2. Декларации ENTITY рекомендованных компонентов

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...