hardware evolucionáriomauro/ine5377/cursos-ica/ce-ga15.pdf · requer ferramentas de software para...

23
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

Upload: others

Post on 09-Mar-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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

Page 2: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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).

Page 3: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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.

Page 4: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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

Page 5: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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

Page 6: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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

Page 7: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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.

Page 8: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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

Page 9: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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.

Page 10: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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

Page 11: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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.

Page 12: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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.

Page 13: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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.

Page 14: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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

Page 15: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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.

Page 16: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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.

Page 17: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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

Page 18: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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

Page 19: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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.

Page 20: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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

Page 21: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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

Page 22: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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

Page 23: Hardware Evolucionáriomauro/ine5377/Cursos-ICA/CE-ga15.pdf · requer ferramentas de software para projetos Consiste de um array de blocos lógicos dissociados ... Circuitos baseados

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