floating point synthesis on Xilinx FPGAs using ISE Webpack

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hi

I have been researching floating and/or fixed point support for Xilinx FPGAs that can be synthesized using the ISE Webpack toolkit. After foolishly trying to synthesize the "real" type and then researching various options I came across the following links:

    http://www.eda-stds.org/fphdl/

    http://www.vhdl.org/fphdl/vhdl.html

Now, I am a little confused as to how to go about using these sources. They mention using the IEEE_proposed library.

Q. Does that mean that Xilinx ISE will provide the IEEE_proposed library ?

Q. If not, do I have to compile this library myself using the provided source code for fixed and floating point math ?

Q. Has anyone successfully used this code and/or synthesized floating point on a Xilinx FPGA using ISE Webpack ?

Any help will be appreciated.

Thanks
vicash

Re: floating point synthesis on Xilinx FPGAs using ISE Webpack
Hi,

you mentioned "floating point or fixed point". Don't know if this is of any
use, but if you can reasonably write the algorithm in fixed point, it may
be the better choice. It's' easier for some problems than for others. And,
it takes some time to get used to it.  

Up to 18x18 bit (typically), you get one multiplication per hardware
multiplier per clock cycle.  
If possible, formulate your algorithm as a pipelined data path in 18 bits
and even a relatively small FPGA can do a serious amount of work.

Typical fixed point code could look like this
acc <= ((acc * xLSB + $signed(1 << 12)) >>> 13) + c2;

where "xLSB" has 12 fractional bits (right side of the decimal point).  
Adding  "1 << 12" and arithmetic (signed) right shift by 13 rounds at 0.5
and restores the decimal point.
For high clock speed (~50+ MHz), it may need pipelining.  
Also, saturation should be placed strategically throughout the code to
prevent that overflow wraps.

I've got a complete example for (simple) fixed point DSP RTL here:
http://www.dsprelated.com/showarticle/594.php
        
                    
---------------------------------------        
Posted through http://www.FPGARelated.com

Re: floating point synthesis on Xilinx FPGAs using ISE Webpack
  
Quoted text here. Click to load it
  
Quoted text here. Click to load it
  
Quoted text here. Click to load it
  
Quoted text here. Click to load it

What are you actually trying to build? That makes a big difference
in how you do it.

In the usual case, one wants to accelerate some algorithm, which
usually means a pipeline that can process some data with very
high throughput. That pretty much means pipelining the floating
point operation if you want floating point.

Floating point takes a lot more CLBs than fixed point, especially
the floating point adder/subtracter.  

-- glen

Re: floating point synthesis on Xilinx FPGAs using ISE Webpack
Am Freitag, 1. August 2014 18:06:30 UTC+2 schrieb vicash:
Quoted text here. Click to load it
GAs that can be synthesized using the ISE Webpack toolkit. After foolishly  
trying to synthesize the "real" type and then researching various options I
 came across the following links:
Quoted text here. Click to load it
ey mention using the IEEE_proposed library.
Quoted text here. Click to load it
?
Quoted text here. Click to load it
urce code for fixed and floating point math ?
Quoted text here. Click to load it
nt on a Xilinx FPGA using ISE Webpack ?
Quoted text here. Click to load it

Did you try out Xilinx's floating point IP-Cores ?

Regards
Thorsten

Site Timeline