Download - Evolvable Hardware Questions What is it? Why do we want it? Who is it for? How do we get it?
Evolvable Hardware Questions
What is it? Why do we want it? Who is it for? How do we get it?
Evolution
Responding to changes in environment Changes through generations The hardware's environment and changes
Hardware that changes
Hardware is readjustable/reconfigurable in some way
Enabling/disabling parts, reconfiguring logic Hardware is in an environment Uses idea of adaptation to change
Hardware examples
Configurability necessary for adaptation Honeywell ASIC component used for
evolution ”Evolvatron MK 1”
Honeywell ASIC (NASA)
Evolvatron MK1
Evolvatron MK1
The Environment
Hardware - Typically in electronic device with physical constraints and factors
Software - program(s) or algorithm(s) to be executed
Adaptability
Dangerous places Adapt to different problems leading to simpler
hardware Cost to change
Why do we want it?
Research - why not? Solve new problems/solve old problems
better New uses for hardware? Some uses
Evolvable vs. Not
Suiting hardware to environment before or after being brought into environment
Wider scope More commoditization
New Solutions
Might come up with new hardware solutions Might find that one hardware solution works
for many problems New hardware that does not evolve and
doesn't need to incur cost of adapting
Self-Reconfigurability
Less supervision Less maintainance Less tweaking
Examples
Autonomous FPGA fault handling through competitive runtime reconfiguration
Cell Matrix MOD 88 - self configuring platform
[...]for On-chip Real-time Optimisation of Word Length and Power Consumption in a Pipelined FFT Processor targeting a MC-CDMA Receiver.
Who wants it?
Extreme environments I.T./consumer Researchers
Extreme Environments
Space Military Industrial Exploration
IT/consumer
Servers - throughput, different problems different time of day
Desktops - games, encoding Handheld - communication modes,
power/heat/perormance
Research
Hardware/Software designers and researchers
Artificial intelligence
How do we get it?
Real-time or not Software Hardware General algorithm
Real-time
Circuit changes right away/on the fly Usually less supervision Difficult to control Difficult to create
Not Real-Time
Circuit must break to take changes Usually more control User-defined parameter adjusting easier Easier to create
Software
Genetic algorithms Genetic programming Other Metaheuristics
Hardware
Anything that can be configured Dynamically configured FPGAs preferrable
for many cases Sensors (heat, power, etc...) Redundant parts
General Algorithm
Genetic Algorithm
Sources
An Evolvable Hardware Tutorial - Jim Torresen
2005 NASA / DoD Conference on Evolvable Hardware (EH 2005)