47
1 EVOLVABLE HARDWARE EVOLVABLE HARDWARE Aplicação de Computação Aplicação de Computação Evolucionária no Projeto, Evolucionária no Projeto, Otimização e Síntese de Otimização e Síntese de Sistemas Sistemas Hardware Hardware Evolucionári Evolucionári

EVOLVABLE HARDWARE

  • Upload
    lilike

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Hardware Evolucionário. EVOLVABLE HARDWARE. Aplicação de Computação Evolucionária no Projeto, Otimização e Síntese de Sistemas. Sumário. O que é Evolvable Hardware? Taxonomia Exemplos de Aplicação; Projeto de Sistemas Digitais; Projeto de Sistemas Analógicos; - PowerPoint PPT Presentation

Citation preview

Page 1: EVOLVABLE HARDWARE

1

EVOLVABLE HARDWAREEVOLVABLE HARDWAREEVOLVABLE HARDWAREEVOLVABLE HARDWARE

Aplicação de Computação Evolucionária no Aplicação de Computação Evolucionária no Projeto, Otimização e Síntese de SistemasProjeto, Otimização e Síntese de Sistemas

HardwareHardware EvolucionárioEvolucionárioHardwareHardware EvolucionárioEvolucionário

Page 2: EVOLVABLE HARDWARE

2

SumárioSumário O que é Evolvable Hardware?O que é Evolvable Hardware? Taxonomia Taxonomia Exemplos de Aplicação;Exemplos de Aplicação;

Projeto de Sistemas Digitais;Projeto de Sistemas Digitais;Projeto de Sistemas Analógicos;Projeto de Sistemas Analógicos;Projeto de Circuitos Integrados CMOS;Projeto de Circuitos Integrados CMOS;Robótica;Robótica;Plataforma de Evolução de CircuitosPlataforma de Evolução de CircuitosProjetos na Engenharia CivilProjetos na Engenharia Civil

Futuro da ÁreaFuturo da Área

Page 3: EVOLVABLE HARDWARE

3

O Que é Evolvable Hardware?O Que é Evolvable Hardware?

Área que investiga a aplicação de Computação Área que investiga a aplicação de Computação Evolucionária no projeto, otimização ou Evolucionária no projeto, otimização ou

síntese de sistemas de hardware:síntese de sistemas de hardware: circuitos eletrônicos;circuitos eletrônicos; robôs;robôs; controladores;controladores; outras estruturas (civil, mecânica, física, etc);outras estruturas (civil, mecânica, física, etc);

““Evoluir ao invés de projetar”Evoluir ao invés de projetar”

Page 4: EVOLVABLE HARDWARE

4

Evolvable HardwareEvolvable Hardware

Projeto de SistemasProjeto de Sistemas– determinação de determinação de valores e/ou tiposvalores e/ou tipos dos componentes dos componentes

empregados no projeto de um sistema;empregados no projeto de um sistema; OtimizaçãoOtimização

– determinação dos determinação dos valoresvalores ótimos (semi-ótimos) dos ótimos (semi-ótimos) dos valores ou dimensões dos componentes de um sistema;valores ou dimensões dos componentes de um sistema;

SínteseSíntese– identificação da identificação da estrutura/arquiteturaestrutura/arquitetura de um sistema e a de um sistema e a

determinação dos determinação dos componentes (tipos e valores).componentes (tipos e valores).

Page 5: EVOLVABLE HARDWARE

5

Projeto e SínteseProjeto e Síntese

avaliação

Sistema Evolucionário

Simulador ou

CircuitoReconfigurável

componentes componentes objetivos objetivos estruturaestrutura

HardwareHardwareSintetizadoSintetizado

Page 6: EVOLVABLE HARDWARE

10

TAXONOMIATAXONOMIAEHWEHW

Processo de AvaliaçãoProcesso de Avaliaçãodo Hardwaredo Hardware

Tipo de SistemaTipo de SistemaEvolucionárioEvolucionário

Área de Área de AplicaçãoAplicação

PlataformaPlataformaEvolutivaEvolutiva

Intrínsico Intrínsico ExtrínsicoExtrínsico

GA GA TradicionalTradicional

ProgramaçãoProgramaçãoGenéticaGenética

ProgramaçãoProgramaçãoEvolucionáriaEvolucionária

CircuitosCircuitos em geral em geral

RobóticaRobótica

VLSIVLSI

CircuitosCircuitosProgramáveisProgramáveis

HardwareHardwareDedicadoDedicado

SimuladoresSimuladores

Civil, Civil, Mecânica, Mecânica, Química, Química, Física, etcFísica, etc

Page 7: EVOLVABLE HARDWARE

11

Eletrônica EvolutivaEletrônica Evolutiva Evolução ExtrínsecaEvolução Extrínseca

» Avaliação feita por simuladores ( SPICE, SIMON)Avaliação feita por simuladores ( SPICE, SIMON) Requerem muito tempo para avaliar os circuitosRequerem muito tempo para avaliar os circuitos Não consideram todas as propriedades da física do meio eletrônicoNão consideram todas as propriedades da física do meio eletrônico Podem sintetizar circuitos que não funcionam quando Podem sintetizar circuitos que não funcionam quando

implementados no meio realimplementados no meio real

Evolução IntrínsecaEvolução Intrínseca» Avaliação feita em plataformas reconfiguráveisAvaliação feita em plataformas reconfiguráveis

Síntese de circuitos digitais: FPGASíntese de circuitos digitais: FPGA Síntese de circuitos analógicos: FPAASíntese de circuitos analógicos: FPAA

Page 8: EVOLVABLE HARDWARE

12

Exemplos de Aplicações em Exemplos de Aplicações em EletrônicaEletrônica

Lógica Combinacional (Digital);Lógica Combinacional (Digital); Lógica Sequencial (Digital);Lógica Sequencial (Digital); Lógica de Transistores (Digital/Analog);Lógica de Transistores (Digital/Analog); VLSI Analógico(Otimização);VLSI Analógico(Otimização); Filtros Passivos (Analógico);Filtros Passivos (Analógico); Amplificadores (Analógico);Amplificadores (Analógico); Circuitos baseados em capacitores Circuitos baseados em capacitores chaveadoschaveados

Page 9: EVOLVABLE HARDWARE

13

Modelagem de EHWModelagem de EHW

• RepresentaçãoRepresentação: circuito : circuito cromossoma cromossoma

• DecodificaçãoDecodificação: cromossoma : cromossoma circuito circuito

• AvaliaçãoAvaliação: erro da saída obtida através de : erro da saída obtida através de

simulação/teste do circuitosimulação/teste do circuito

• Operadores GenéticosOperadores Genéticos:crossover, mutação:crossover, mutação

Page 10: EVOLVABLE HARDWARE

14

Circuitos Analógicos

. . .

. . .

Gene

•Gene codifica componentes, valores e conexões

Page 11: EVOLVABLE HARDWARE

15

Representação por cadeia linear de genes

..... 1

2

3

4

5

1 2 3 NPN

2 4 C 10uF

3 5 R 10k

.....

.

.Cada gene codifica um componente;

Page 12: EVOLVABLE HARDWARE

17

Projeto de Sistemas AnalógicosProjeto de Sistemas Analógicos

Síntese automática de:Síntese automática de:– Amplificadores Operacionais;Amplificadores Operacionais;– SintonizadoresSintonizadores– Filtros analógicos passivosFiltros analógicos passivos– EtcEtc

Page 13: EVOLVABLE HARDWARE

18

Síntese automática de Síntese automática de filtros filtros analógicosanalógicos

Filtros analógicos passivos: constituídos por Filtros analógicos passivos: constituídos por resistores, capacitores e indutoresresistores, capacitores e indutores discretos; discretos;

Especificação e avaliação do sistema é feita no Especificação e avaliação do sistema é feita no domínio da frequênciadomínio da frequência;;

Algoritmo busca por melhor projeto no espaço, Algoritmo busca por melhor projeto no espaço, contendo topologias organizadas em contendo topologias organizadas em malhasmalhas; ;

Cada Cada Gene é uma malhaGene é uma malha do circuito. do circuito.

Page 14: EVOLVABLE HARDWARE

19

RepresentaçãoRepresentação

.........

.........

.........

Mesh NMesh 1 Mesh 2

Cada gene representa uma malha, que é composta por dois elementos. No caso da Malha 1, R e C determinam a naturezado elemento e ValR eValC seus respectivos valores.

Gene representante da Malha 1 = (R, ValR, C, ValC)

ValR

ValC

Page 15: EVOLVABLE HARDWARE

20

OperadoresOperadores

Mutação pode alterar natureza ou valor do Mutação pode alterar natureza ou valor do componente;componente;

Aumento de tamanho de cromossomo Aumento de tamanho de cromossomo aumenta o cromossomo de 1 gene, isto é, aumenta o cromossomo de 1 gene, isto é, acrescenta uma malha ao circuito;acrescenta uma malha ao circuito;

Page 16: EVOLVABLE HARDWARE

21

AvaliaçãoAvaliação Avaliação é realizada no domínio da Avaliação é realizada no domínio da

frequência de interesse do projeto;frequência de interesse do projeto; Fórmula Geral:Fórmula Geral:

Fitnessf

i i i

Total

A T Oi

(| |)

A aptidão é determinada por um somatório ao longo das frequências deA aptidão é determinada por um somatório ao longo das frequências deinteresse; (Tinteresse; (Ti i - O- Oii) é o desvio entre a resposta obtida O) é o desvio entre a resposta obtida Oii e a desejada T e a desejada Tii; ;

AAii deve ser definido de modo a penalizar mais fortemente erros em bandas deve ser definido de modo a penalizar mais fortemente erros em bandas

de frequência mais importantes no projeto. “Total” é o número de pontos de frequência mais importantes no projeto. “Total” é o número de pontos de frequência que se deseja avaliar.de frequência que se deseja avaliar.

Page 17: EVOLVABLE HARDWARE

22

Exemplo de AplicaçãoExemplo de Aplicação

Projeto de um filtro Passa-Faixa, com banda Projeto de um filtro Passa-Faixa, com banda passante entre passante entre 2000 Hz e 3000 Hz2000 Hz e 3000 Hz;;

Apenas valores de resistores, indutores e Apenas valores de resistores, indutores e capacitores comerciais são usados pelo GA;capacitores comerciais são usados pelo GA;

Valores dos componentes abrangem Valores dos componentes abrangem diversas ordens de grandeza (de mOhms à diversas ordens de grandeza (de mOhms à MOhms, de nF à mF, de nH à mH). MOhms, de nF à mF, de nH à mH).

Page 18: EVOLVABLE HARDWARE

23

Filtro Evoluído:

390

4.7

0.47

0.39

10 22

0.12 33

220

0.33

Cinco malhas: C- R, L-C, L-R, L-C e C-R.Cinco malhas: C- R, L-C, L-R, L-C e C-R.

Page 19: EVOLVABLE HARDWARE

24

0 1000 2000 3000 4000 5000 6000 7000 80000

0.2

0.4

0.6

0.8

1

1.2

Frequência (Hertz)

Ampl

itude

(Vol

ts)

0 1000 2000 3000 4000 5000 6000 7000 80000

0.2

0.4

0.6

0.8

1

1.2

Frequência (Hertz)

Am

plitu

de (

Vol

ts)

Resposta em Frequência do Filtro Evoluído

Page 20: EVOLVABLE HARDWARE

25

Projetos CMOS AnalógicosProjetos CMOS Analógicos

CMOS - Complementary Metal-Oxide Silicon;CMOS - Complementary Metal-Oxide Silicon;

Usar evolução para projetar circuitos em um nível Usar evolução para projetar circuitos em um nível

ainda mais baixo, o de transistores;ainda mais baixo, o de transistores;

Comportamento de circuitos analógicos é fortemente Comportamento de circuitos analógicos é fortemente

determinado pelo comprimento e largura de determinado pelo comprimento e largura de

transistorestransistores Região de Operação (Inversão fraca e forte) determina Região de Operação (Inversão fraca e forte) determina

consumo do circuito.consumo do circuito.

Page 21: EVOLVABLE HARDWARE

26

Transistor NMOS a Nível de Transistor NMOS a Nível de Camadas SemicondutorasCamadas Semicondutoras

Polisilício

Difusão N

W

L

Relação W/L determina comportamento do transistor

GD

S

Page 22: EVOLVABLE HARDWARE

27

Exemplo de Aplicação: Amplificador Exemplo de Aplicação: Amplificador Operacional Classe AOperacional Classe A

M3M4

M1 M2

M8M5

M7

M6

Rz

CcVin-

Vin+

Vdd

Ibias

I5

I7

Vss

Page 23: EVOLVABLE HARDWARE

28

RepresentaçãoRepresentação

Cada cromossomo deve codificar as Cada cromossomo deve codificar as dimensões dos oito transistores, W / L, a dimensões dos oito transistores, W / L, a corrente de polarização e o valor do corrente de polarização e o valor do capacitor de compensação; capacitor de compensação;

W L W L - - - - I C

Page 24: EVOLVABLE HARDWARE

29

AvaliaçãoAvaliação

Problema com múltiplos objetivos Problema com múltiplos objetivos Método de Minimização de EnergiaMétodo de Minimização de Energia

Diversos requisitos podem ser escolhidos Diversos requisitos podem ser escolhidos para avaliar o desempenho do circuito:para avaliar o desempenho do circuito: Ganho / Banda-Passante;Ganho / Banda-Passante; Slew-Rate;Slew-Rate; Consumo;Consumo; Capacidade de carga.Capacidade de carga.

Page 25: EVOLVABLE HARDWARE

30

Características Convencional AG

Espaço de Projeto ----------------------- 1024

Ganho 71,2dB 72,7dB

GBW 2MHz 1,6MHz

Slew-Rate 3,78 V/s; -1,56V/s 2,05V/s;-1,82V/s

IB 2,50 A 2,31A

CP 1 pF 1,15 pF

Dissipação 527,8 W 237,9 W

Área 1929 m2 3020 m2

Margem de Fase 65o 55o

Tecnologia 3 n-well 3 n-well

RL 100k 100k

CL 10pF 10pF

Page 26: EVOLVABLE HARDWARE

31

Geraçoes

Gan

ho

(d

B)

0 3 0 6 0 9 0 1 2 0 1 5 0 1 8 0 2 1 0 2 4 0 2 7 0 3 0 04 0

4 4

4 8

5 2

5 6

6 0

6 4

6 8

7 2

7 6

Geraçoes

GB

W (

Hz)

0 3 0 6 0 9 0 1 2 0 1 5 0 1 8 0 2 1 0 2 4 0 2 7 0 3 0 06 0 0 ,0 0 0

8 0 0 ,0 0 0

1 ,0 0 0 ,0 0 0

1 ,2 0 0 ,0 0 0

1 ,4 0 0 ,0 0 0

1 ,6 0 0 ,0 0 0

1 ,8 0 0 ,0 0 0

2 ,0 0 0 ,0 0 0

2 ,2 0 0 ,0 0 0

Geraçoes

Dis

sip

açao

(u

W)

0 3 0 6 0 9 0 1 2 0 1 5 0 1 8 0 2 1 0 2 4 0 2 7 0 3 0 01 4 0

1 6 0

1 8 0

2 0 0

2 2 0

2 4 0

2 6 0

2 8 0

3 0 0

Geraçoes

Are

a (u

m^

2)

0 3 0 6 0 9 0 1 2 0 1 5 0 1 8 0 2 1 0 2 4 0 2 7 0 3 0 04 ,0 0 0

6 ,0 0 0

8 ,0 0 0

1 0 ,0 0 0

1 2 ,0 0 0

1 4 ,0 0 0

1 6 ,0 0 0

1 8 ,0 0 0

2 0 ,0 0 0

Geraçoes

Mar

gem

de

Fas

e

0 3 0 6 0 9 0 1 2 0 1 5 0 1 8 0 2 1 0 2 4 0 2 7 0 3 0 00

1 0

2 0

3 0

4 0

5 0

6 0

7 0

8 0

Page 27: EVOLVABLE HARDWARE

32

Evolução IntrínsecaEvolução Intrínseca Avaliação em plataformas reconfiguráveisAvaliação em plataformas reconfiguráveis

» FPAA: FPAA: Field Programmable Analogic ArrayField Programmable Analogic Array

FPAA dispõe de FPAA dispõe de componentes analógicos e componentes analógicos e recursos para conexãorecursos para conexão

Algoritmo Genético configura interconexõesAlgoritmo Genético configura interconexões Sinais de saída são lidos, convertidos para Sinais de saída são lidos, convertidos para

digital e o circuito é avaliadodigital e o circuito é avaliado

Page 28: EVOLVABLE HARDWARE

33

PLATAFORMA RECONFIGURÁVEL PLATAFORMA RECONFIGURÁVEL ANALÓGICA PARA A ANALÓGICA PARA A

EVOLUÇÃO INTRÍNSECA DE EVOLUÇÃO INTRÍNSECA DE CIRCUITOSCIRCUITOS

PAMA: Programmable Analog Multiplexer ArrayPAMA: Programmable Analog Multiplexer Array Sistema de desenvolvimento de EHWSistema de desenvolvimento de EHW

– Hardware ReprogramávelHardware Reprogramável– Algoritmo EvolucionárioAlgoritmo Evolucionário

Page 29: EVOLVABLE HARDWARE

37

O Processo Evolucionário na PAMAO Processo Evolucionário na PAMA População inicial aleatóriaPopulação inicial aleatória

– Cromossomos ( bits de controle )Cromossomos ( bits de controle ) Avaliação: Resposta do circuito é comparada com a Avaliação: Resposta do circuito é comparada com a

resposta desejadaresposta desejada Nova população: Steady-State, crossover e mutaçãoNova população: Steady-State, crossover e mutação

Resposta Desejada Resposta do Circuito Configurado

Cromossomas 1000 1000 1010 1000 1010 1010 Algoritmo Genético

.1a população aleatória

.indivíduos reproduzidos

Circuito Reconfigurável Analógico

Avaliação do Circuito

Page 30: EVOLVABLE HARDWARE

48

Fotografia doCircuito da PAMA

Page 31: EVOLVABLE HARDWARE

49

ExemplosExemplos

Ou-exclusivoOu-exclusivo Multiplexador 2x1Multiplexador 2x1

– Sintetizar um circuito com várias entradasSintetizar um circuito com várias entradas Amplificador OperacionalAmplificador Operacional

– Vários objetivos na função de avaliaçãoVários objetivos na função de avaliação Amplificador LogarítmicoAmplificador Logarítmico

– Componentes discretos de granularidade alta Componentes discretos de granularidade alta (OPAMPs)(OPAMPs)

Page 32: EVOLVABLE HARDWARE

50

Multiplexador 2x1Multiplexador 2x1

Parâmetros do AG:Parâmetros do AG:– População : População : 100100– Gerações : Gerações : 5050– Crossover : Crossover : 0.70.7– Mutação : Mutação : 0.100.10– Steady State: 100Steady State: 100– Normalização Exponencial : 0.9Normalização Exponencial : 0.9

Page 33: EVOLVABLE HARDWARE

53

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

1 12 23 34 45 56 67 78 89 100

111

122

133

144

input1

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

1 12 23 34 45 56 67 78 89 100

111

122

133

144

input2

-2-1.5

-1-0.5

0

0.51

1.52

1 12 23 34 45 56 67 78 89 100

111

122

133

144

input3 (select) output

average of 10 runs

0.05

0.07

0.09

0.11

0.13

0.15

1 5 9 13 17 21 25 29 33 37 41 45 49

50 generations

me

an s

qu

are

err

or

Multiplexador 2x1: três entradas ( input1, input2, select ) e saída

Page 34: EVOLVABLE HARDWARE

54

Circuito do Multiplexador Analógico 2x1 evoluído

Page 35: EVOLVABLE HARDWARE

56

Tolerância à Falhas e Auto-ReparoTolerância à Falhas e Auto-Reparo

Sintetizar circuito usados em ambientes Sintetizar circuito usados em ambientes hostis:hostis:

– Missões Espaciais;Missões Espaciais;– Locais subterrâneos;Locais subterrâneos;– Locais de difícil acesso;Locais de difícil acesso;– Ambientes Submarinos.Ambientes Submarinos.

Page 36: EVOLVABLE HARDWARE

57

Tolerância à Falhas e Auto-ReparoTolerância à Falhas e Auto-Reparo

Exemplo de Exemplo de experimento de experimento de auto-reparo.auto-reparo.

Page 37: EVOLVABLE HARDWARE

58

Tolerância à Falhas e Auto-ReparoTolerância à Falhas e Auto-ReparoInversorInversor

Page 38: EVOLVABLE HARDWARE

59

Tolerância à Falhas e Auto-ReparoTolerância à Falhas e Auto-Reparo

Gerações: 25Gerações: 25 População: 40População: 40 Crossover: 65%Crossover: 65% Mutação: 5%Mutação: 5% Steady State: 10Steady State: 10 Normalização Exponêncial: 90Normalização Exponêncial: 90 Herança Genética: 10Herança Genética: 10 Experimentos: 5Experimentos: 5

Page 39: EVOLVABLE HARDWARE

60

Tolerância à Falhas e Auto-ReparoTolerância à Falhas e Auto-ReparoInversor ReparadoInversor Reparado

Page 40: EVOLVABLE HARDWARE

61

Projeto de Ligações de Estruturas Projeto de Ligações de Estruturas Metálicas (civil)Metálicas (civil)

Ligações levam a inúmeros Ligações levam a inúmeros detalhes e restriçõesdetalhes e restrições

Page 41: EVOLVABLE HARDWARE

62

ObjetivoObjetivo

Utilizar computação evolucionária na Utilizar computação evolucionária na

determinação dos diversos parâmetros de determinação dos diversos parâmetros de

uma ligação através do método das uma ligação através do método das

componentes.componentes.

Page 42: EVOLVABLE HARDWARE

63

Exemplo AdotadoExemplo Adotado

Page 43: EVOLVABLE HARDWARE

64

Exemplo 1Exemplo 1

Variação do diâmetro dos parafusos Variação do diâmetro dos parafusos limites mínimos e limites mínimos e máximosmáximos

Distâncias ajustadas pelo valor limiteDistâncias ajustadas pelo valor limite População de 100 indivíduosPopulação de 100 indivíduos Taxa de crossover: 0,70Taxa de crossover: 0,70 Taxa de mutação: 0,10Taxa de mutação: 0,10

Page 44: EVOLVABLE HARDWARE

65

Exemplo 2Exemplo 2

Variação do diâmetro dos parafusos e dos espaçamentos Variação do diâmetro dos parafusos e dos espaçamentos verticaisverticais

Restrições de distâncias mínimas e máximasRestrições de distâncias mínimas e máximas População de 500 indivíduosPopulação de 500 indivíduos Taxa de crossover: 0,70Taxa de crossover: 0,70 Taxa de mutação: 0,10Taxa de mutação: 0,10

Page 45: EVOLVABLE HARDWARE

66

Exemplo 3Exemplo 3

Variação do diâmetro dos parafusos, espaçamentos Variação do diâmetro dos parafusos, espaçamentos verticais e horizontaisverticais e horizontais

Restrições de distâncias mínimas e máximasRestrições de distâncias mínimas e máximas População de 2000 indivíduosPopulação de 2000 indivíduos Taxa de crossover: 0,70Taxa de crossover: 0,70 Taxa de mutação: 0,10Taxa de mutação: 0,10

Page 46: EVOLVABLE HARDWARE

67

ResultadosResultados

Resultados altamente satisfatóriosResultados altamente satisfatórios Existência de várias configurações que levam a um mesmo Existência de várias configurações que levam a um mesmo

valor de momento fletorvalor de momento fletor Aperfeiçoamento: inclusão de um novo critério Aperfeiçoamento: inclusão de um novo critério custocusto Aptidão calculada a partir do fator momento / custoAptidão calculada a partir do fator momento / custo

Page 47: EVOLVABLE HARDWARE

68

Futuro da ÁreaFuturo da Área

Projetos de sistemas eletrônicos mais complexos, Projetos de sistemas eletrônicos mais complexos, como aqueles destinados ao reconhecimento de como aqueles destinados ao reconhecimento de padrões (arquitetura não conhecida);padrões (arquitetura não conhecida);

Evolução em plataformas que reproduzam com Evolução em plataformas que reproduzam com maior fidelidade as condições das aplicações maior fidelidade as condições das aplicações (placas reconfiguráveis);(placas reconfiguráveis);

Evolução de Sistemas de Hardware auto-Evolução de Sistemas de Hardware auto-reconfiguráveis e tolerante à falhas.reconfiguráveis e tolerante à falhas.

Aplicações em outras áreas da engenharia, física etcAplicações em outras áreas da engenharia, física etc