Нацеливание срезов DSP на FPGA из кода HDL для умножения

Я реализую TxRx на чипе Zynq. Мой дизайн работает, но я хотел бы сделать его оптимизацию. Судя по отчету, мои слайсы DSP не используются. Я хотел бы выполнять операции умножения на срезах DSP. Я только начинаю с FPGA. Существуют ли какие-либо рекомендации по использованию фрагментов FPGA DSP для операции умножения из моего кода Verilog. Как я должен писать функции, где я пишу умножение?

С уважением,


person elem    schedule 18.03.2015    source источник


Ответы (1)


Да, в основном вы должны использовать конвейерные регистры и убедиться, что вы не используете какое-либо незаконное использование блоков DSP. Одним из примеров является то, что регистры DSP в Xilinx FPGA не имеют асинхронного сброса.

Лучший способ узнать, как использовать DSP в Verilog с ПЛИС Xilinx, — прочитать руководство по синтезу. В VHDL и Verilog вы найдете как рекомендации, так и примеры, которые будут отображаться на DSP, включая использование предварительного сумматора и аккумулятора, если они вам потребуются.

Вы также обнаружите, что в сводном отчете Vivado есть раздел, в котором показаны все используемые DSP и их конфигурация (режим и ширина). Всякий раз, когда вы чувствуете, что ваш код должен отображаться на DSP, легко убедиться, что Xilinx действительно сделала то, что вы намеревались.

person Jonathan Drolet    schedule 18.03.2015
comment
Спасибо, что предоставили мне информацию. Я вижу этот отчет, поэтому я хочу оптимизировать дизайн. Потому что, судя по отчету, слайсы LUT активно используются, а слайсы DSP вообще не используются :( - person elem; 18.03.2015