Configurable Double Precision Floating Point Multiplier For Error Tolerant Applications
Charan · i-manager s Journal on Circuits and Systems · 2015
The floating point multiplier design is crucial for most applications like in GPUs. The designs are usually error prone. So the systems are developed to be error tolerant. The basic problem in floating point units is accuracy configuration. As accuracy plays a major role in many applications like rocket launches, the accuracy can be configured by using a log path rather than full path. Even though the error percentage increases in log path, the FP multiplier can be configured to have low power dissipation and area. The designs are developed using Verilog HDL and are functionally verified using ISIM simulator. The synthesis of the double Precision Multiplier is carried out in Xilinx ISE synthesizer and the results proved to be optimized in terms of delay and area. This is the true result, the exact sum of the operands. It will be rounded to seven digits and then normalized if necessary. The final result is e=5; s=1.235585 (final sum: 123558.5) Note that the low 3 digits of the second operand (654) are essentially lost. This is round-off error. In extreme cases, the sum of two non-zero numbers may be equal to one of them: The best representation of this difference is e = -1; s = 4.877000, which differs more than 20% from e = -1; s = 4.000000. In extreme cases, the final result may be zero even though an exact calculation may be several million. This cancellation illustrates the danger in assuming that all of the digits of a computed result are meaningful. Dealing with the consequences of these errors is a topic in numerical analysis, see also Accuracy problems. To multiply, the mantissas are multiplied while the exponents are added, and the result is rounded and normalized. e=3; s=4.734612 × e=5; s=5. 417242 ------------------- • Overflow set, if the absolute value of the rounded value is too large to be represented. An infinity or maximal finite value is returned, depending on which rounding is used. • Divide-by-zero set, if the result is infinite given finite operands, returning an infinity, either +∞ or -∞. • Invalid set, if a real-valued result cannot be returned e.g. sqrt(-1) or 0/0, returning a quiet NaN.