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