Hi Guys,
Thanks a million for all your emails.
Consider making a lookup table. If your accuracy requirements and
space will allow it. This is the way things use to be done before
calculators and computers and it will work in a lot of cases.
The lookup table approach definitely sounds like a good solution, which
I will checkout and let you know how it goes.
A while back my student developed a work to produce non-linear
functions for FPGA through various linear approximations and lookups
with the goal to minimize hw resources while maintaining good and
quantifiable accuracy. It included arctan among others:
S. M. H. Ho and H. K. So, "NnCore: A parameterized non-linear
function generator for machine learning applications in FPGAs,"
_2017 International Conference on Field Programmable Technology
(ICFPT)_, 2017, pp. 160-167, doi: 10.1109/FPT.2017.8280134.
Code:
https://bitbucket.org/hku-casr/nncore/src/master/
This looks like it could be exactly what I need, thank you very much!
We’ve found here that some of the Xilinx cores can be very
sensitive to how you feed them and how they are configured. Have you
tried looking for skipped transactions and missed beats? I would not
have thought this core would be as sensitive to things as say their
SSR FFT.
I've definitely found the same too. I reckon I just don't have the block
correctly configured, or there is some issues with the format of the
input data. I haven't check this out either but will make sure to do so.
Alternatively have you managed to capture or look at the samples
involved? Does the issue occurs near a 0, with small/large values, or
around quadrant transitions.
I will take a better look tomorrow and try to see if I can find any
logic around where errors start occurring.
Thanks again everybody.
Cheers,
Eoin.
On 2021-12-13 16:17, Jeb Bailey wrote:
Hi Eoin,
We’ve found here that some of the Xilinx cores can be very
sensitive to how you feed them and how they are configured. Have you
tried looking for skipped transactions and missed beats? I would not
have thought this core would be as sensitive to things as say their
SSR FFT.
Alternatively have you managed to capture or look at the samples
involved? Does the issue occurs near a 0, with small/large values, or
around quadrant transitions.
-Jeb
Sent from my mobile.
On Dec 13, 2021, at 08:09, Hayden So <[email protected]> wrote:
A while back my student developed a work to produce non-linear
functions for FPGA through various linear approximations and lookups
with the goal to minimize hw resources while maintaining good and
quantifiable accuracy. It included arctan among others:
S. M. H. Ho and H. K. So, "NnCore: A parameterized non-linear
function generator for machine learning applications in FPGAs,"
_2017 International Conference on Field Programmable Technology
(ICFPT)_, 2017, pp. 160-167, doi: 10.1109/FPT.2017.8280134.
Code:
https://bitbucket.org/hku-casr/nncore/src/master/
It's a bit dated but may be worth taking a look.
Hope it helps.
--Hayden
Bob Stricklin wrote on 13/12/2021 11:54 PM:
Consider making a lookup table. If your accuracy requirements and
space will allow it. This is the way things use to be done before
calculators and computers and it will work in a lot of cases.
Bob Stricklin
On Dec 13, 2021, at 6:55 AM, baldwin <[email protected]> wrote:
Hi Guys,
Quick question; I'm just wondering what is the best way to calculate
arctan on the FPGA? I am currently using the Xilinx CORDIC block to
take I and Q and use them to calculate phase, but have found this to
give unreliable data. While it sometimes gives out the correct phase
value, it often just gives completely nonsensical results. Just
wondering if anybody else has ever had similar issues.
All the best,
Eoin.
--
You received this message because you are subscribed to the Google
Groups "[email protected]" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected].
To view this discussion on the web visit
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/6a1e1ff7f781ec963db9c826b973adec%40cp.dias.ie.
--
/**********************************************************
* Hayden Kwok-Hay So
* Associate Professor
* Department of Electrical and Electronic Engineering
* Program Co-director, Computer Engineering
* Co-director, Joint Lab on Future Cities (JLFC [1])
* PI, Computer Architecture and System Research Lab (CASR [2])
* The University of Hong Kong
* http://www.eee.hku.hk/~hso [3]
**********************************************************/
--
You received this message because you are subscribed to the Google
Groups "[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
To view this discussion on the web visit
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/697beb2c-a22c-7085-664e-c6d2603aa53a%40eee.hku.hk
[4].
--
You received this message because you are subscribed to the Google
Groups "[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
To view this discussion on the web visit
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/970E5BFF-A40E-4BFE-B2F1-A87F8D1383B1%40ucsb.edu
[5].
Links:
------
[1] https://www.jlfc.hku.hk
[2] https://casr.eee.hku.hk
[3] https://www.eee.hku.hk/%7Ehso
[4]
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/697beb2c-a22c-7085-664e-c6d2603aa53a%40eee.hku.hk?utm_medium=email&utm_source=footer
[5]
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/970E5BFF-A40E-4BFE-B2F1-A87F8D1383B1%40ucsb.edu?utm_medium=email&utm_source=footer
--
You received this message because you are subscribed to the Google Groups
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/33e6434070d5aa68b18be1b3dfb5b2c3%40cp.dias.ie.