Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

implement a DSP algorithm in a FPGA

Status
Not open for further replies.

selvaraja

Full Member level 4
Joined
Jun 1, 2004
Messages
190
Helped
6
Reputation
12
Reaction score
3
Trophy points
1,298
Activity points
1,416
how to implement cosin on fpga

Hi
I am trying to implement a DSP algorithm in a FPGA. My algorithm has sine and cosine functions in it. Can somebody comment on implementing sine and cosine functions in VHDL or MATLAB fixed point (using fixed point toolbox).
Thanks in advance,
 

how to implement mixer in fpga

Somebody asked the similar question in comp.arch.fpga newsgroup. Here is one reply.

From: Ray Andraka (ray@andraka.com)
Subject: Re: Sine function implementation in FPGA??
View: Complete Thread (6 articles)
Original Format
Newsgroups: comp.arch.fpga
Date: 2004-10-05 16:14:11 PST


How many bits precision do you need? How many angles, or what is the
angular resolution you need? How about the angular range if less than
+/-pi? There are several ways of obtaining the sine. For lower angular
resolution, a look up table works fine if you have the on-chip memory
available. There are also several approximations (one that I've used is
a two step linear approximation with a correction that uses two fairly
small look-ups). You can also compute the sign algorithmically using a
CORDIC rotation at the expense of more latency. If your design needs to
multiply some signal by a sine, say a mixer and local oscillator, then
CORDIC might be advantageous as it can accomplish both the sine and the
multiply in one operation. I have papers on my website on CORDIC and a
Xilinx XCELL article I wrote on using CORDIC as a mixer in a digital
radio app. For behavioral VHDL, you can use the sine and cosine
functions in ieee.math_real...those are computed using CORDIC in that
package, by the way.

SD wrote:

> Hi,
> I am trying to implement a DSP algorithm in a FPGA. My algorithm has
> sine and cosine functions in it. Can somebody help me in implementing
> sine and cosine functions in MATLAB fixed point (using fixed point
> toolbox) or VHDL.
> Thanks,
> SD

--
--Ray Andraka, P.E.
President, the Andraka Consulting Group, Inc.
401/884-7930 Fax 401/884-7950
email ray@andraka.com
http://www.andraka.com

"They that give up essential liberty to obtain a little
temporary safety deserve neither liberty nor safety."
-Benjamin Franklin, 1759
Post a follow-up to this message
 

cordic is very suitable algorithm for sin/cos generator, and i use it very often in my design practice.
 

cordic is very suitable algorithm for sin&cos generator, and i have used it many time
 

OK! Sine and cosine generation is an old problem, usually solved using look up tables, specially when the frequency of sine and cosine waves are fixed.
if the frequency is variable and you should compute a different sine or cosine value each time, then you should compute it and as our friends say cordic can do the work.
As you know Xilinx provides CORDIC core for free with it's core generator tool.
 

If Matlab was considered,
then the equivalent opportunity in VHDL is
package IEEE.MATH_real.
Here is real functions SIN, COS.
For modeling they can be transferred into Integer, and then into bit vector.
For synthesis they can serve to make constant array of bit vectors.
But not all the synthesizers support this package.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top