Why do we use fixed point representation?
Show older comments
Hi
I would like to know why dont we use double precision floating point data type as such for simulink models to be exported to FPGA ? Is it because that FPGA do not support huge memory storage for double precision? Also please add some information about why do we decide to use 16 wordlength fixed point representation in most cases.
Krishnakumar
Answers (3)
Ryan Johnson
on 7 Jan 2014
1 vote
Floating point math is typically expensive in terms of FPGA resources. FPGA primitive DSP elements are typically designed for 16-18 bit integer formats. You can build something which uses floating point, but it will require many more primitive elements (DSP blocks, LUTs, etc) to perform your operations.
Ryan Johnson
on 8 Jan 2014
1 vote
Sure, you can do double precision floating point math in most FPGAs these days, but at the cost of resources. It's all a trade off analysis. Do you want the highest throughput? Use fixed point. Do you need high dynamic range and precision? Use floating point. I've done designs which use both in different areas.
I guess I'd say that fixed point is still "preferred", as it's natively supported by primitives, but it comes down to what's right for the job.
Ryan
Krishnakumar
on 8 Jan 2014
0 votes
Categories
Find more on Array and Matrix Mathematics in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!