Getting to Fixed Point in DSP Algorithms
DSP algorithms have been around for a long time, running on a variety of platforms from micro code to super computers. Consumer interfaces are getting more complex: voice, eye movement, gesture; and demand low cost DSP. IoT applications, being very cost sensitive, take this even further. All this brings in the decimal point as a key variable in the product architecture – do you fix or float the point?
Floating Point Units (FPU) are complex and consume a lot of silicon area, however fixed point arithmetic requires a very deep understanding of the problem the algorithm has to deal with and the number ranges involved, so registers do not overflow and crash the code.
The consumer is now spoilt with voice applications like: Google Now, Siri, Cortana, Amazon Echo and has no comprehension of the complexity in the algorithm behind the app! Voice interfaces also offer additional security over passwords. Increasingly voice commands are creeping into our daily life, however unlike before – they work! More low end and IoT applications will be using voice interfaces, but how can they be implemented cost effectively?
Andes solution to the DSP designer is to offer both high performance cores and FPUs. The lead product to market uses the FPU coprocessor and as the algorithm becomes stable the chip can be cost reduced by fixing the point and removing the FPU. Customers have typically started with the N13 or D10 CPU core and single point FPU and then removed the FPU when the algorithm stabilises. The N13 is a very powerful processor with 2.05 DMIPS/MHz, achieving over 1.5GHz at 28nm.
Since released in 2015, the Andes D10 (CPU with DSP extensions) has won customers in image recognition (paper bills and coins, ADAS), drone control, and audio. It comes with compiler support and >200 optimized DSP library functions.
For more information on Andes CPU cores visit: http://www.andestech.com/en/products/overview.htm