Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   VHDL (http://www.velocityreviews.com/forums/f18-vhdl.html)
-   -   Exponential code in VHDL (http://www.velocityreviews.com/forums/t752057-exponential-code-in-vhdl.html)

Zaid Al-Hilli 07-27-2011 09:19 AM

Exponential code in VHDL
 
Hi all,

I am about implementing a VHDL code but I am facing problem, I have an
exponential operation and I want to run that code op an FPGA board!!

Generally speaking the assignment is: X = (1 / (1+ exp((y + 87.8) /
8.5)));

Would you please help me in that?

Many thanks in advance...

Zaid

Benjamin Couillard 07-27-2011 05:23 PM

Re: Exponential code in VHDL
 
On 27 juil, 05:19, Zaid Al-Hilli <z.alhil...@gmail.com> wrote:
> Hi all,
>
> I am about implementing a VHDL code but I am facing problem, I have an
> exponential operation and I want to run that code op an FPGA board!!
>
> Generally speaking the assignment is: *X = (1 / (1+ exp((y + 87.8) /
> 8.5)));
>
> Would you please help me in that?
>
> Many thanks in advance...
>
> Zaid


One simple way would be to use a look-up table implemented in a ROM.
With "y" being the address and X being the data read at "y" address.
This solution would work well if the range of "y" in bits is smaller
or equal to 16 bits. If "y" is 32-bit wide then I don't think a look-
up table implemented in a FPGA-Rom will work.

noobie 07-28-2011 07:31 AM

Re: Exponential code in VHDL
 
On Jul 27, 2:19*pm, Zaid Al-Hilli <z.alhil...@gmail.com> wrote:
> Hi all,
>
> I am about implementing a VHDL code but I am facing problem, I have an
> exponential operation and I want to run that code op an FPGA board!!
>
> Generally speaking the assignment is: *X = (1 / (1+ exp((y + 87.8) /
> 8.5)));
>
> Would you please help me in that?
>
> Many thanks in advance...
>
> Zaid


Use Taylor series expansion for the calculation of this equation. Use
fixed point arithmetic.

jeppe 07-28-2011 08:15 AM

Find inspiration here:

http://users-tima.imag.fr/cis/guyot/...sh/Fonctio.htm

Jeppe

RADNOR 07-28-2011 06:29 PM

figure out at least something by yourself about your homework assignment before posting a lameass question like "how to do it"

Zaid Al-Hilli 07-29-2011 10:41 AM

Re: Exponential code in VHDL
 
On Jul 27, 7:23*pm, Benjamin Couillard <benjamin.couill...@gmail.com>
wrote:
> On 27 juil, 05:19, Zaid Al-Hilli <z.alhil...@gmail.com> wrote:
>
> > Hi all,

>
> > I am about implementing a VHDL code but I am facing problem, I have an
> > exponential operation and I want to run that code op an FPGA board!!

>
> > Generally speaking the assignment is: *X = (1 / (1+ exp((y + 87.8) /
> > 8.5)));

>
> > Would you please help me in that?

>
> > Many thanks in advance...

>
> > Zaid

>
> One simple way would be to use a look-up table implemented in a ROM.
> With "y" being the address and X being the data read at "y" address.
> This solution would work well if the range of "y" in bits is smaller
> or equal to 16 bits. If "y" is 32-bit wide then I don't think a look-
> up table implemented in a FPGA-Rom will work.


Thanks a lot!

Zaid Al-Hilli 07-29-2011 10:41 AM

Re: Exponential code in VHDL
 
On Jul 27, 6:09*pm, Rob Gaddi <rga...@technologyhighland.com> wrote:
> On 7/27/2011 2:19 AM, Zaid Al-Hilli wrote:
>
> > Hi all,

>
> > I am about implementing a VHDL code but I am facing problem, I have an
> > exponential operation and I want to run that code op an FPGA board!!

>
> > Generally speaking the assignment is: *X = (1 / (1+ exp((y + 87.8) /
> > 8.5)));

>
> > Would you please help me in that?

>
> > Many thanks in advance...

>
> > Zaid

>
> Yeah, bound the range of y sufficiently that you can implement the
> entire thing in a RAM lookup table.
>
> --
> Rob Gaddi, Highland Technology
> Email address is currently out of order


Thanks a lot!


All times are GMT. The time now is 10:56 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.