Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Последний механизм позволяет вкладывать проекты имеющих регулярных структур и формировать многомерные массивы из компонентов



Пример 3.

Этот пример иллюстрирует возможности оператора Generate при создании проекта 16-ти разрядного параллельного сумматора с последовательным переносом по структурной методологии. Сумматор этого вида представляет собой полурегулярную структуру, содержащую 1 полусумматор и 15 полных одноразрядных сумматоров. Схема электрическая принципиальная сумматора показана на Рис.3

Рис.3

Субпроект полусумматора. (Этот Субпроект является определением компоненты (Component half_adder), которая будет один раз внедрена, в проект параллельного сумматора с систолической структурой)

-----------------------------------------------------------------------------------------------------------

ENTITY Half_adder IS

PORT (a,b: IN Bit; Sum, c: OUT Bit);

END ENTITY Half_adder;

ARCHITECTURE Half_adder OF Half_adder IS

BEGIN

Sum <= a XOR b;

c <= a AND b;

END ARCHITECTURE Half_adder;

------------------------------------------------------------------------------------------------------------

Субпроект полного одноразрядного сумматора. (Этот Субпроект является определением компоненты (Component full_adder), которая будет 15 раз внедрена, в проект параллельного сумматора с систолической структурой)

----------------------------------------------------------------

ENTITY Full_adder IS

PORT (a,b,c0: IN Bit; Sum, c: OUT Bit);

END ENTITY Full_adder;

ARCHITECTURE Full_adder OF Full_adder IS

BEGIN

Sum <= (a XOR b) XOR c0;

c <= (a AND b) OR (a AND c0) OR (b AND c0);

END ARCHITECTURE Full_adder;

Проект вехнего уровня в котором внедряются сомпоненты Half_adder и Full_adder посредством оператора Generate

--------------------------------------------------------------------------

ENTITY parallel_adder_N IS

GENERIC (width: Integer: = 16);

PORT (Sum: OUT Bit_Vector (0 TO width -1);

a,b: IN Bit_Vector (0 TO width -1); carry: OUT Bit);

END ENTITY parallel_adder_N;

ARCHITECTURE parallel_adder OF parallel_adder_N IS

SIGNAL c_in: Bit_Vector (1 TO width);

Component half_adder is

PORT (a,b: IN Bit; Sum,c: OUT Bit);





Дата публикования: 2014-11-18; Прочитано: 186 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...