Evolutionary Hardware Dmitry Berenson. What is Evolutionary Hardware? Automated Digital Circuit...
-
date post
20-Dec-2015 -
Category
Documents
-
view
224 -
download
0
Transcript of Evolutionary Hardware Dmitry Berenson. What is Evolutionary Hardware? Automated Digital Circuit...
What is Evolutionary What is Evolutionary Hardware?Hardware? Automated Digital Circuit DesignAutomated Digital Circuit Design Automated Analog Circuit DesignAutomated Analog Circuit Design Automated VLSI Layout DesignAutomated VLSI Layout Design Automated Filter DesignAutomated Filter Design Automated Controller DesignAutomated Controller Design Automated Antenna DesignAutomated Antenna Design Fault ToleranceFault Tolerance
Previous WorkPrevious Work
Adrian Thompson (1996) – Adrian Thompson (1996) – FPGA Tone DiscriminatorFPGA Tone Discriminator
Layzell et al. (1998) – Layzell et al. (1998) – Evolvable MotherboardEvolvable Motherboard
Flockton and Sheenan (1998) Flockton and Sheenan (1998) – Intrinsic Evolution of analog – Intrinsic Evolution of analog circuits on Zetex TRAC chipcircuits on Zetex TRAC chip
Stoica and Zebulum (2002-Stoica and Zebulum (2002-2003) – FPTA and SABLES2003) – FPTA and SABLES
Our GoalsOur Goals
Evolve a circuit to perform a given Evolve a circuit to perform a given tasktask
Perform on-chip evolutionPerform on-chip evolution
Introduce new FPAA (Anadigm) to Introduce new FPAA (Anadigm) to research communityresearch community
Why Do Analog?Why Do Analog?
Analog circuit design is more of an art than a science.Analog circuit design is more of an art than a science.– That means it’s really hard.That means it’s really hard.
Software simulation has problems Software simulation has problems – Solving circuit equations (differential) takes a lot of CPU time.Solving circuit equations (differential) takes a lot of CPU time.– Software is still inaccurateSoftware is still inaccurate– There is an accuracy-to-speed tradeoff for simulationThere is an accuracy-to-speed tradeoff for simulation
The SetupThe Setup
FPAAFPAA– Anadigm AN221E04Anadigm AN221E04– Lattice ispPAC30Lattice ispPAC30
ComputerComputer– Gets SamplesGets Samples– Computes FitnessComputes Fitness– Runs Genetic Runs Genetic
AlgorithmAlgorithm– Programs FPAAPrograms FPAA
A/D ConverterA/D Converter– Dataq DI-158UDataq DI-158U The Setup
Anadigm Chip - Anadigm Chip - FeaturesFeatures
Circuits created Circuits created according to routing according to routing table table
Uses Configurable Uses Configurable Analog Blocks (CAB)Analog Blocks (CAB)
Dynamically Dynamically Reprogramable (SRAM)Reprogramable (SRAM)
CABs can contain CABs can contain multiple modulesmultiple modules
Anadigm Chip - Anadigm Chip - ModulesModules
List of Modules
Modules (CAMs) are software “blocks”Modules (CAMs) are software “blocks”
Modules correspond to routings in Modules correspond to routings in hardwarehardware
28 Modules Total28 Modules Total
Each Module has it’s own settingsEach Module has it’s own settings– This will be hard to work with This will be hard to work with
when doing evolutionwhen doing evolution
Anadigm Chip - Anadigm Chip - ProcedureProcedure Place modulesPlace modules
Make connectionsMake connections– Another problem: some blocks Another problem: some blocks
have more than 2 connectionshave more than 2 connections
Download to chipDownload to chip
Placement/Connections can Placement/Connections can be automated through C++ be automated through C++ commandscommands– ““Not Officially Released”Not Officially Released” Anadigm Designer Interface
Anadigm Chip – Search Anadigm Chip – Search SpaceSpace A CAB can only hold 2-3 modules (CAMs)A CAB can only hold 2-3 modules (CAMs)
– a safe number of total modules is around 6a safe number of total modules is around 6
Search space is roughly: Search space is roughly:
(28^6)(Connections)(Module Specific Options) = Big(28^6)(Connections)(Module Specific Options) = Big
The plan: have 6 modules, evolve their type, settings The plan: have 6 modules, evolve their type, settings and interconnectionsand interconnections
Current StatusCurrent Status
A/D converter sampling and FPAA iterative A/D converter sampling and FPAA iterative programming all running from one MFC applicationprogramming all running from one MFC application
Ready to start running Genetic AlgorithmsReady to start running Genetic Algorithms
Want to start small (only a couple CAMs)Want to start small (only a couple CAMs)
Your SuggestionsYour Suggestions
RepresentationRepresentation– Individuals with 6 genes. Individuals with 6 genes.
Gene: (CAM type, connection 1, connection 2, setting 1, Gene: (CAM type, connection 1, connection 2, setting 1, setting 2…)setting 2…)
– Variable Length Strings?Variable Length Strings?– Keeping track of CAM types – options and connectionsKeeping track of CAM types – options and connections– Linkage – any block that has a path to output affects all Linkage – any block that has a path to output affects all
other blocks following in that pathother blocks following in that path– Fitness Function – sum of errorsFitness Function – sum of errors
ApplicationsApplications– ControllerController– FilterFilter– Arbitrary FunctionArbitrary Function