The LabVIEW FPGA DSP48E block provides low level access to DSP48E slices available on Virtex 5 devices. This thread is intended to foster discussion about the project. Please post your questions, suggestions and applications here. Our team including R&D, marketing, and support will actively monitor this discussion.
Newton Petersen, Senior Engineer, LabVIEW FPGA R&D
is there a driver available for the Xilinx XUP V5 board (XUPV5-LX110T)? If that is available I can play with it.
Does the MAC IP block currently exist or are we just talking about what features we'd like?
If it does exist where can I download it?
That... was fast. Posting the download page for an actual block to play with is in progress. I believe this link should work now (if not, try back soon): http://decibel.ni.com/content/docs/DOC-7081
I do not believe there is target support available for the Xilinx XUP V5 board. Thank you for letting NI know this particular platform is of interest. NI is willing to create custom target support for boards like this under the right business circumstances so please consult with your local sales engineer concerning the possibilities.
You can run the DSP48E node in simulation under the "My Computer" target even if you do not have target support. Each call to the node simulates one clock cycle.
You can also compile for FPGA under one of the following Virtex 5 targets. You do not have to have the physical hardware to compile. You only need the RIO driver and target files along with LabVIEW FPGA 2009. This exercise will let you know what clock rate you can achieve with your logic you tested in simulation above.
Maybe I'm missing something?
I thought the multiplication on the DSP48e was 25x18. This seems to use a 30x18 multiplier. Are you using extra logic slices to do this? Or are you using 2 DSPs to do a wider bit multiply before the Accumulator on the second DSP?
I would have assumed the IP block would have the ability to configure the width of the numbers going in / out (e.g. 4bits x 15bits + 17bits = 42bits).
I was also hoping that this project was a wrapper for the entire DSP48E block and not just the narrow use case of a Multiply w/ Accumulate. I guess I'll just stick with core gen for now.
Oh wait...I see. If I double click on it I can configure it. Why isn't this on the right-click menu?
The multiplier is only 25x18 bits, so the upper 5 bits of the "a" input are unused when doing a multiplication. If you configure the node to perform p = a:b + c, a:b uses full 30 bits of a. This option shows when you choose Direct for a input. This is documented however it would certainly be clearer if we changed the input type based on the dialog selections.
This project is supposed to be a wrapper for all the raw, gory functionality available in the DSP48. As such, this block is not meant to be particularly easy to use. Let us know if there is something you know can be done with the DSP48 but cannot be done with this wrapper block...
Anyway we can get this for Labview 8.6? I currently do not have 2009 installed with systems in the field.