Maker Pro
Maker Pro

Low Cost Hardware Flaoting Point processor? whats available

T

The Real Andy

Jan 1, 1970
0
I need to find a low cost FPU to interface to a Rabbit 2000 processor.
Having done no embedded hardware design in the last 3-4 years I have
found myself already drifing away from current trends.

As for the exact precision, no sure at this stage. Still investigating
and open on this one. I prefer to avoid DSP's if at all possible and
need something that will interface to an 8 bit wide General IO port on
the rabbit, so bitbashing serial would also be fine.

All i can find on google is ARM's and DSP's, which are a bit of an
overkill. If it comes to this a complete redisgn will be done, which I
would dearly love to avoid.

Suggestions?

Andy
 
T

The Real Andy

Jan 1, 1970
0
Looks like it might have to be double precision too.
 
L

Leon Heller

Jan 1, 1970
0
The Real Andy said:
I need to find a low cost FPU to interface to a Rabbit 2000 processor.
Having done no embedded hardware design in the last 3-4 years I have
found myself already drifing away from current trends.

As for the exact precision, no sure at this stage. Still investigating
and open on this one. I prefer to avoid DSP's if at all possible and
need something that will interface to an 8 bit wide General IO port on
the rabbit, so bitbashing serial would also be fine.

All i can find on google is ARM's and DSP's, which are a bit of an
overkill. If it comes to this a complete redisgn will be done, which I
would dearly love to avoid.

I don't think anyone makes FPUs any more. If you can't do the FP fast enough
on the Rabbit, using an ARM is probably the way to go. The Philips LPC2000
chips are very cheap - you could either use one as an FPU or redesign the
whole system. Of course, that depends on whether the software FP on the ARM
is fast enough for you, otherwise you'll have to use a device with hardware
FP.

Leon
 
K

Ken Moffett

Jan 1, 1970
0
I need to find a low cost FPU to interface to a Rabbit 2000 processor.
Having done no embedded hardware design in the last 3-4 years I have
found myself already drifing away from current trends.

As for the exact precision, no sure at this stage. Still investigating
and open on this one. I prefer to avoid DSP's if at all possible and
need something that will interface to an 8 bit wide General IO port on
the rabbit, so bitbashing serial would also be fine.

All i can find on google is ARM's and DSP's, which are a bit of an
overkill. If it comes to this a complete redisgn will be done, which I
would dearly love to avoid.

Suggestions?

Andy

A PIC coprocessor?

http://www.micromegacorp.com/picaxe.html

http://www.awce.com/pak1.htm
 
T

Tim Shoppa

Jan 1, 1970
0
Looks like it might have to be double precision too.

Seriously, you gotta figure out what your performance needs are. Your
current CPU can do double precision just fine, just maybe not fast
enough.

Why are you convinced that fixed-point math won't get you what you
want? 99% of the time it is what is needed...

Tim.
 
W

Wim Ton

Jan 1, 1970
0
The Real Andy said:
I need to find a low cost FPU to interface to a Rabbit 2000 processor.
Having done no embedded hardware design in the last 3-4 years I have
found myself already drifing away from current trends.

As for the exact precision, no sure at this stage. Still investigating
and open on this one. I prefer to avoid DSP's if at all possible and
need something that will interface to an 8 bit wide General IO port on
the rabbit, so bitbashing serial would also be fine.

All i can find on google is ARM's and DSP's, which are a bit of an
overkill. If it comes to this a complete redisgn will be done, which I
would dearly love to avoid.

Suggestions?

Have a look at www.kanda.com under the 'chips' catagory

Wim
 
K

Ken Smith

Jan 1, 1970
0
I need to find a low cost FPU to interface to a Rabbit 2000 processor.
Having done no embedded hardware design in the last 3-4 years I have
found myself already drifing away from current trends.

How fast does it have to be?

The Rabbit could be programmed with a FP library to do it slowly.

You can use a FPGA to do it.

You can connect a few more processors to the main one.

Someone I work with put a 1/(1+X) table into a PROM to get the speed he
needed on a calculation where X was a small value.

[...]
and open on this one. I prefer to avoid DSP's if at all possible and
need something that will interface to an 8 bit wide General IO port on
the rabbit, so bitbashing serial would also be fine.

If you can stand the speed of serial transfers, the math can go on
serially in the FPU. This could make it fit into a smallish CPLD.
 
T

The Real Andy

Jan 1, 1970
0
Seriously, you gotta figure out what your performance needs are. Your
current CPU can do double precision just fine, just maybe not fast
enough.

Why are you convinced that fixed-point math won't get you what you
want? 99% of the time it is what is needed...

Tim.

We are doing some fairly computational heavy statistical calculations
for creating jackpot win points. The math (apparently) requires double
precision, or so the author of the algorithm tells me. I am taking
this on face value, as I am yet to have a real good look at it.

In the mean time, we are waiting for regulatory approval to do the win
point calculation on a PC and pass it down to the rabbit. The plan is
to calculate many win points and have the rabbit do a random selection
on one of them. If we can get away with this, then the we can avoid
the whole math-coprocessor thing.
 
T

Tim Shoppa

Jan 1, 1970
0
We are doing some fairly computational heavy statistical
calculations for creating jackpot win points.

OK, I don't even know what the above means. But if the number of math
operations (multiplies, divides) is only a few dozen and the system is
"interactive" (user pressing buttons, gets a display within a fraction
of a second) then there's no problem doing software floating-point on
the Rabbit.

Tim.
 
S

Spehro Pefhany

Jan 1, 1970
0
OK, I don't even know what the above means. But if the number of math
operations (multiplies, divides) is only a few dozen and the system is
"interactive" (user pressing buttons, gets a display within a fraction
of a second) then there's no problem doing software floating-point on
the Rabbit.

Tim.

IIRC, the Rabbit is not particularly fast. If the speed is marginal,
then a cheap 32-bit processor such as the ARM would surely be fast
enough. You can likely just use a C compiler that supports the
precision you need.

Do you have a numerical estimate of the number of floating point
operations required per second (and the mix, as multiply generally is
faster than divide, sometimes a lot faster). For control applications
I try to massage the algorithm into a form that minimizes the number
of divides in favor of multiplies. But maybe, as Tim says, it doesn't
matter much in your case.


Best regards,
Spehro Pefhany
 
K

Ken Smith

Jan 1, 1970
0
Spehro Pefhany said:
IIRC, the Rabbit is not particularly fast. If the speed is marginal,
then a cheap 32-bit processor such as the ARM would surely be fast
enough. You can likely just use a C compiler that supports the
precision you need.

Do you have a numerical estimate of the number of floating point
operations required per second (and the mix, as multiply generally is
faster than divide, sometimes a lot faster).

It is very common in DSP like situations to find 1/X and multiply because
it can be coded to be much faster than a divide.

For numbers very near 1, (2-X) = 1/X

1/X = A*B*C*D*(1/(A*B*C*D*X))

If A, B, C, and D are numbers in the form of 1.??, 1.0??, 1.00?? the
multiplies needed to bring the denomination near enough to 1.0 can be done
as byte or word operations instead of having to work with the full number
of bits in the mantissa.

On an 8051, a 64 bit 1/X calculation can be done in a 1mS or so, so I
doubt that an external FPU is really needed for a slot machine.
 
T

Tim Shoppa

Jan 1, 1970
0
Ken said:
On an 8051, a 64 bit 1/X calculation can be done in a 1mS or so, so I
doubt that an external FPU is really needed for a slot machine.

If this is just a slot machine, isn't the payout a lookup function?

Somewhere the actuaries figured out what the payout was on each, right?

Obviously I don't spend enough time in Vegas :)

Tim.
 
T

Tim Shoppa

Jan 1, 1970
0
Somewhere the actuaries figured out what the payout was on each,

In doing so they probably used factorials... is that why you say you
need double precision, you want to reproduce these combinatorics?

If so it's vastly more efficient to write "m choose n" (which is
usually a smallish manageable number) than to do the ratio of
factorials (each of which may well overflow a IEEE double!)

Tim.
 
R

Rich Grise

Jan 1, 1970
0
We are doing some fairly computational heavy statistical calculations
for creating jackpot win points. The math (apparently) requires double
precision, or so the author of the algorithm tells me. I am taking
this on face value, as I am yet to have a real good look at it.

Well, I feel like I need to insert a comment here. "Double Precision"
doesn't necessarily require "Floating Point." Depending on the range
in question, it might be possible to scale everything and do integer
arithmetic. I've seen some pretty sophisticated digital filters done
in integers.

Of course, I'd feel a lot more comfortable giving "advice" if I had
some clue just what "jackpot win points" are. And I've been terrified
of "statistics" for a very long time. :)

Good Luck!
Rich
 
T

The Real Andy

Jan 1, 1970
0
In doing so they probably used factorials... is that why you say you
need double precision, you want to reproduce these combinatorics?

If so it's vastly more efficient to write "m choose n" (which is
usually a smallish manageable number) than to do the ratio of
factorials (each of which may well overflow a IEEE double!)

Tim.

This has all come about due to a patent infrigment, the whole industry
used a common method of generating jackpot triggers. Some person then
decided to patent that method and sue everyone that used it. The
infringed method basically used cash turnover over time to calculate a
win point. We have come up with a method that does not infringe that
patent, which we have subsequently patented ourselves. I could give
the details to that patent, but its a waste of time because it has all
been fluffed up by patent attourneys.

BTW, these jackpots are external to the 'slot' machine.

Anyway, cut a long story short, the algorithm is already used in one
product, but we need to port it to another product. Current product
uses boost libraries found at www.boost.org and more specific uses the
function found at
http://www.boost.org/libs/random/random-distributions.html#geometric_distribution
among others.

I am willing to give this a go in the Rabbit, at least to trial it.
But the author of the algorithm remains quite sceptical. I am no
mathmatician by any means, so I am taking it on his word. If there is
some c libraries out there for 8-bit processors that can do double
precision floating point, I am all ears.
 
T

The Real Andy

Jan 1, 1970
0
Of course, I'd feel a lot more comfortable giving "advice" if I had
some clue just what "jackpot win points" are. And I've been terrified
of "statistics" for a very long time. :)

Trust me, stats terrify me too. A jackpot win point is exactly that.
You have a trigger value, say $100, if your slot machine is the first
to push the jackpot pool over $100, you win the jackpot. Sounds easy,
howver, to generate the trigger point, it must be non-determanistic
and having had a few beers, the distribution must not be square.
Square I am sure is the wrong term, but i have a short term memory
loss at the moment.

I have been dumped in this heavily, and not having done any stats
since uni I am struggling a bit. However, it is all coming back,
albeit, very slowly.

Andy
 
T

Tim Shoppa

Jan 1, 1970
0
[Geometric distribution]

Maybe the library you're using to get a random number distributed
according to a geometric distribution needs double precision floating
point, but there are several trivial ways of doing it with only
integers, all very efficiently.

Tim.
 
D

Dirk Bruere at Neopax

Jan 1, 1970
0
The said:
This has all come about due to a patent infrigment, the whole industry
used a common method of generating jackpot triggers. Some person then
decided to patent that method and sue everyone that used it. The

Doesn't the patent fall to 'prior art'?

--
Dirk

The Consensus:-
The political party for the new millenium
http://www.theconsensus.org
 
Top