Catapult C floating point exp() function?

Guest
Hello all,

I was wondering if catapult C HLS has a built in exp() for floating point numbers. If yes is the generated RTL description vendor independent and the modules used sharable or open etc.?

Thanks
 
How is your experience with Catapult C? Does it work?

I don't have an answer to your exact question, but if you don't find a built-in function, a lookup table or a Maclaurin series are your best bets.
 
Hi,

If you have Catapult-SL, you should be able to use the C-Core feature and wrap-up a
module from flopoco (http://flopoco.gforge.inria.fr/) which produces HDL.

Ragards,

Steven


On 15/04/2013 16:09, turin231@gmail.com wrote:
Hello all,

I was wondering if catapult C HLS has a built in exp() for floating point numbers. If yes is the generated RTL description vendor independent and the modules used sharable or open etc.?

Thanks
 
@ Kevin...Did not try it yet...I will tell when i try it but most consider catapult C as one of the most robust...

Thanks for the replies...I will try and check back
 
I used to work on the development a high-level design tool but it never worked out well. Plus, Verilog/VHDL keep getting more abstract all the time. But I'm always interested to hear about these other tools.

If you can't use a lookup, the Horner-style Maclaurin for y=exp(x) isn't too hard. Something like:

y=1; temp=1;
for n = 1 to N
temp = temp * x/n;
y = y + temp;
end

Accuracy depends on N. You can store the reciprocals of n in a ROM so you don't have to do divides. If x is purely imaginary, just use a sin/cos lookup.
 
On Wednesday, April 17, 2013 8:16:08 PM UTC+2, Kevin Neilson wrote:
I used to work on the development a high-level design tool but it never worked out well. Plus, Verilog/VHDL keep getting more abstract all the time.. But I'm always interested to hear about these other tools.



If you can't use a lookup, the Horner-style Maclaurin for y=exp(x) isn't too hard. Something like:



y=1; temp=1;

for n = 1 to N

temp = temp * x/n;

y = y + temp;

end



Accuracy depends on N. You can store the reciprocals of n in a ROM so you don't have to do divides. If x is purely imaginary, just use a sin/cos lookup.
The general idea for these tool seems promising. I have only tried vivado hls up until now and it looks really promising. Even though it does not seem fully functional yet...These tool are still very immature but in my opinion they have the potential to become the norm quite soon...

I managed to obtain a university license for the calypto catapult C. Does anyone know if the C-core feature is activated in such a license?
 

Welcome to EDABoard.com

Sponsor

Back
Top