  The reciprocal function, 1/x, is important for many real-time algorithms. It
is used in a large variety of algorithms from areas ranging from iterative
estimation to machine learning. Many of these algorithms are iterative in
nature and require the online computation of the reciprocal. Such an iterative
structure often prevents effective use of pipelining for implementation of the
reciprocal. For this reason, a reciprocal algorithm requiring only a low amount
of clock cycles is desired. Many real-time algorithms, often being of
approximate nature, can tolerate the use of only an approximate solution of the
reciprocal.
  For this reason, we present a low complexity non-iterative approximation of
the reciprocal function. This approximation can be calculated using only
combinatorial logic. We present synthesis results showing that the proposed
approach can be implemented with low area requirements at high clock
frequencies. We analytically describe the error of the approximation and show
that by optimizing a constant value used in the approximation, different
variants with different error behaviors can be obtained. We furthermore present
performance results of application examples that, when using our proposed
method, show only negligible performance degradation compared to when using the
exact reciprocal function, demonstrating the versatility of our proposed
approach.
