Hardware Evolucionário
EVOLVABLE HARDWARE
Aplicação de Computação Evolucionária no
Projeto, Otimização e Síntese de Sistemas
1
Sumário
O que é Evolvable Hardware?
 Taxonomia
 Exemplos de Aplicação;

Projeto de Sistemas Digitais;
Projeto de Sistemas Analógicos;
Projeto de Circuitos Integrados CMOS;
Robótica;
Plataforma de Evolução de Circuitos
Projetos na Engenharia Civil

Futuro da Área
2
O Que é Evolvable Hardware?
Área que investiga a aplicação de Computação
Evolucionária no projeto, otimização ou
síntese de sistemas de hardware:
 circuitos eletrônicos;
 robôs;
 controladores;
 outras estruturas (civil, mecânica, física, etc);
“Evoluir ao invés de projetar”
3
Evolvable Hardware

Projeto de Sistemas
– determinação de valores e/ou tipos dos componentes
empregados no projeto de um sistema;

Otimização
– determinação dos valores ótimos (semi-ótimos) dos
valores ou dimensões dos componentes de um sistema;

Síntese
– identificação da estrutura/arquitetura de um sistema e a
determinação dos componentes (tipos e valores).
4
Projeto e Síntese
Simulador
ou
Circuito
Reconfigurável
componentes
objetivos
estrutura
avaliação
Sistema
Evolucionário
Hardware
Sintetizado
5
TAXONOMIA
EHW
Processo de Avaliação Tipo de Sistema
do Hardware
Evolucionário
Intrínsico
Área de
Aplicação
Circuitos
Hardware
Programáveis Dedicado
Extrínsico
Circuitos
em geral
Robótica
GA
Tradicional
Plataforma
Evolutiva
Programação Programação
Genética
Evolucionária
VLSI Simuladores
Civil,
Mecânica,
Química,
Física, etc
10
Eletrônica Evolutiva

Evolução Extrínseca
» Avaliação feita por simuladores ( SPICE, SIMON)
 Requerem muito tempo para avaliar os circuitos
 Não consideram todas as propriedades da física do
meio eletrônico
 Podem sintetizar circuitos que não funcionam quando
implementados no meio real

Evolução Intrínseca
» Avaliação feita em plataformas reconfiguráveis
 Síntese de circuitos digitais: FPGA
 Síntese de circuitos analógicos: FPAA
11
Exemplos de Aplicações em
Eletrônica
Lógica Combinacional (Digital);
 Lógica Sequencial (Digital);
 Lógica de Transistores (Digital/Analog);
 VLSI Analógico(Otimização);
 Filtros Passivos (Analógico);
 Amplificadores (Analógico);
 Circuitos baseados em capacitores
chaveados

12
Modelagem de EHW
• Representação:
circuito  cromossoma
• Decodificação: cromossoma  circuito
• Avaliação: erro da saída obtida através de
simulação/teste do circuito
• Operadores Genéticos:crossover, mutação
13
Circuitos Analógicos
...
...
Gene
•Gene codifica componentes, valores e
conexões
14
Representação por cadeia linear de genes
2 4 C 10uF
.....
4
2
.....
1
3
1 2 3 NPN
5
3 5 R 10k
.
.
Cada gene codifica
um componente;
15
Projeto de Sistemas Analógicos

Síntese automática de:
–
–
–
–
Amplificadores Operacionais;
Sintonizadores
Filtros analógicos passivos
Etc
17
Síntese automática de filtros
analógicos
Filtros analógicos passivos: constituídos por
resistores, capacitores e indutores discretos;
 Especificação e avaliação do sistema é feita no
domínio da frequência;
 Algoritmo busca por melhor projeto no espaço,
contendo topologias organizadas em malhas;
 Cada Gene é uma malha do circuito.

18
Representação
ValR
.........
Mesh 1
Mesh 2
.........
Mesh N
ValC
.........
Gene representante da Malha 1 = (R, ValR, C, ValC)
Cada gene representa uma malha, que é composta por dois
elementos. No caso da Malha 1, R e C determinam a natureza
19
do elemento e ValR eValC seus respectivos valores.
Operadores
Mutação pode alterar natureza ou valor do
componente;
 Aumento de tamanho de cromossomo
aumenta o cromossomo de 1 gene, isto é,
acrescenta uma malha ao circuito;

20
Avaliação
Avaliação é realizada no domínio da
frequência de interesse do projeto;
 Fórmula Geral:

Fitness 
Total
 A (|T  O |)
i
i
i
fi
A aptidão é determinada por um somatório ao longo das frequências de
interesse; (Ti - Oi) é o desvio entre a resposta obtida Oi e a desejada Ti;
Ai 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 que se deseja avaliar.
21
Exemplo de Aplicação
Projeto de um filtro Passa-Faixa, com banda
passante entre 2000 Hz e 3000 Hz;
 Apenas valores de resistores, indutores e
capacitores comerciais são usados pelo GA;
 Valores dos componentes abrangem
diversas ordens de grandeza (de mOhms à
MOhms, de nF à mF, de nH à mH).

22
Filtro Evoluído:
Cinco malhas: C- R, L-C, L-R, L-C e C-R.
390
0.47
4.7
10
0.39
220
22
0.12
33
0.33
23
Resposta em Frequência do Filtro Evoluído
1. 2
0. 8
0. 6
0. 4
0. 2
0
0
1000
2000
3000
4000
5000
6000
Frequência (Hert z)
7000
8000
1.2
1
Am plit ude (Volt s)
Amplit ude (Volt s)
1
0.8
0.6
0.4
0.2
0
0
1000
2000
3000
4000
5000
6000
7000
8000
Frequência (Hertz)
24
Projetos CMOS Analógicos

CMOS - Complementary Metal-Oxide Silicon;

Usar evolução para projetar circuitos em um
nível ainda mais baixo, o de transistores;

Comportamento de circuitos analógicos é
fortemente determinado pelo comprimento e
largura de transistores
Região de Operação (Inversão fraca e forte) determina
consumo do circuito.
25
Transistor NMOS a Nível de
Camadas Semicondutoras
D
G
S
W
Difusão N
L
Polisilício
 Relação W/L determina comportamento do transistor
26
Exemplo de Aplicação: Amplificador
Operacional Classe A
Vdd
M4
M3
M6
Rz
Vin-
M1
M2
Cc
Vin+
Ibias
I7
I5
M8
M5
Vss
M7
27
Representação

Cada cromossomo deve codificar as
dimensões dos oito transistores, W / L, a
corrente de polarização e o valor do
capacitor de compensação;
WL W L
----
I C
28
Avaliação

Problema com múltiplos objetivos
 Método de Minimização de Energia

Diversos requisitos podem ser escolhidos
para avaliar o desempenho do circuito:
 Ganho / Banda-Passante;
 Slew-Rate;
 Consumo;
 Capacidade de carga.
29
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,31A
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
30
76
2,200,000
72
2,000,000
68
1,800,000
64
GBW (Hz)
Ganho (dB)
1,600,000
60
56
1,400,000
1,200,000
52
1,000,000
48
800,000
44
300
40
0
20,000
600,000
30
60
90
120
150
180
210
240
270
300
0
30
60
90
120
150
180
210
240
270
300
240
270
300
Geraçoes
260
16,000
240
14,000
Area (um^2)
18,000
220
12,000
200
10,000
180
8,000
160
6,000
140
4,000
0
30
60
90
120
150
Geraçoes
180
80
210
240
270
300
0
30
60
90
120
150
180
210
Geraçoes
70
60
Margem de Fase
Dissipaçao (uW)
Geraçoes
280
50
40
30
20
10
31
0
0
30
60
90
120
150
Geraçoes
180
210
240
270
300
Evolução Intrínseca
 Avaliação
em plataformas reconfiguráveis
» FPAA: Field Programmable Analogic Array
 FPAA dispõe
de componentes analógicos e
recursos para conexão
 Algoritmo Genético configura interconexões
 Sinais de saída são lidos, convertidos para
digital e o circuito é avaliado
32
PLATAFORMA RECONFIGURÁVEL
ANALÓGICA PARA A
EVOLUÇÃO INTRÍNSECA DE CIRCUITOS
PAMA: Programmable Analog Multiplexer Array
 Sistema de desenvolvimento de EHW

– Hardware Reprogramável
– Algoritmo Evolucionário
33
O Processo Evolucionário na PAMA



População inicial aleatória
– Cromossomos ( bits de controle )
Avaliação: Resposta do circuito é comparada com a
resposta desejada
Nova população: Steady-State, crossover e mutação
Algoritmo Genético
.1a população aleatória
.indivíduos reproduzidos
Cromossomas
1000 1000 1010
1000 1010 1010
Circuito
Reconfigurável
Analógico
Avaliação
do Circuito
Resposta Desejada
Resposta do Circuito
Configurado
37
Fotografia do
Circuito da PAMA
48
Exemplos
Ou-exclusivo
 Multiplexador 2x1

– Sintetizar um circuito com várias entradas

Amplificador Operacional
– Vários objetivos na função de avaliação

Amplificador Logarítmico
– Componentes discretos de granularidade alta
(OPAMPs)
49
Multiplexador 2x1

Parâmetros do AG:
–
–
–
–
–
–
População : 100
Gerações : 50
Crossover : 0.7
Mutação :
0.10
Steady State: 100
Normalização Exponencial : 0.9
50
2
1.5
-1
-1.5
-2
144
133
122
111
100
89
78
67
56
45
34
23
12
Multiplexador 2x1: três entradas
( input1, input2, select ) e saída
1
1
0.5
0
-0.5
input1
-1
-1.5
-2
144
133
122
111
100
89
78
67
56
45
34
average of 10 runs
0.15
m ean square error
input2
0.13
0.11
0.09
0.07
input3 (select)
50 generations
output
53
49
45
41
37
33
29
25
21
17
13
9
5
1
144
133
122
111
100
89
78
67
56
45
34
23
12
0.05
1
2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
23
12
1
0.5
0
-0.5
1
2
1.5
Circuito do
Multiplexador
Analógico 2x1
evoluído
54
Tolerância à Falhas e Auto-Reparo

Sintetizar circuito usados em ambientes
hostis:
–
–
–
–
Missões Espaciais;
Locais subterrâneos;
Locais de difícil acesso;
Ambientes Submarinos.
56
Tolerância à Falhas e Auto-Reparo

Exemplo de
experimento de
auto-reparo.
57
Tolerância à Falhas e Auto-Reparo
Inversor
58
Tolerância à Falhas e Auto-Reparo








Gerações: 25
População: 40
Crossover: 65%
Mutação: 5%
Steady State: 10
Normalização Exponêncial: 90
Herança Genética: 10
Experimentos: 5
59
Tolerância à Falhas e Auto-Reparo
Inversor Reparado
60
Projeto de Ligações de Estruturas
Metálicas (civil)

Ligações levam a inúmeros
detalhes e restrições
61
Objetivo
Utilizar computação evolucionária na
determinação dos diversos parâmetros de
uma ligação através do método das
componentes.
62
Exemplo Adotado
63
Exemplo 1
Variação do diâmetro dos
parafusos  limites mínimos e
máximos
 Distâncias ajustadas pelo valor
limite
 População de 100 indivíduos
 Taxa de crossover: 0,70
 Taxa de mutação: 0,10

64
Exemplo 2
Variação do diâmetro dos
parafusos e dos espaçamentos
verticais
 Restrições de distâncias
mínimas e máximas
 População de 500 indivíduos
 Taxa de crossover: 0,70
 Taxa de mutação: 0,10

65
Exemplo 3
Variação do diâmetro dos
parafusos, espaçamentos
verticais e horizontais
 Restrições de distâncias
mínimas e máximas
 População de 2000 indivíduos
 Taxa de crossover: 0,70
 Taxa de mutação: 0,10

66
Resultados
Resultados altamente satisfatórios
 Existência de várias configurações que
levam a um mesmo valor de momento fletor
 Aperfeiçoamento: inclusão de um novo
critério custo
 Aptidão calculada a partir do fator momento
/ custo

67
Futuro da Área




Projetos de sistemas eletrônicos mais complexos,
como aqueles destinados ao reconhecimento de
padrões (arquitetura não conhecida);
Evolução em plataformas que reproduzam com
maior fidelidade as condições das aplicações
(placas reconfiguráveis);
Evolução de Sistemas de Hardware autoreconfiguráveis e tolerante à falhas.
Aplicações em outras áreas da engenharia, física
etc
68
Download

EVOLVABLE HARDWARE