[libre-riscv-dev] [Bug 208] implement CORDIC in a general way sufficient to do transcendentals

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Apr 15 18:54:43 BST 2020


https://bugs.libre-soc.org/show_bug.cgi?id=208

--- Comment #6 from Michael Nolan <mtnolan2640 at gmail.com> ---
(In reply to Luke Kenneth Casson Leighton from comment #5)
> ok so would you like to do the next step? which is, yep you guessed it:
> IEEE754 FP sin and cos :)

I'm not really sure how to do this though. I know you did a similar thing on
the divider, did you handle it as a float the entire way through or convert it
to integer... somehow?

Doing it as a float means that the adders/subtractors need to be full floating
point adders, like those in fpadd/, right? 

For converting the inputs to integers, it seems like there would be issues as
the input angle approached 0 (because floats give more resolution there). Cole
emailed me a paper (which I linked to in the resources page) that contained a
hybrid cordic that switched to a taylor series approximation when the input
became small enough. This seems like it might work reasonably well for handling
the small input case. 

Thoughts?

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-riscv-dev mailing list