FPGAs and floating point

Altera’s newest DSP block is quite clearly designed to deal with double-precision floating-point numbers from the start. They are betting (quite rightly IMHO) that the future is going to move away from pure fixed-point implementations.

Now, floating-point is not a magic wand that will cure all your arithmetic problems. But it will make the implementation of a large variety of signal processing algorithms much more straightforward. Which means products can get to market faster. Which means more iterations. And faster iterations are good – you get to learn more about your product.

Xilinx don’t appear to have an answer for this. Which typifies the difference between the two companies. Altera have always been much more of the “push-button flow” kind of people. Xilinx expect you to get bit deeper and hack a bit more at the “bit-level” (only figuratively, but still lower level than Altera). Yes, they’ve stuck pretty GUIs on top of their tools, but underneath it all, you can tell its a real hackers environment. And that suits the fixed-point types well – they can demonstrate a bit-accurate line from their simulations right through to the device. And they’ll spend days and weeks tweaking their coefficients for optimum size and speed in their filters.

My feeling is that over the next couple of years, those that ignore the potential of floating-point may get left behind.

It’s happened in a large amount of the embedded world – when I started “real work”, fresh from university, my colleagues couldn’t envisage a day when floating-point would be a sensible for volume production items. The silicon area was too enormous. But along came IEEE754 (which for all its flaws, made it worth-while for companies to develop silicon IP to a standard) and Moore’s “law” push relentlessly on. A high-end embedded processor which can be had for under $5 has many kB of RAM, 1 or 2 MB of flash memory, which is about 80% of the die. And a processor core and a bag of peripherals for the rest. The FPU hardly figures in the die size!

Altera have it right – they’re going to open up a bunch of currently non-existent markets to the option of using FPGAs. Us “fixies” are going to have to keep up…

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax