# Normalized Reciprocal HDL Optimized

Computes normalized reciprocal and generates optimized HDL code

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

## Description

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.

## Ports

### Input

### Output

## Model Examples

## Algorithms

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

## Extended Capabilities

## Version History

**Introduced in R2020a**