15
POLITECNICO DI MILANO Evolvable Hardware: Past, Evolvable Hardware: Past, Present and Future Present and Future D D ynamic ynamic R R econfigurability econfigurability in in E E mbedded mbedded S S ystems ystems D D esign esign Fabio Cancarè: [email protected] Marco Castagna: [email protected]

RCIM 2008 -- EHW

Embed Size (px)

Citation preview

Page 1: RCIM 2008 -- EHW

POLITECNICO DI MILANO

Evolvable Hardware: Past, Evolvable Hardware: Past,

Present and FuturePresent and Future

DDynamic ynamic RReconfigurability econfigurability

inin EEmbeddedmbedded SSystemsystems DDesignesign

Fabio Cancarè: [email protected]

Marco Castagna: [email protected]

Page 2: RCIM 2008 -- EHW

2

IndiceIndice

Evolvable Hardware: definizioni

Caratteristiche dell’EHW

Processo Evolutivo e sue componenti

Approcci all’evoluzione hardware

Esempi di evoluzione

Discriminatore di tono

Filtro per Edge Detection

Sviluppo di una nuova architettura per un sistema evolvibile

Caratteristiche principali

Struttura gerarchica

Evoluzione delle configurazioni

Page 3: RCIM 2008 -- EHW

3

Evolvable Hardware: definizioniEvolvable Hardware: definizioni

Hardware riconfigurabileHardware riconfigurabile

Algoritmi EvolutiviAlgoritmi Evolutivi

++

Page 4: RCIM 2008 -- EHW

4

Evolvable Hardware: processo evolutivoEvolvable Hardware: processo evolutivo

Page 5: RCIM 2008 -- EHW

5

Evolvable Hardware: Evolvable Hardware: componenticomponenti

Page 6: RCIM 2008 -- EHW

6

••FlessibilitFlessibilitàà

••EfficienzaEfficienza

A patto diA patto di…… sapere esattamente sapere esattamente cosacosa si vuolesi vuole

ottenute ottenute autonomamenteautonomamente

Evolvable Hardware: vantaggiEvolvable Hardware: vantaggi

fornire una specifica COMPORTAMENTALEfornire una specifica COMPORTAMENTALE

Page 7: RCIM 2008 -- EHW

7

Evoluzione Evoluzione Gate LevelGate Level

Evoluzione Evoluzione Functional LevelFunctional Level

potente mapotente ma……

Approcci allApprocci all’’evoluzione hardwareevoluzione hardware

Page 8: RCIM 2008 -- EHW

8

Evoluzione Evoluzione IntrinsecaIntrinseca

Evoluzione Evoluzione EstrinsecaEstrinseca

Approcci allApprocci all’’evoluzione hardwareevoluzione hardware

vsvs

Hardware Hardware EvolvibileEvolvibile Hardware Hardware EvolutoEvolutovsvs

nello specifico dellnello specifico dell’’evoluzione su FPGA:evoluzione su FPGA:

Manipolazione diretta Manipolazione diretta del bitstreamdel bitstream

Circuiti Virtuali Circuiti Virtuali RiconfigurabiliRiconfigurabili

vsvs

Page 9: RCIM 2008 -- EHW

9

Esempio: evoluzione di un discriminatore di tonoEsempio: evoluzione di un discriminatore di tono

Thompson [1996]: Gate Level, Intrinseca, Manipolazione Thompson [1996]: Gate Level, Intrinseca, Manipolazione diretta del bitstream.diretta del bitstream.

Page 10: RCIM 2008 -- EHW

10

Esempio: evoluzione di Esempio: evoluzione di un un filtrofiltro per Edge Detectionper Edge Detection

EvoluzioneEvoluzione FunzionaleFunzionale, , EstrinsecaEstrinseca e e basatabasata susuCircuitiCircuiti VirtualiVirtualiriconfigurabiliriconfigurabili

27000 generazioni27000 generazioni

Page 11: RCIM 2008 -- EHW

11

Sviluppo di unSviluppo di un’’architettura per un sistema evolvibilearchitettura per un sistema evolvibile

Caratteristiche principali:Caratteristiche principali:

Basata su FPGA (Basata su FPGA (XilinxXilinx VirtexVirtex--4)4)

EvoluzioneEvoluzione GateGate--Level (gerarchica)Level (gerarchica)

EvoluzioneEvoluzione IntrinsecaIntrinseca

EvoluzioneEvoluzione basatabasata su manipolazione diretta del su manipolazione diretta del bitstreambitstream

Page 12: RCIM 2008 -- EHW

12

StrutturaStruttura GerarchicaGerarchica

Page 13: RCIM 2008 -- EHW

13

EvoluzioneEvoluzione delledelle configurazioniconfigurazioni

SviluppoSviluppo didi due due strumentistrumenti per per derivarederivare informazioniinformazioni sulsulformatoformato deidei bitstreambitstream::

ParserParser/Comparatore di /Comparatore di bitstreambitstream (C++)(C++)

FrontFront--end end graficografico per i tool per i tool delladella XilinxXilinx (FPGA editor e (FPGA editor e BitGenBitGen) e ) e ilil parser/parser/comparatorecomparatore per la per la generazionegenerazione e e ll’’analisianalisi deidei datidati (Python)(Python)

In particolare In particolare èè necessario:necessario:

IdentificareIdentificare la la posizioneposizione del del contenutocontenuto delledelle LUT F e G LUT F e G delladella slice slice didi coordinate (X,Y).coordinate (X,Y).

IdentificareIdentificare la la posizioneposizione deidei bit bit didi configurazioneconfigurazione deideiMUX MUX didi unauna determinatadeterminata slice.slice.

Page 14: RCIM 2008 -- EHW

14

TODOTODO

Breve periodo:Breve periodo:

SviluppoSviluppo hardhard--macro macro cellacella

Creazione software per lCreazione software per l’’evoluzione delle evoluzione delle configurazioni basato sulle regole derivate configurazioni basato sulle regole derivate precedentementeprecedentemente

Medio/Lungo periodo:Medio/Lungo periodo:

……

Page 15: RCIM 2008 -- EHW

15

Grazie per Grazie per ll’’attenzioneattenzione

-- Domande? Domande? --