CF Cordic Algorithm - Coordinate Rotation Digital Computers

CF Cordic Algorithm - Coordinate Rotation Digital Computers


Category: Arithmetic Core

Created: December 31, 2002

Updated: January 27, 2020

Other project properties

Development Status: Stable

WishBone compliant: No

WishBone version: n/a

License: n/a


Cores are generated from Confluence; a modern logic design language. Confluence is a simple, yet highly expressive language that compiles into Verilog, VHDL, and C. See for more info. Cordics (COordinate Rotation DIgital Computers) perform arbitrary phase rotations of complex vectors and are often used to calculate trigonometric functions and vector magnitudes.


Each file is stand-alone and represents a specific configuration.
The 4 parameters are:
- Rotation or Vector Mode
- Vector Precision
- Angle Precision
- Number of Cordic Stages

All designs are pipelined with a synchronous enable and reset.
The pipeline latency equals 2 clock cycles plus the number of cordic stages.

The configuration parameters are coded in the file names: cf_cordic_r_32_16_12.v
- r : Cordic Mode. 'r' = Rotation, 'v' = Vectoring
- 32 : Precision of the individual vector components.
- 16 : Precision of the angle.
- 12 : Number of cordic stages.

Current configurations:
- cf_cordic_r_8_8_8
- cf_cordic_v_8_8_8
- cf_cordic_r_16_16_16
- cf_cordic_v_16_16_16
- cf_cordic_r_18_18_18
- cf_cordic_v_18_18_18
- cf_cordic_r_32_32_32
- cf_cordic_v_32_32_32