DO-254 Cordic 1.00a

The CORDIC IP implements a generalized coordinate rotational digital computer (CORDIC) algorithm, initially developed by Volder to iteratively solve trigonometric equations, and later generalized by Walther to solve a broader range of equations, including the hyperbolic and square root equations. The CORDIC IP implements the following equation types:

  • Rectangular <-> Polar Conversion
  • Trigonometric
  • Hyperbolic
  • Square Root

Key features are:

  • Supports AXI4-stream interface
  • Delivers VHDL demonstration testbench with CORE Generator
  • Supports many functional configurations: vector rotation (polar to rectangular), vector translation (rectangular to polar), Sin and Cos, Sinh and Cosh, Atan and Atanh, Square Root
  • Supports inputs and outputs ranging from 8 to 48 bits wide
  • Provides control of the internal add-sub precision and the number of add-sub iterations
  • Optional amplitude compensation for CORDIC algorithm’s amplitude scale factor
  • Supports multiple output rounding modes: Truncation, Round to Pos Infinity, Round to Pos/Neg Infinity and Round to Nearest Even
  • Word Serial architectural configuration for small area and parallel architectural configuration for high throughput
  • Instantaneous Resource Estimation
  • For use with Xilinx CORE Generator™ and Xilinx System Generator



The COTS version v5.0 is the baseline from which the DO-254 Cordic 1.00a comes from. Logicircuit applies the DO-254 lifecycle to this COTS version. As a result of this DO-254 process, the source code will be modified with the goal of achieving 100% code coverage, and the resulting code will be named DO-254 Cordic 1.00a. Below are links to the Xilinx® Product Data for the version that was used as the basis, and the Logicircuit Data Sheet of the resulting DO-254 product.

Link to the Xilinx® Product Specification:

Link to the Logicircuit Data Sheet:

DO-254 Cordic 1.00a Data Sheet


Device Family Support

Xilinx® Artix™-7

Xilinx® Kintex™-7

Xilinx® Virtex™-7

Xilinx® Zynq™-7000

Xilinx® Spartan®-6