Main Content

Computes normalized reciprocal and generates optimized HDL code

**Library:**Fixed-Point Designer HDL Support / Math Operations

The Normalized Reciprocal HDL Optimized block computes the normalized
reciprocal of *u*, returned as *y* and *t*
such that 0.5 < |*y*| ≤ 1 and 2^{e}*y* =
1/*u*.

If

*u*= 0 and*u*is a fixed-point or scaled-double data type, then*y*= 2 – eps(*y*) and*e*= 2^{nextpow2(w)}–*w*+*f*, where`w`

is the word length of*u*and*f*is the fraction length of*u*.If

*u*= 0 and*u*is a floating-point data type, then*y*=`Inf`

and*t*= 1.

The Normalized Reciprocal HDL Optimized block works by normalizing the input using a binary search, which has a latency of approximately log2 of the word length of the input, followed by a CORDIC reciprocal kernel, which has a latency approximately the same as the word length of the input.

The Normalized Reciprocal HDL Optimized block is always ready to accept
data. After the initial latency, valid samples are output every sample. The latency in samples
for a fixed-point input **u** is

D = ceil(log2(u.WordLength)) + u.WordLength + 5