ebay - cardamatic

Sean 'Captain Napalm' Conner spc at conman.org
Tue Feb 15 21:11:25 CST 2005


It was thus said that the Great Tony Duell once stated:
> 
> In the ned the program sort-of works, nobody really knows why, and the 
> result probably still has all sorts of bugs in it.
> 
> I've seen the same with hardware, particularly FPGAs (IMHO nobody should 
> be allowed near an FPGA until he cna design properly with TTL!). I've met 
> 'desginers' who say things like 
> 
> 'Let's stick a D-type on that signal and see if it helps at all'
> 
> 'I'll swap that NAD gate for an OR gate, it might do some good'
> 
> 'Maybe inverting that clock will remove the glitch'.

  It will only get worse.  There's a scientist applying genetic algorithms
[1] to hardware [2].  The scientist, Adrian Thompson, used an FPGA and
"bred" configurations (on a 10x10 area of the chip) to discrimiate between
a 1kHz and a 10kHz signal:

	So how did evolution do it--and without a clock? When he looked at
	the final circuit, Thompson found the input signal routed through a
	complex assortment of feedback loops.  He believes that these
	probably create modified and time-delayed versions of the signal
	that interfere with the original signal in a way that enables the
	circuit to discriminate between the two tones. "But really, I don't
	have the faintest idea how it works," he says.

	One thing is certain: the FPGA is working in an analogue manner. Up
	until the final version, the circuits were producing analogue
	waveforms, not the neat digital outputs of 0 volts and 5 volts.
	Thompson says the feedback loops in the final circuit are unlikely
	to sustain the 0 and 1 logic levels of a digital circuit. "Evolution
	has been free to explore the full repertoire of behaviours available
	from the silicon resources," says Thompson.

	That repertoire turns out to be more intriguing than Thompson could
	have imagined. Although the configuration program specified tasks
	for all 100 cells, it transpired that only 32 were essential to the
	circuit's operation. Thompson could bypass the other cells without
	affecting it. A further five cells appeared to serve no logical
	purpose at all--there was no route of connections by which they
	could influence the output.  And yet if he disconnected them, the
	circuit stopped working.

	It appears that evolution made use of some physical property of
	these cells--possibly a capacitive effect or electromagnetic
	inductance--to influence a signal passing nearby.  Somehow, it
	seized on this subtle effect and incorporated it into the solution.

  -spc (Welcome to the future of non-deterministic hardware/software 
	design 8-P

[1]	Hard to explain, but basically, you take a bunch of possible
	"solutions" to a problem (generally, randomly generated), check them
	for fitness (how well they solved the problem), take the high
	scoring ones, and mix-n-match between them, evolving an optimum (for
	some value of "optimum") solution.

[2]	http://www.netscrap.com/netscrap_detail.cfm?scrap_id=73




More information about the cctalk mailing list