Представлен последовательный сумматор, использующий один полный сумматор (Full Adder) для вычисления суммы чисел произвольной разрядности. Операнды поступают последовательно, начиная с младшего бита, а результат выдается в параллельном виде. Схема включает модули PISO (параллельный ввод, последовательный вывод) и SIPO (последовательный ввод, параллельный вывод) для преобразования данных.
Для управления потоком данных используется модуль
Схема обеспечивает задержку в C_WIDTH + 3 такта, где C_WIDTH — разрядность операндов. Максимальная тактовая частота в 250 МГц была достигнута на кристалле xc7a35tcsg324-1 при разрядности операндов 10000 бит. Производительность системы определяется как Fmax/(N+3), где N – разрядность операндов.
Для синтеза больших проектов, где количество портов превышает возможности микросхемы ПЛИС, необходимо использовать режим синтеза out-of-context (ooc). Для повышения производительности при работе с большими разрядностями следует уменьшать fanout, например, клонированием источников сигнала.
Изображение носит иллюстративный характер
Для управления потоком данных используется модуль
flowcontrol
, формирующий сигнал записи в SIPO на основе загрузки входных данных. Валидность результата определяется детектором спада сигнала записи в SIPO. Полный сумматор имеет зацикленную цепь переноса и триггеры на входах, что обеспечивает корректную работу. Схема обеспечивает задержку в C_WIDTH + 3 такта, где C_WIDTH — разрядность операндов. Максимальная тактовая частота в 250 МГц была достигнута на кристалле xc7a35tcsg324-1 при разрядности операндов 10000 бит. Производительность системы определяется как Fmax/(N+3), где N – разрядность операндов.
Для синтеза больших проектов, где количество портов превышает возможности микросхемы ПЛИС, необходимо использовать режим синтеза out-of-context (ooc). Для повышения производительности при работе с большими разрядностями следует уменьшать fanout, например, клонированием источников сигнала.