Fractions

Discussion in 'VHDL' started by Iqbal, Apr 10, 2007.

1. IqbalGuest

Hi all,

I need to do arithmetic using fractions eg. adding +1/4 of an 8 bit
value to another 8 bit value or subtracting
-1/16 of an 8 bit value from another 8 bit value.

Can anyone tell me how I can do this in VHDL or point me in the right
direction ?

Thanks

Iqbal, Apr 10, 2007

2. Benjamin ToddGuest

Your examples are pretty simple, are you trying to make a generic 'fraction'
or is there only a certain set of values you can accept?

I'd be thinking about 1/(2^n) fractions as an approximation...

Considering that you only have an 8-bit number to start with, this means you
can only go from 0-255... this is probably an exploitable limitation.

Ben

"Iqbal" <> wrote in message
news:...
> Hi all,
>
> I need to do arithmetic using fractions eg. adding +1/4 of an 8 bit
> value to another 8 bit value or subtracting
> -1/16 of an 8 bit value from another 8 bit value.
>
> Can anyone tell me how I can do this in VHDL or point me in the right
> direction ?
>
> Thanks
>

Benjamin Todd, Apr 10, 2007

3. Thomas StankaGuest

On 10 Apr., 12:19, "Iqbal" <> wrote:
> I need to do arithmetic using fractions eg. adding +1/4 of an 8 bit
> value to another 8 bit value or subtracting
> -1/16 of an 8 bit value from another 8 bit value.
>
> Can anyone tell me how I can do this in VHDL or point me in the right
> direction ?

Z= X + Y/4 for 8 bit unsigned:

Z <= X + "00"&Y(7 downto 2);

bye Thomas

Thomas Stanka, Apr 10, 2007