shvlad
New Contributor
6 years agoHow to configure DSP block in "three 9x9 multipliers" mode?
Hi everyone
Please help me configure DSP block in "three 9x9 multipliers" mode. I have a Cyclone V family chip, I've read this document https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/cyclone-v/cv_5v2.pdf, there is picture and some description on page 3-11 about 9x9 mode.
parameter W = 9
logic[W-1:0] data_0;
logic[W-1:0] data_1;
logic[W-1:0] data_2;
logic[W-1:0] data_3;
logic[W-1:0] data_4;
logic[W-1:0] data_5;
logic[W*2-1:0] m_0,m_1,m_2; I've tried this ways:
1.
assign {m_0,m_1,m_2} = {data_0,data_1,data_2}*{data_3,data_4,data_5};It makes one DSP, but output incorrect (It multiples one 27 bits figure not three 9-bits).
2.
assign {m_0,m_1,m_2} = {data_0*data_1,data_2*data_3,data_4*data_5};It makes correct output, but takes three DSP.
And other ways fails too... For example
assign m_0 = data_0*data_1;
assign m_1 = data_2*data_3;
assign m_2 = data_4*data_5; I've tried take mult IP from IP catalog, but it doesn't work too.
Please, tell me, how can I place three mult in one DSP?