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,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 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