![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Пример 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; Прочитано: 195 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!