Последовательный сумматор на плис: оптимизация и производительность

Представлен последовательный сумматор, использующий один полный сумматор (Full Adder) для вычисления суммы чисел произвольной разрядности. Операнды поступают последовательно, начиная с младшего бита, а результат выдается в параллельном виде. Схема включает модули PISO (параллельный ввод, последовательный вывод) и SIPO (последовательный ввод, параллельный вывод) для преобразования данных.
Последовательный сумматор на плис: оптимизация и производительность
Изображение носит иллюстративный характер

Для управления потоком данных используется модуль flowcontrol, формирующий сигнал записи в SIPO на основе загрузки входных данных. Валидность результата определяется детектором спада сигнала записи в SIPO. Полный сумматор имеет зацикленную цепь переноса и триггеры на входах, что обеспечивает корректную работу.

Схема обеспечивает задержку в C_WIDTH + 3 такта, где C_WIDTH — разрядность операндов. Максимальная тактовая частота в 250 МГц была достигнута на кристалле xc7a35tcsg324-1 при разрядности операндов 10000 бит. Производительность системы определяется как Fmax/(N+3), где N – разрядность операндов.

Для синтеза больших проектов, где количество портов превышает возможности микросхемы ПЛИС, необходимо использовать режим синтеза out-of-context (ooc). Для повышения производительности при работе с большими разрядностями следует уменьшать fanout, например, клонированием источников сигнала.


Новое на сайте