How to calculate exp() and log() and root() without multiplication in verilog?

Status
Not open for further replies.

u24c02

Advanced Member level 1
Joined
May 8, 2012
Messages
404
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Visit site
Activity points
4,101
Hi.
I want to know that How to calculate exp() and log() and root() without multiplication in verilog? (If it need it, then how to calculate?)

Does any one know this method in verilog, would you please let me know?

I have already asked like this question but the answers does not help me.

**broken link removed**

Please help me.
 

hi,

i can tell you about square root.

search for AN OPTIMIZED SQUARE ROOT ALGORITHM in google. read the 1st pdf . you will know how to do it without mutiplication

regards
 

You can use CORDIC algorithm. Google search "Cordic log exp square root algorithms".
 

CORDIC can do a lot, but hardly "without multilpcation" because it's basic operation is a matrix multiply.

@FvM: I think, using only adders (+/-), the required logic can be implemented using CORDIC. Please correct me if I am wrong. Of course, a look-up table approach would be the simple.
 

CORDIC can do a lot, but hardly "without multilpcation" because it's basic operation is a matrix multiply.

I must confess that I'm not particularly motivated to find a solution for this arbitrary and unexplained requirement. But to mention the obvious, a mere look-up table without interpolation would do.

- - - Updated - - -

You may be right that CORDIC can be implemented with shift and add only.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…