cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Observer
Observer
12,872 Views
Registered: ‎09-10-2007

Questions of CORDIC DIVIDER in Xilinx Reference blockset

Hello,
 
I have questions about the parameter setting of CORDIC DIVIDER in Xilinx Reference blockset. I don't really know how to set the parameters of CORDIC DIVIDER or how should I do if I want to get the result as accurate as possible.
Based on what I did, for the same inputs (the same dividend and the same divisor), just changing one parametor of CORDIC DIVIDER (keeping all other parameters unchanged), for example 'number of processing elements', the output did change. That is to say, if I want to get the output as accurate as possible, I have to do some tests and get to know the best settings of those parameters for each specific inputs (there should be a best situation.) But the problem is I can not predict the input values. Hence, how should I set the parameters that I can get my output values accurate enough for different inputs?
 
Is that something that I was missing?
Thanks!
 
 
0 Kudos
3 Replies
Highlighted
Xilinx Employee
Xilinx Employee
12,866 Views
Registered: ‎08-07-2007

The System Generator CORDIC reference blocks are fixed point hardware implementations of the CORDIC algorithm.  The accuracy of the CORDIC algorithm is known to depend on the number of iterations and a fixed point implementation's accuracy will also depend on the number of bits used.  In general increasing the number of iterations will increase the accuracy of the results.  There is an upper limit however and at some point you will see very little to no gain in accuracy for an increase in the number of iterations. 

Each application has it's own requirements in regards to the accuracy of the results.  For this reason there is not a documented recommendation for the parameters of this block.  If you're looking for further details on the algorithm in general there are several papers available online that go into great detail about the CORDIC algorithm and various hardware implementations.  Understanding the algorithm may help you to relate the parameters to the precision in the results.  Another option would be to create a simulation that sends a fairly inclusive set of inputs through the core and records the results and changing the parameters until the results are suitably accurate for your design.

I hope this helps
0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
12,858 Views
Registered: ‎08-01-2007

Here are a few resources that can help you determine the parameters for the CORDIC.

http://www.dspguru.com/info/faqs/cordic.htm
http://www.andraka.com/cordic.htm

You may also want to search Google for "CORDIC", if these resources are not enough to help you set your parameters.
Chris
Versal ACAP: AI Engines | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------
0 Kudos
Highlighted
Observer
Observer
12,814 Views
Registered: ‎09-10-2007

Thanks you very much! I will read more materials...
0 Kudos