Evolutionary Hardware Dmitry Berenson. What is Evolutionary Hardware? Automated Digital Circuit...

12
Evolutionary Evolutionary Hardware Hardware Dmitry Berenson Dmitry Berenson
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    224
  • download

    0

Transcript of Evolutionary Hardware Dmitry Berenson. What is Evolutionary Hardware? Automated Digital Circuit...

Evolutionary Evolutionary HardwareHardware

Dmitry BerensonDmitry Berenson

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