Floating Point Bitwidth Analysis via Automatic Differentiation
[IEEE Conference on Field Programmable Technology, Hong Kong, Dec. 2002]
Altaf A. Gaffar, Oskar Mencer, Wayne Luk, Peter Y.K. Cheung, Nabeel Shirazi
abstract.
Automatic bitwidth analysis is a key ingredient for high-level programming
of FPGAs and high-level synthesis of VLSI circuits. The objective is to
find the minimal number of bits to represent a value in order to minimize
the circuit area and to improve efficiency of the respective arithmetic
operations, while satisfying user-defined numerical constraints. We present
a novel approach to bitwidth - or precision - analysis for floating-point
designs. The approach involves analysing the dataflow graph representation
of a design to see how sensitive the output of a node is to changes in the
outputs of other nodes: higher sensitivity requires higher precision and
hence more output bits. We automate such sensitivity analysis by a
mathematical method called automatic differentiation, which involves
differentiating variables in a design with respect to other variables.
We illustrate our approach by optimising the bitwidth for two examples,
a Discrete Fourier Transform and a Finite Impulse Response filter.