Go Back

Source code


Name: cf_cordic
Created: Dec 31, 2002
Updated: Dec 20, 2009
SVN Updated: Mar 10, 2009

Other project properties

Category: Arithmetic core
Development status: Stable
Additional info:
WishBone Compliant: No


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 www.confluent.org 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