# Exponential code in VHDL

Discussion in 'VHDL' started by Zaid Al-Hilli, Jul 27, 2011.

1. ### Zaid Al-HilliGuest

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)));

Zaid

Zaid Al-Hilli, Jul 27, 2011

2. ### Benjamin CouillardGuest

On 27 juil, 05:19, 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)));
>
>
>
> 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.

Benjamin Couillard, Jul 27, 2011

3. ### noobieGuest

On Jul 27, 2:19 pm, 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)));
>
>
>
> Zaid

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

noobie, Jul 28, 2011
4. ### jeppe

Joined:
Mar 10, 2008
Messages:
348
0
Location:
Denmark
jeppe, Jul 28, 2011

Joined:
Jul 20, 2011
Messages:
4
0
figure out at least something by yourself about your homework assignment before posting a lameass question like "how to do it"

6. ### Zaid Al-HilliGuest

On Jul 27, 7:23 pm, Benjamin Couillard <>
wrote:
> On 27 juil, 05:19, 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)));

>

>
> > 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, Jul 29, 2011
7. ### Zaid Al-HilliGuest

On Jul 27, 6:09 pm, Rob Gaddi <> 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)));

>

>
> > Many thanks in advance...

>
> > Zaid

>
> Yeah, bound the range of y sufficiently that you can implement the
> entire thing in a RAM lookup table.
>
> --