admin@publications.scrs.in   
Advancements in Communication and Systems

Fast Inverse Square Root using FPGA

Authors: Abhay Chopde, Sharvari Bodas, Varada Deshmukh and Shamish Bramhekar


Publishing Date: 12-02-2024

ISBN: 978-81-955020-7-3

DOI: https://doi.org/10.56155/978-81-955020-7-3-21

Abstract

The Fast Inverse Square Root (FISR) algorithm, originally introduced in the Quake III source code, accomplishes the vector normalization task required in graphics application through basic multiplication and bit-shifting operations. The core of this algorithm relies on the use of approximation techniques to enhance an initial estimation, which is primarily based on a designated “magic” constant. The implemented Verilog code utilizes the Newton-Raphson iterations, modified booth’s multiplier, and the inverse square root, featuring a core “Inverse Square Root” module with 32-bit input and output. This paper makes use of two magic constants “0x5f3e34bc” and “0x5f3759df” aiming to improve the accuracy. It selects a magic constant based on the exponent bit. The approximation occurs through two Newton-Raphson iterations. A Booth Multiplier is used, that is using a Radix-4 encoding scheme to reduce partial product generation, making it faster.

Keywords

FPGA, Fast inverse square root, Radix 4 Booth’s multiplier.

Cite as

Abhay Chopde, Sharvari Bodas, Varada Deshmukh and Shamish Bramhekar, "Fast Inverse Square Root using FPGA", In: Ashish Kumar Tripathi and Vivek Shrivastava (eds), Advancements in Communication and Systems, SCRS, India, 2024, pp. 231-239. https://doi.org/10.56155/978-81-955020-7-3-21

Recent

A PHP Error was encountered

Severity: Notice

Message: Trying to get property 'data' of non-object

Filename: home/sidebar.php

Line Number: 36

Backtrace:

File: /home3/scrsiueb/public_html/publications/application/views/home/sidebar.php
Line: 36
Function: _error_handler

File: /home3/scrsiueb/public_html/publications/application/views/home/chapter.php
Line: 548
Function: include_once

File: /home3/scrsiueb/public_html/publications/application/controllers/Home.php
Line: 157
Function: view

File: /home3/scrsiueb/public_html/publications/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Invalid argument supplied for foreach()

Filename: home/sidebar.php

Line Number: 41

Backtrace:

File: /home3/scrsiueb/public_html/publications/application/views/home/sidebar.php
Line: 41
Function: _error_handler

File: /home3/scrsiueb/public_html/publications/application/views/home/chapter.php
Line: 548
Function: include_once

File: /home3/scrsiueb/public_html/publications/application/controllers/Home.php
Line: 157
Function: view

File: /home3/scrsiueb/public_html/publications/index.php
Line: 315
Function: require_once