Survey							
                            
		                
		                * Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Evolutionary Hardware Dmitry Berenson What is Evolutionary Hardware?        Automated Digital Circuit Design Automated Analog Circuit Design Automated VLSI Layout Design Automated Filter Design Automated Controller Design Automated Antenna Design Fault Tolerance Previous Work     Adrian Thompson (1996) – FPGA Tone Discriminator Layzell et al. (1998) – Evolvable Motherboard Flockton and Sheenan (1998) – Intrinsic Evolution of analog circuits on Zetex TRAC chip Stoica and Zebulum (20022003) – FPTA and SABLES Our Goals  Evolve a circuit to perform a given task  Perform on-chip evolution  Introduce new FPAA (Anadigm) to research community Why Do Analog?  Analog circuit design is more of an art than a science. – That means it’s really hard.  Software simulation has problems – Solving circuit equations (differential) takes a lot of CPU time. – Software is still inaccurate – There is an accuracy-to-speed tradeoff for simulation The Setup  FPAA – Anadigm AN221E04 – Lattice ispPAC30  Computer – – – –  Gets Samples Computes Fitness Runs Genetic Algorithm Programs FPAA A/D Converter – Dataq DI-158U The Setup Anadigm Chip - Features     Circuits created according to routing table Uses Configurable Analog Blocks (CAB) Dynamically Reprogramable (SRAM) CABs can contain multiple modules Anadigm Chip - Modules  Modules (CAMs) are software “blocks”  Modules correspond to routings in hardware  28 Modules Total  Each Module has it’s own settings – This will be hard to work with when doing evolution List of Modules Anadigm Chip - Procedure  Place modules  Make connections – Another problem: some blocks have more than 2 connections   Download to chip Placement/Connections can be automated through C++ commands – “Not Officially Released” Anadigm Designer Interface Anadigm Chip – Search Space  A CAB can only hold 2-3 modules (CAMs) – a safe number of total modules is around 6  Search space is roughly: (28^6)(Connections)(Module Specific Options) = Big  The plan: have 6 modules, evolve their type, settings and interconnections Current Status  A/D converter sampling and FPAA iterative programming all running from one MFC application  Ready to start running Genetic Algorithms  Want to start small (only a couple CAMs) Your Suggestions  Representation – Individuals with 6 genes.  Gene: (CAM type, connection 1, connection 2, setting 1, setting 2…) – Variable Length Strings? – Keeping track of CAM types – options and connections – Linkage – any block that has a path to output affects all other blocks following in that path – Fitness Function – sum of errors  Applications – Controller – Filter – Arbitrary Function