UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer ayhamzedan
Observer
4,215 Views
Registered: ‎08-04-2016

A complex data multiplicator that is using FFs and LUTs. How can I force a DSP?

Hi, I am implementing a complex data multiplier that does 3 multiplications instead of 4. The data_cmp is a complex <ap_fixed(12,12)>. 

The problem I am running into is that it HLS is implementing it using FF and LUTs only, and not DSP48s. How can I force it to use DSPs in my design? 

Note that I use a Pipeline directory with an interval of 4, and a clock design of 5ns. The number of complex multiplications done is 97 multiplications per function call.

I appreciate your help and time.

 

This is the function I implemented.

 

data_cmp multiplicator_function (data_cmp input_a, data_cmp input_b) {

data_double  product1, product2, product3;

product1 = input_a.real() * input_b.real();

product2 = input_a.imag() * input_b.imag();

product3 = (input_a.real() + input_a.imag()) * (input_b.real() + input_b.imag()) ;

 

return data_cmp(product1 - product2 , product3 - product2 - product1 );

0 Kudos
1 Reply
Observer ayhamzedan
Observer
4,191 Views
Registered: ‎08-04-2016

Re: A complex data multiplicator that is using FFs and LUTs. How can I force a DSP?

If someone could also explain to me why this works faster than an implementation that uses DSPs, it would be great as well.

Thanks
0 Kudos