Special Function Unit - Piecewise Polynomial Approximation


Name: special_function_unit_ppa
Created: Apr 17, 2022
Updated: May 15, 2022
SVN: No files checked in
Bugs: 0 reported / 0 solved
Star1you like it: star it!

Other project properties

Category:Arithmetic core
Development status:Mature
Additional info:
WishBone compliant: No
WishBone version: n/a
License: LGPL


Special Function Units (SFUs) are hardware accelerators, their implementation helps improve the performance of GPUs to process some of the most complex operations. This SFU implements the Piecewise Polynomial Approximation (Additional information can be found in 1 2), which provides high performance, low area costs and good accuracy for real implementation of hardware.

The SFU can also be integrated and used as a stand-alone accelerator or coprocessor in a processor-based system.

Please feel free to use.

The SFU can operate input values in the floating-point format IEEE-754 and the supported functions are:

  • Sin function: sin(x)
  • Cos function: cos(x)
  • Binary log: log_2(x)
  • Reciprocal: 1/x
  • Square root: √x
  • Reciprocal of the square root: 1/√x
  • Power of 2: 2^x.

The model was checked in the simulation environments: ModelSim-Altera Starter Edition and Octave (golden model).

The model was synthetized in the DE2-115 FPGA platform by Intel-Altera.

The url of the repository is: or

The manual can be consulted in: here

This module was developed by the Robotics and Industrial Automation (GIRA) Research group in Universidad Pedagogica y Tecnologica de Colombia (UPTC), in the Electronics Engineering School. Sogamoso-Tunja, Colombia in cooperation with CAD group in Politecnico di Torino, Turin, Italy.




Edwar Javier Patiño Núñez {}

Juan David Guerrero Balaguera {}

Josie Esteban Rodriguez Condia {}