cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Nuno137
Visitor
Visitor
303 Views
Registered: ‎02-22-2021

DSP48E1 logic functions

Jump to solution
Hello, I have a very simple question. There is no info about this simple thing in the documentation. I can't test this with my board so that's why I ask you.

I need to use a DSP48 to implement a 48bit wide boolean function, like an AND or a XOR. Usually the AND of N bits is just the product of all boolean variables, so it is zero if at least one variable is zero, and one if all variables are one.
In the DSP48 I assume this is not the case, considering the output is still a 48 bit wide signal, and it is not a 1 bit signal. The AND of these 48 bit input signals, X AND Z, is the 2bit AND of the corresponding bits? For example assuming the signals are 6 bits wide:
010110
AND
110101
=
010100

Is this right? Does the DSP actually do this?

Thanks.

0 Kudos
1 Solution

Accepted Solutions
bruce_karaffa
Scholar
Scholar
255 Views
Registered: ‎06-21-2017

Your assumption is correct, the DSP can perform bitwise logic operations.  I believe that you must explicitly instantiate the DSP and control the mux and operation registers to utilize this feature.

View solution in original post

4 Replies
283 Views
Registered: ‎01-22-2015

@Nuno137 

The DSP48 is used to do many things as described in the following document.

https://www.xilinx.com/support/documentation/ip_documentation/dsp_macro/v1_0/pg323-dsp-macro.pdf

However, the DSP48 is not used for boolean operations.  

When you use boolean operations in your HDL, they will be implemented using circuit blocks in the FPGA called Look Up Tables (LUTs).

Cheers, Mark

Nuno137
Visitor
Visitor
275 Views
Registered: ‎02-22-2021

I don't understand why.
In this guide: https://www.xilinx.com/support/documentation/user_guides/ug479_7Series_DSP48E1.pdf
In "Embedded Functions/Two-Input Logic Unit" it says that I can perform also basic functions. There is also a list of possibile functions. I want to use this, and I'm not interested in the multiplication/addition capabilities of the DSP48. In the list there is for example the function "X XOR Z" or "X AND NOTZ". What I want to know is what these actually do.
I know it is not intended as so, and DSP48 should be used for things like FFT or audio processing, filters and so on, but I may need to save resources and so I may be interested in using the DSPs.

0 Kudos
bruce_karaffa
Scholar
Scholar
256 Views
Registered: ‎06-21-2017

Your assumption is correct, the DSP can perform bitwise logic operations.  I believe that you must explicitly instantiate the DSP and control the mux and operation registers to utilize this feature.

View solution in original post

Nuno137
Visitor
Visitor
253 Views
Registered: ‎02-22-2021

Thank you, so you mean that I have to manually tweak all the signals in order to utilize the dsp in this way?

Thanks both for the replies, much appreciated!

0 Kudos