CORDIC is the acronym for COordinate Rotation DIgital Computer and allows a hardware efficient calculation of various functions like
- atan, sin, cos
- atanh, sinh, cosh,
- division, multiplication.
Hardware efficient means, that only shifting, additions and substractions in combination with table-lookup is required. This makes it suitable for a realization in digital hardware. Good introductions can be found in .
The following six CORDIC modes are supported:
- trigonometric rotation
- trigonometric vectoring
- linear rotation
- linear vectoring
- hyperbolic rotation
- hyperbolic vectoring
Furthermore, the CORDIC algorithm is implemented for iterative processing which means, that the IP-core is
started with a set of input data and after a specific amount of clock cycles, the result is
available. No parallel data can be processed.
In addition to an IP-core written in VHDL, a bit-accurate C-model is provided. This C-model can be compiled as mex for a usage with Octave or Matlab. Therefore, this C-model allows a bit-accurate analysis of the CORDIC performance on a higher level.