NI Home > Community > NI Discussion Forums
Reply
Member
Posts: 149

Floating Point Extension for LabVIEW FPGA 8.2

We are interested to see if you could make use of floating point cores to develop FPGA applications.  The floating point cores allow for faster algorithm development because you are not restricted to integer only math.  However, logic to perform floating point operations is very resource intensive. Attached you will find a document explaning the extension and a zip file that will provide some VIs that use floating point cores.  Please let us know what you think.  You can reply to the post, or email lvfpga.pse@ni.com.
 
Regards,
Joseph D.
LabVIEW FPGA Product Support Engineer
 
 
 
Member
Joris Robijn
Posts: 8
0 Kudos

Re: Floating Point Extension for LabVIEW FPGA 8.2

Hi,
 
I'm tuning in a little late, but better later than never...
 
I think it would be very good to have floats around on FPGA. The problem is of course it takes so much space. I did a couple of FPGA projects, used fixed point numbers, by just doing multiplications with for example 1000. Works well, but it's not as clear as true floats. It's sometimes a bit of a problem that you cannot run "any" algorithmic VI on an FPGA, because they almost always use floats. You need special PID routines and everything. But I understand it is difficult to do floats on an FPGA.
 
It would be very good if we could have more info on the size of the various structures on our block diagram. You could add a button to overlay an "density map" with colours indicating how much FPGA space the functions take. That way you can get some idea of what needs to be optimized, even before the compiler is run. Then operations on SNG's will easily give yellow glows and operations on DBL's probably orange glows on the density map. The most space is probably taken by array operations, like indexing a 100 elements I32 array... ?
 
Joris
 
Member
Posts: 149
0 Kudos

Re: Floating Point Extension for LabVIEW FPGA 8.2

Thank you for your feedback.  This is exactly the type of information that I was looking for.

Regards,

Joseph D.

Trusted Enthusiast
BruceAmmons
Posts: 2,381
0 Kudos

Re: Floating Point Extension for LabVIEW FPGA 8.2

I'll chime in very late.  If any of this was implemented in 8.5 and I don't know about it yet, I apologize.

The floating point functions would be useful.  There are cases where space is not a major concern, and the floating point functions would be ideal for simplifying the logic.

I would like some sort of indicator that shows how many nsec each function or operation will take in a (timed) loop.  It would also be nice to see a critical path indicated that shows the slowest sequence of operations in the loop.  These improvements would make it much easier to optimize the process and maximize the loop clock frequency.  I would understand if the values had to be approximate and would not be guaranteed by the compiler.

I like the idea of being able to indicate the space each function or operation takes.  This would be very useful when trying to optimize the total size of the program.

As long as we are making a wish list, I would like it if more pre-compiling could be done by LabVIEW so the Xilinx compiler wouldn't take so long.  I hate making a minor change to one routine and having to wait for the whole thing to compile over again.  Perhaps if LabVIEW could keep intermediate code for the unchanged routines, so those portions only required the final integration with the new code.

It would also be nice to see a knowledge base article about implementing modified clocks.  Until talking to an experienced NI programmer, I didn't realize the digital inputs on a RIO PCI board could be read at faster rates than the standard 40 MHz clock.  By optimizing the read loop, we were able to get the clock speed up to 100 MHz.  If I hadn't needed to use a FIFO buffer to get selected data out of the loop, it probably could have gotten closer to 200 MHz, which is what my customer originally wanted.

Bruce

Bruce Ammons
Ammons Engineering
Member
mtorre
Posts: 1
0 Kudos

Re: Floating Point Extension for LabVIEW FPGA 8.2

Hi,

I just began to work on FPGA using LabVIEW 8.6.

Is there any updated library for floating pont for this version, by taking advantage that 8.6 can work on Fixed Point calculations of the FPGA? Please advise.

Regards,

 

Mario Torre
USB
Venezuela