120 likes | 294 Views
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.
E N D
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 (2002-2003) – 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