Goldscmidt Algo
Goldscmidt Algo
Abstract—This paper presents a single precision floating point In this computational algorithm, the numerator and
division based on Goldschmidt computational division algorithm. denominator are scaled using a common factor, as a result of
The Goldschmidt computational algorithm is implemented using which, the denominator converges to one, and numerator
32-bit floating point multiplier and subtractor. The salient feature converges directly to the quotient. This computation of
of this proposed design is that the module for computing mantissa quotient is done using the Goldschmidt computational division
in 32-bit floating point multiplier is designed using a 24-bit Vedic algorithm. This algorithm uses an iterative process in which
multiplication (Urdhva-triyakbhyam-sutra) technique. 32-bit the denominator gets scaled to one to get the final quotient.
floating point multiplier, designed using Vedic multiplication The iterative process, used in this algorithm, uses several
technique, yields a higher computational speed and is used to complex operations for division, where not only the precision
increase the performance of the floating point divider. The main is to be maintained for very large data intervals, but precision
objective is to synthesize the proposed floating point divider on
should be high for better operation.
FPGA using Verilog hardware description language (HDL). The
The division is a mathematical operation used in various
proposed floating point divider can be used in the design of
floating point divide – add fused (DAF) architecture. signal processing algorithms and different types of division
algorithms are described in [1-3]. The computational division
Index Terms—Floating point Divider, FPGA, Goldschmidt algorithm, described in [4], converges much faster within one
Computational algorithm, Urdhva Tiryagbhyam sutra. iteration, provides high computational speed and throughput.
To implement and design 32-bit floating point division
I. INTRODUCTION based on Goldschmidt computational algorithm, 32-bit floating
point multiplier and 32-bit floating point subtraction modules
1287
IV. GOLDSCHMIDT ALGORITHM
G
n
N i i
(1)
The Goldschmidt division algorithm uses a complex Q
G
n
D
initialization for computing continual iterations. This i i
V. SIMULATION RESULTS
The design is synthesized using Xilinix 14.7 and
simulations are performed on ISim. Fig. 4 shows the
simulation results of the proposed 32-bit floating point
division of two numbers using the Goldschmidt method. Table
III shows the device utilization of the Xilinx Spartan 6 SP605
Evaluation Platform FPGA. Table IV shows the Xilinx Power
Estimator (XPE)-14.3 device summary report for the proposed
32-bit floating point division carried out for the Spartan-6
SP605 Evaluation Platform FPGA. Table V shows the
comparative analysis of proposed DAF with the existing ones.
In Fig. 4, N represents the numerator, D represents the
denominator, the G1 is the first iteration result, G2 is the
second iteration result, G3 is the third iteration result, G4 is the
final iteration result and Q represents the quotient. The two
inputs N and D are given to the divider in IEEE 754 standard
format as shown in Table II.
TABLE II
SAMPLE INPUT AND ITS OUTPUT FOR SIMULATION
Fig. 3. Flowchart of the 32-bit floating point division using Goldschmidt Decimal Sign Exponent Mantissa
method
N 7.73 0 10000001 11101110101110000101001
Fig. 3 shows the flowchart of floating point division using D -6.04 1 10000001 10000010100011110101110
the Goldschmidt computational algorithm where N and D are Q -1.279801 1 01111111 01000111101000010000111
the numerator and denominator given to the multiplier. In this
algorithm, one multiplier and one subtraction module are used
to perform one iteration. In four iterations, computational TABLE III
DEVICE UTILIZATION OF THE XILINX SPARTAN 6 SP605 EVALUATION
algorithm produces the quotient directly by scaling numerator PLATFORM
and denominator by common factor Gi. Hence, denominator
Logic Utilization Used Available Utilization
converges to one and numerator converges directly to the
quotient. More iterations are performed to refine the result. Number of Slice Registers 3025 54,576 5%
This computational algorithm produces optimized results by Number of Slice LUTs 9,281 27,288 34%
computing one iteration in one cycle. The formula is shown in Number of occupied Slices 2,961 6,822 43%
“equation (1),” where Q is a quotient, N is the numerator, D is Number of bonded IOBs 161 296 54%
the denominator and Gi is factor at iteration i.
1288
TABLE IV Reconfigurable Computing and FPGAs (ReConFig), 2013 International
XILINX POWER ESTIMATOR (XPE) -14.3 DEVICE SUMMARY REPORT OF Conference on, pp. 1-6. IEEE, 2013.
SPARTAN-6 SP605 EVALUATION PLATFORM FPGA [4] Malik, Peter. "High Throughput Floating-Point Dividers Implemented in
FPGA." In Design and Diagnostics of Electronic Circuits & Systems
Specifications Values
(DDECS), 2015 IEEE 18th International Symposium on, pp. 291-294.
Junction Temperature 25.5 ºC IEEE, 2015.
Total On-Chip Power 0.037 W [5] Rathor, Ajay, and Lalit Bandil. "Design Of 32 Bit Floating Point
Addition And Subtraction Units Based On IEEE 754 Standard." In
Thermal Margin 59.5 ºC ( 4.0 W ) International Journal of Engineering Research and Technology, vol. 2,
Effective ϴJA 14.3 ºC/W no. 6 (June-2013). ESRSA Publications, 2013.
[6] Tirthaji, Jagadguru Swami Sri Bharati Krisna. "Maharaja." Vedic
mathematics or Sixteen simple mathematical formulae from the Vedas,
Motilal Banarsidass, Delhi , 1965.
TABLE V [7] Kanhe, Aniruddha, Shishir Kumar Das, and Ankit Kumar Singh.
COMPARATIVE ANALYSIS OF DAF UNIT IN TERMS OF POWER AND LATENCY "Design and implementation of low power multiplier using vedic
TIME multiplication technique." IJCSC) International Journal of Computer
Sr. no. Ref [9] Ref [10] Proposed DAF Science and Communication 3, no. 1, pp.131-132, 2012.
[8] Al-Ashrafy, Mohamed, Ashraf Salem, and Wagdy Anis. "An efficient
1 Latency Time 175.49ns 130.8ns 75ns
implementation of floating point multiplier." In Electronics,
2 Power - 0.050W 0.037W
Communications and Photonics Conference (SIECPC), 2011 Saudi
International, pp. 1-5. IEEE, 2011.
[9] Alexandru amaricai, mircea vladutiu,, and oana boncalo, “Design issues
and implementations for floating-point divide–add fused” IEEE
Transactions on circuits and systems—ii:, Vol. 57, no. 4, 2010.
[10] Pande, Kuldeep, Abhinav Parkhi, Shashant Jaykar, and Atish
Peshattiwar. "Design and Implementation of Floating Point Divide-Add
Fused Architecture." In Communication Systems and Network
Technologies (CSNT), 2015 Fifth International Conference on, pp.
797-800. IEEE, 2015.
[11] Mahakalkar, Sushma S., and Sanjay L. Haridas. "Design of High
Performance IEEE754 Floating Point Multiplier Using Vedic
Mathematics." In Computational Intelligence and Communication
Networks (CICN), 2014 International Conference on, pp. 985-988.
IEEE, 2014.
[12] IEEE 754-2008, IEEE Standard for Floating-Point Arithmetic, 2008.
[13] Kong, Inwook, and Earl E. Swartzlander Jr. "A Goldschmidt division
method with faster than quadratic convergence." Very Large Scale
Integration (VLSI) Systems, IEEE Transactions on 19, no. 4, 696-700.
2011.
VI. CONCLUSION
The Single precision floating point division using
Goldschmidt computational algorithm was synthesized using
Xilinx Spartan 6 SP605 Evaluation Platform on FPGA and
Simulations were done on ISim simulator. In this paper the
multiplier module is designed using Vedic algorithm, which
improved the performance of the floating point divider. The
device utilisation parameters were optimized thereby; the
Power consumption and Latency time are reduced by 26% and
42.6% respectively as compared to existing DAF. The design
presented in this paper is useful in high computation
demanding applications.
REFERENCES
[1] Muller, Jean-Michel. "Avoiding double roundings in scaled Newton-
Raphson division." In Asilomar Conference on Signals, Systems, and
Computers, pp. 4-pages. 2013.
[2] Kong, Inwook, and Earl E. Swartzlander Jr. "A rounding method to
reduce the required multiplier precision for Goldschmidt division."
Computers, IEEE Transactions on 59, no. 12, pp.1703-1708, 2010.
[3] Rodriguez-Garcia, A., L. Pizano-Escalante, Ramon Parra-Michel, O.
Longoria-Gandara, and J. Cortez. "Fast fixed-point divider based on
Newton-Raphson method and piecewise polynomial approximation." In
1289