Доброго времени суток!
Сильно не пинайте - я в ПЛИС новичёк.
Есть задача: С 2-х канального 12 разрядного АЦП параллельно идут данные с частотой 10 МГц. Над этими данными необходимо делать несколько мат. операций: перемножить их, возвести в куб, в 4 степень и т.п. всего 11 различных вариантов. Результаты накапливать и выдавать в процессор с частотой 5 кГц для последующей обработки.
ПЛИС Cyclon III. Среда Quartus. Сейчас делаю так: 1) С внешнего генератора подаю 10 МГц. При помощи pll получаю 100 МГц. Все умножения разбил на 3 этапа для конвейера. На 4 этапе конвейера накапливаю данные. 2) Данные с АЦП сразу преобразую в числа с плавающей точкой altfp_convert и все последующие умножения и суммирования с плавающей точкой в altfp_mult altfp_add_sub.
Дальше вопросы: 1) Имеет ли смысл связываться с плавающей точкой? 2) Результаты накопления планирую передавать по SPI. Но если с конвейером и умножениями понятно, то как результаты накопления слать по SPI? Что реализовывать: мастер или слейв?
Спасибо.
|