Velocity Reviews > VHDL > Exponential code in VHDL

# Exponential code in VHDL

Zaid Al-Hilli
Guest
Posts: n/a

 07-27-2011
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.5)));

Zaid

Benjamin Couillard
Guest
Posts: n/a

 07-27-2011
On 27 juil, 05:19, Zaid Al-Hilli <(E-Mail Removed)> 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.5)));
>
>
>
> Zaid

One simple way would be to use a look-up table implemented in a ROM.
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
Guest
Posts: n/a

 07-28-2011
On Jul 27, 2:19*pm, Zaid Al-Hilli <(E-Mail Removed)> 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.5)));
>
>
>
> Zaid

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

jeppe
Senior Member
Join Date: Mar 2008
Location: Denmark
Posts: 348

 07-28-2011
Find inspiration here:

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

Jeppe

Junior Member
Join Date: Jul 2011
Posts: 4

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

Zaid Al-Hilli
Guest
Posts: n/a

 07-29-2011
On Jul 27, 7:23*pm, Benjamin Couillard <(E-Mail Removed)>
wrote:
> On 27 juil, 05:19, Zaid Al-Hilli <(E-Mail Removed)> 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.5)));

>

>
> > Many thanks in advance...

>
> > Zaid

>
> One simple way would be to use a look-up table implemented in a ROM.
> 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
Guest
Posts: n/a

 07-29-2011
On Jul 27, 6:09*pm, Rob Gaddi <(E-Mail Removed)> 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.5)));

>

>
> > Many thanks in advance...

>
> > Zaid

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

Thanks a lot!