Как использовать LogiCORE DSP48 Macro? - PullRequest
0 голосов
/ 21 мая 2018

Я хочу узнать, как использовать LogiCORE DSP48 Macro.Я читаю документацию по Xilinx, но не могу понять, как начать свой первый дизайн с DSP48 Macro.Может кто-нибудь помочь мне сделать простой дизайн, чтобы лучше понять это IP-ядро?

Заранее спасибо!

1 Ответ

0 голосов
/ 22 мая 2018

Во многих случаях вы будете использовать DSP48, написав выражения Verilog / VHDL, содержащие сложение, вычитание и умножение.

x = a * b + c

AПроблема с вышеприведенным выражением состоит в том, что умножение и сложение происходят в одном цикле.Вы можете запустить выражение на более высокой частоте, если операция может быть конвейерной.Иногда Vivado может повторно использовать эти выражения в разных регистрах, чтобы использовать конвейерные регистры DSP48.

Однако я понимаю, что хочу использовать DSP48 напрямую.Вы создаете DSP48 точно так же, как и другие модули RTL.Порты, параметры и поведение описаны в руководстве пользователя DSP Slice для используемой вами логики FPGA.

 wire [47:0] c;
 wire [24:0] a;
 wire [17:0] b;
 DSP48E1#() dsp(
     .a(a),
     .b(b),
     .c(c),
     .p(x),
     .opmode(5),
     .alumode(0)
 );

Этот экземпляр скопирован из одной из моих реализаций внутреннего продукта.Он полностью конвейерный, потому что я стремился к работе на частоте 500 МГц.Достигается только 400 МГц из-за других комбинационных путей.

Для серии Xilinx 7: DSP48E1 Slice Руководство пользователя

Для Xilinx Ultrascale: DSP48E2 Slice Руководство пользователя

...