Documentation
 ASIC datasheet 
DCORDIC

CORDIC processor


The DCORDIC uses the CORDIC algorithm to compute trigonometric, reverse trigonometric, hyperbolic and reverse hyperbolic functions. It supports sine, cosine, arcus tangent functions for hyperbolic and trigonometric systems. Logarithm, square root and exponent functions can also be computed. It supports fixed point 24-bit numbers.
DCORDIC is a technology independent design that can be implemented in a variety of process technologies.


Key Features

Applications

  • 24-bit precision (IEEE-754 single preci-sion real mantissa format)
  • 4-ulp accuracy (34-bit internal registers)
  • Fully configurable
  • Performs the following functions:
    • sin(x), cos(x)
    • sinh(x), cosh(x)
    • arctan(x)
    • arctanh(x)
    • ln(x), ex, sqrt(x)
  • Fully synthesizable
  • Static synchronous design
  • Positive edge clocking and no internal tri-states
  • Scan test ready
  • Math coprocessors
  • DSP algorithms
  • Embedded arithmetic coprocessor
  • Fast data processing & control


Symbol

 trigsel
 hyprsel
 rotatemode
 vectormode
 en
 datai (29:0)
 addr (2:0)
 we
 rd
datao (29:0) 
busy 

Pins description

PinTypeDescription
trigselinputTrigonometric system select
hyprselinputHyperbolic system select
rotatemodeinputRotate mode select
vectormodeinputVectoring mode select
eninputEnable computing
datai (29:0)inputData bus (input)
addr (2:0)inputSelect register to read/write
weinputWrite data into register
rdinputRead data from register
datao (29:0)outputData bus (output)
busyoutputBusy indicator

Block diagram

Shifters
Registers
Control Unit
trigsel
hyprsel
rotatemode
vectormode
en
Interface
datai (29:0)
datao (29:0)
addr (2:0)
we
rd
busy
ROM

Units

Shifters

It performs shifting operations in successful iterations. Number of shifts vary and depend on internal iteration cycle and computed functions.

Registers

It contains all data registers hold temporary operation results as well as final results. Input arguments are written to this register also.

Control Unit

It maintains control operation on Registers module, Shifters module and ROM unit while busy is active.

Interface

It performs communication between internal CORDIC modules and external devices. Signalizes when output registers contain a valid result.

ROM

It stores constant coefficients used for hyperbolic and trigonometric operations.