Implementing the CORDIC algorithm without using Real Data Type

Discussion in 'VHDL' started by Johnsy Joseph, Oct 26, 2004.

  1. Hello,

    I am confused on an issue while trying to implement the CORDIC
    algorithm. The values of cosine and sine functions are real numbers.
    How do I implement such numbers without using the Real data type
    because I want to have my design synthesizable? How do I do a work
    around using the synthesizable data types like std_logic etc? Please
    forgive me if my question is stupid.

    Thanks for the help
    Warm Regards
    :) Sam
     
    Johnsy Joseph, Oct 26, 2004
    #1
    1. Advertising

  2. Johnsy Joseph

    Eric Smith Guest

    (Johnsy Joseph) writes:
    > I am confused on an issue while trying to implement the CORDIC
    > algorithm. The values of cosine and sine functions are real numbers.
    > How do I implement such numbers without using the Real data type
    > because I want to have my design synthesizable?


    For real inputs, the range of both the cosine and sin functions are
    [-1, 1], or [0, 1] if you only need the first quadrant. Floating point
    is obviously not necessary to represent that; just use a suitable
    fixed-point number.

    Similarly, even though the domain of cosine and sin are the entire
    set of reals (or even complex), for many applications it is acceptable
    to limit the domain to the range [0, 2*pi), which can also easily be
    represented in fixed-point.

    CORDIC can easily be used for angles in units other than radians, as
    well. I usually use angles measured as a fraction of a unit circle,
    e.g., radians/2*pi. I've heard various names proposed for such a
    unit of angular measure, but nothing seems definitive.

    > around using the synthesizable data types like std_logic etc?


    Use the unsigned type from ieee.numeric_std, and choose a width and
    scale factor to get the precision you need.
     
    Eric Smith, Oct 28, 2004
    #2
    1. Advertising

  3. On 28 Oct 2004 14:54:44 -0700, Eric Smith
    <> wrote:

    >CORDIC can easily be used for angles in units other than radians, as
    >well. I usually use angles measured as a fraction of a unit circle,
    >e.g., radians/2*pi. I've heard various names proposed for such a
    >unit of angular measure, but nothing seems definitive.


    Heh. Points. There are 32 points around the unit circle.

    - Brian
    (N, N by W, WNW, NW by N, NW, NW by W, ... :)
     
    Brian Drummond, Oct 29, 2004
    #3
    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. anupam

    CORDIC implemetation

    anupam, Dec 1, 2005, in forum: VHDL
    Replies:
    2
    Views:
    785
    anupam
    Dec 2, 2005
  3. Curious Trigger
    Replies:
    2
    Views:
    1,852
    Curious Trigger
    Sep 9, 2006
  4. Davidlohr Bueso

    CORDIC algorithm

    Davidlohr Bueso, Oct 16, 2004, in forum: C Programming
    Replies:
    5
    Views:
    924
  5. tonololotono

    CORDIC algorithm in vhdl

    tonololotono, Jun 19, 2007, in forum: VHDL
    Replies:
    0
    Views:
    1,712
    tonololotono
    Jun 19, 2007
Loading...

Share This Page