Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para...
Transcript of Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para...
1
EVOLVABLE HARDWARE
Aplicação de Computação Evolucionária no Projeto, Otimização e Síntese de Sistemas
Hardware Evolucionário
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;➪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ô;■ controladores;■ outras estruturas (civil, mecânica, etc);
“Evoluir ao invés de projetar”
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).
3
Projeto e Síntese
avaliação
Sistema Evolucionário
Simulador
componentes objetivos estrutura
HardwareSintetizado
Circuitos EletrônicosReconfiguráveis
FPGA (Field Programmable Gate Arrays)
•Palavras binárias programam a RAM do FPGA•Genótipo ==> memória do dispositivo•Fenótipo ==> circuito eletrônico
Dispositivos reconfiguráveis deram origem ao uso de Algoritmos Genéticos para a evolução de circuitos.
4
FPGA
■ possui alta capacidade lógica■ alta flexibilidade■ utiliza SRAM para programar conecções■ está transformando o projeto de circuitos digitais■ requer ferramentas de software para projetos
Consiste de um array de blocos lógicos dissociadose de recursos de interconecção configuráveis pelo usuário.
Estrutura da FPGA
5
Surgimento de EHW baseou-se na semelhança dos cromossomos de GAs com a palavra binária
que configura um circuito programável
GASeleção,Crossover,Mutação ...
Genótipo - (0,1,1,0,1,1...)
Avaliação
CI programável
TAXONOMIAEHW
Processo de Avaliaçãodo Hardware
Tipo de SistemaEvolucionário
Área de Aplicação
PlataformaEvolutiva
Intrínsico Extrínsico
GA Tradicional
ProgramaçãoGenética
ProgramaçãoEvolucionária
Circuitosem geral
Robótica
VLSI
CircuitosProgramáveis
HardwareDedicado
Simuladores
Civil, Mecânica, Química, etc
6
Exemplos de Aplicações em Eeletrô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
Modelagem de EHW
• Representação: circuito ➨➨➨➨ cromossoma
• Decodificação: cromossoma ➨➨➨➨ circuito
• Avaliação: simulação/teste do circuito
• Operadores Genéticos:crossover, mutação
7
Circuitos Combinacionais:soma de produtos
F = A . B . C + A . C + A . B . C . D _ _ _
Circuitos Analógicos
. . .
. . .
Gene
Gene
Representação por cadeia linear de genes
..... 12
3
4
5
1 2 3 NPN
2 4 C 10uF
3 5 R 10k
.....
.
.➪Cada gene codifica um componente;➪Decodificação do circuito é direta.
8
Lógica CombinacionalResultados
MUX6 - Cerca de 1 minuto em umaSparc Ultra 2, 90% de execuções comsucesso;
MUX11 - 5 sistemas evolutivos em paralelo.
COMP8 - Cerca de 20 minutos em uma SPARC Classic, 100% de execuções comsucesso.
Representação a nível de portas(Thompson, 96)
➪Cada Gene = Conexões + Natureza da porta➪Mapeamento eficiente em FPGAs;➪Sem restrições de projetos convencionais➪Evolução de novos circuitos;
...
123
456
7
8
10
Gene = 1 2 OR
9
Main Store
MAR
MBR
IR
PC
ALU
D0
Cmar
Cmbr
Cir
Cpc
Cdo
Calu
Read
Address InputWrite
Gmsr
Gmsw
GmbrEmbr
GirEir
GpcEpc
GdoEdo
GaluEalu
R
W
Barramento
Evolução de Random Logic Control Unit
Projeto de Sistemas Analógicos
■ Síntese automática de filtros analógicos;■ Filtros analógicos passivos: constituídos por
resistores, capacitores e indutores discretos;■ Projeto automático consiste em uma busca por
um espaço de topologias conhecidas ou não.
10
Características Básicas
■ 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.
Representaçã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
11
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;
● Crossover ainda é o operador principal.
Avaliação
■ Avaliação é realizada no domínio dafrequência de interesse do projeto;
■ Fórmula Geral:
Fitnessf
i i i
Total
A T Oi
= −∑ (| |)
A aptidão é determinada por um somatório ao longo das frequências deinteresse; (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 bandasde frequência mais importantes no projeto. “Total” é o número de pontos de frequência que se deseja avaliar.
12
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 fabricados são usados pelo GA;
● Valores dos componentes abrangem diversas ordens de grandeza (de mOhms àMOhms, de nF à mF, de nH à mH).
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.
13
0
0.2
0.4
0.6
0.8
1
1.2
Am
plit
ud
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)
Resposta em Frequência do Filtro Evoluído
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.
14
Transistor NMOS a Nível de Camadas
Polisilício
Difusão N
W
L
➨ Relação W/L determina comportamento do transistor
GD
S
Exemplo de Aplicação: Amplificador Operacional Classe A
M3 M4
M1 M2
M8M5 M7
M6
Rz
CcVin-
Vin+
Vdd
Ibias
I5
I7
Vss
15
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;
Avaliação
● Diversos requisitos podem ser escolhidos para avaliar o desempenho do circuito:➨ Ganho / Banda-Passante;➨ Slew-Rate;➨ Consumo;➨ Capacidade de carga.
16
Otimização de amplificadores operacionaispara baixo consumo : OTA simples, OTA Cascode e amplificador Operacional Classe A
Resultados
Ganho
GBW
Área
Margem de Fase
Consumo
Vbias
Slew-Rate
Classe A OTA OTA Cascod.
141 dB
900 kHz
6218 um2
55o
10,54 uW
0,25V
340 mV/us
79 dB
90 kHz
10085um2
45o
2,45 uW
0,45V
46,7mV/us
100 dB
210 kHz
16.920 um2
60o
33,8 uW
0,25V
200 mV/us
Robótica
● Evolução de Hardware de Controle de Robôs Móveis e Autônomos;
● Robô é um sistema sensores + motores que navega em uma arena com obstáculos e deve executar uma determinada função, como pegar objetos, locomover-se rapidamente, etc.
17
Exemplo Típico de um Robô Móvel e Autônomo
Motores
Sensores
Robô
Obstáculos
Arena
Sistema de Controle Típico
ControladorSensores Motores
18
Sistemas de Controle que podem ser evoluídos:
● Controle implementado por portas lógicas, um caso clássico de aplicação de EHW;
● Controle implementado por máquinas de estado;
● Controle implementado por Redes Neurais;● Otimização de comportamento (mínimo de
colisões, destino final etc).
Exemplo de Controlador Baseado em Portas Lógicas
Motor(0 - Desligado,1 - Ligado)
Sensor 1Sensor 2
Sensor 3Sensor 4
➨ Tipo de portas e ligação entre elas são evoluídas
19
Projeto de Ligações de Estruturas Metálicas (civil)
■ Ligações levam a inúmeros detalhes e restrições
Objetivo
Utilização de computação evolucionária para a determinação dos diversos parâmetros de
uma ligação, através do método das componentes.
20
Componentes de uma Ligação
■ painel da alma da coluna ao cortante;■ alma da coluna à compressão;■ mesa e alma da viga à compressão;■ mesa da coluna ao momento;■ alma da coluna à tração;■ chapa de extremidade ao momento;■ alma da viga à tração;
Componentes de uma Ligação
■ aba da cantoneira parafusada ao momento;■ chapa ao esmagamento;■ parafuso à tração;■ parafuso ao corte;■ chapa à tração ou compressão.
Total: 12 componentes
21
Exemplo Adotado
Etapa 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
22
Etapa 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
Etapa 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
23
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
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 auto-reconfiguráveis e tolerante à falhas.
● Aplicações em outras áreas da engenharia, física etc