ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW FPGA polynom

Hello. I have FlexRIO board PXIe-7966R. I'd like to calculate polynom of input data: 0.2139*x^3 - 0.0684*x^2+0.9524*x+0.0085 , where x - is I16 input data.

But i have a problem, that this calculating takes a lot of time - 20MHz. I'd like to execute this operation in single cycle timed loop with 125MHz clock. How can i optimize this operation? 

 

0 Kudos
Message 1 of 5
(3,266 Views)

Pipelining.

0 Kudos
Message 2 of 5
(3,245 Views)
Well, given that the input is an integer there is just a finite number of possible answers to the calculation (65,536 to be precise). Could you do it as a lookup table?

Does your input use the entire 16-bit dynamic range? If not, you might need able to trim that number down a bit.

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
Message 3 of 5
(3,237 Views)

Another thing to take note of, what's your required latency?  If your calculated value cannot be more than 1 cycle delayed from your input then LUT (as mike pointed out) is going to be the only way.

0 Kudos
Message 4 of 5
(3,230 Views)

The NI LabVIEW High-Performance FPGA Developer's Guide discusses how to use the SCTL, and how it can be used to optimize throughput and minimize latency.

0 Kudos
Message 5 of 5
(3,203 Views)