Multi-function, universal, CORDIC IP available from the OpenCores website

Discussion in 'VHDL' started by Nikolaos Kavvadias, Mar 7, 2014.

  1. Dear all,

    I hope you are doing well.

    Just wanted to let you know that I've uploaded one of my first "serious" designs passed through HercuLeS HLS: http://www.nkavvadias.com/hercules/

    This was around 2010, and it was an HLS showcase for a partner/client in Europe. I can finally distribute the test case freely so here you are:

    http://www.opencores.org/project,kvcordic

    Description:
    The design is a universal CORDIC IP core supporting all directions (ROTATION,
    VECTORING) and modes (CIRCULAR, LINEAR, HYPERBOLIC). The I/O interface is similar to e.g. the CORDIC IP generated by Xilinx Core Generator). It provides three data inputs (xin,yin, zin) and three data outputs (xout,yout, zout) as well as the direction and mode control inputs. The testbench will testthe core for computing cos (xin), sin (yin), arctan(yin/xin), yin/xin, √w, 1/√w, with
    xin = w + 1/4, yin = w − 1/4, but it can be used for anything computable by CORDIC iterations. The computation of 1/√w is performed in two stages: a) y = 1/w, b) z = √y.

    The design is a monolithic FSMD that does not include post-processing needed such as the scaling operation for the square root. The FSMD for the CORDIC uses Q2.14 ï¬xed-point arithmetic. The core achieves 18 (CIRCULAR,LINEAR) and 19 cycles (HYPERBOLIC) per sample or n + 4 and n + 5 cycles, respectively, where n is the fractional bitwidth. A single-cycle per iteration constraint imposes the
    use of distributed LUT RAM, otherwise 3 cycles are required per sample (distinct load, compute, store cycles).

    SPECIAL THANKS: Go to MSc and PhD candidate Mrs. Vasiliki Giannakopoulou for explaining to me how CORDIC works and for implementing a hand-coded optimized version to compare with! Her hand-written CORDIC is also blazing fast for a portable non-Xilinx or non-Altera specific design.


    Best regards,
    Nikolaos Kavvadias
    Independent Research Scientist / Hardware engineer / EDA developer
    http://www.nkavvadias.com
    Lamia, Greece
     
    Nikolaos Kavvadias, Mar 7, 2014
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Gnome

    writing cordic

    Gnome, Jul 28, 2003, in forum: VHDL
    Replies:
    0
    Views:
    3,008
    Gnome
    Jul 28, 2003
  2. Johnsy Joseph
    Replies:
    2
    Views:
    1,129
    Brian Drummond
    Oct 29, 2004
  3. anupam

    CORDIC implemetation

    anupam, Dec 1, 2005, in forum: VHDL
    Replies:
    2
    Views:
    784
    anupam
    Dec 2, 2005
  4. Kolja Sulimma

    Re: Cordic-based Sine Computer in MyHDL

    Kolja Sulimma, May 4, 2006, in forum: VHDL
    Replies:
    0
    Views:
    605
    Kolja Sulimma
    May 4, 2006
  5. Replies:
    2
    Views:
    976
Loading...

Share This Page