Возможно ли сделать асинхронный сумматор и перемножитель для плавающей точки хотя-бы одинарной точности (32 бита), ПЛИС Cyclone 3? Есть ли примеры (VHDL) или надо писать самому?
Собственно задача сделать БИХ-фильтр 16 порядка (32 коэффициента) на поток данных 1 МГц. Хочется сэкономить на логике и энергопотреблении за счет уменьшения частоты дизайна. Встроенный конструктор Quartus умеет генерировать только очень латентные (а значит расходующие много лишней логики на защелкивание промежуточных результатов) умножители и сумматоры. Поэтому предполагаю рассчитывать последовательно, в 2-4 потока однотактовыми операциями (2-4 асинхронных умножителя и сумматоры по месту), частота дизайна не более 20МГц, соответственно 20 тактов на расчет одного результата должно хватить.
Если ход мыслей неверный, подскажите, как можно решить такую задачу.
|