FPGA end-user programmability: how to achieve?
Dave Long
dave.long at bluewin.ch
Wed Jul 6 18:53:51 EDT 2005
> - Time-domain radar?
> - Laser pulses?
Peter Seitz et. al. put these two together for an interesting approach
to machine vision.
By measuring time-of-flight on the return signal from an led or laser
diode array, their "3d camera" directly figures out the Z-value for
each pixel in the image. Why bother with stereoscopic inversion? (If
Man had been meant to fly, God would have given him airline miles)
-Dave
:: :: ::
A quick thought on how FPGA's may encourage end-user programmability:
Horowitz and Hill mention that one nice thing about PLDs is that
whereas traditional logic involves a tangle of gates, with some
providing logic to alter registers based on inputs, and others
providing logic to signal outputs based on the registers, the relative
abundance of gates (and ease of specifying logic) in PLDs allows one to
have a much more complex input section, gaining the ability to simplify
the output section until it degenerates into spitting bits directly out
of the registers.
In order to get acceptable performance with microprocessors, we often
wind up taking an algorithm that, in essence, keeps a fairly simple
straightforward state, and add some indirection here and some caching
there and generally complexifying the state until we need only change a
small part of it at a time. This is good for speed, but not so good
for the relations between inputs, states, and outputs. (when
complexity is driven by performance, it also means that the important
tradeoffs made in any given application are likely to change over
timescales of only a few years)
If FPGAs offer enough of a speed and parallelism advantage over
microprocessor logic, it should be possible to do the reverse, throw
locality out the window, and opt for simpler states. Note that having
fewer variables which map more directly to output behavior could be a
big win for end-user programmability/debuggability, in that such
program states are far more likely to map easily to users' mental
models of the problem at hand.
More information about the Kragen-discuss
mailing list