evolvable hardware
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 PresentationTRANSCRIPT
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
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
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”
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).
5
Projeto e SínteseProjeto e Síntese
avaliação
Sistema Evolucionário
Simulador ou
CircuitoReconfigurável
componentes componentes objetivos objetivos estruturaestrutura
HardwareHardwareSintetizadoSintetizado
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
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
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
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
14
Circuitos Analógicos
. . .
. . .
Gene
•Gene codifica componentes, valores e conexões
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;
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
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.
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
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;
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.
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).
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.
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
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.
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
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
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
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.
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
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
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
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
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
48
Fotografia doCircuito da PAMA
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)
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
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
54
Circuito do Multiplexador Analógico 2x1 evoluído
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.
57
Tolerância à Falhas e Auto-ReparoTolerância à Falhas e Auto-Reparo
Exemplo de Exemplo de experimento de experimento de auto-reparo.auto-reparo.
58
Tolerância à Falhas e Auto-ReparoTolerância à Falhas e Auto-ReparoInversorInversor
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
60
Tolerância à Falhas e Auto-ReparoTolerância à Falhas e Auto-ReparoInversor ReparadoInversor Reparado
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
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.
63
Exemplo AdotadoExemplo Adotado
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
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
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
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
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