Table 3 Characteristics of selected square root methods and our proposed algorithm.
From: Novel seed generation and quadrature-based square rooting algorithms
Square root method | Method type | Advantages | Disadvantages | References |
|---|---|---|---|---|
Newton–Raphson | Iterative | Simple | Includes division operation | |
Fast convergence (quadratic rate) | Requires initial estimation (seed value) | |||
Latency and number of iterations depend on the quality of the chosen seed | ||||
Large numbers require extra iterations | ||||
Goldschmidt | Iterative | Absence of division operation | Slow for multiplication using more than 16 bits | |
Fast convergence (quadratic rate) | Truncates 64-bit numbers to 32 bits, producing calculation errors | |||
Simultaneously calculates the square root and reciprocal square root | Requires initial estimation (seed value) | |||
Suitable for hardware | Low performance in software implementations | |||
Amenable for parallelism due to independent multiplication operations | Large numbers require extra iterations | |||
Blinn | Bit manipulation | Fast and simple | Rough approximation (high maximum relative error) | |
Bakhshali | Iterative | Very fast convergence (quadruple rate) | Contains division operation | |
Avoid large numbers in the calculation of the square root | Requires initial values | |||
Latency and number of iterations depend on the quality of the chosen initial values | ||||
Large numbers require extra iterations | ||||
Polynomial approximation | Approximation by real function | Good speed (e.g., fast piecewise interpolation) | Difficult to achieve high accuracy | |
Carried out efficiently in both software and hardware circuits | Requires extra memory for coefficients and interpolation points | |||
Requires rescaling before and after the calculation of the square root. | ||||
Dianov et al. | Approximation by real function (hyperbola) | Absence of division operation | Single iteration | |
Difficult to achieve high accuracy | ||||
Nonrestoring | Subtractive | Requires a limited number of arithmetic operations | High computational time | |
Very simple, multiplication-free | Slow convergence (linear rate) | |||
Suitable for hardware implementation | Arithmetic operations need to be performed at full-length | |||
Exact value of the square root is obtained | Additions and subtractions using non-redundant digit sets negatively impact the amount of required hardware | |||
Proposed algorithm | Quadrature-based square rooting | Simple | Contains division operation | |
Single iteration | ||||
High accuracy can be achieved using a small-sized lookup table |