45
Algoritmos para Algoritmos para Síntese Física Síntese Física B8 B8 EMICRO2004 Marcelo Johann Marcelo Johann

Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

Embed Size (px)

Citation preview

Page 1: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

Algoritmos para Síntese FísicaAlgoritmos para Síntese FísicaB8B8

EMICRO2004

Marcelo JohannMarcelo Johann

Page 2: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.2

ResumoResumo

• Introdução

• Algoritmos de Particionamento

• Algoritmos de Posicionamento

• Algoritmos de Roteamento

• Problemas de Assinalamento

• Outros Problemas de Leiaute

Page 3: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.3

1 Introdução1 Introdução

Particionamento é a tarefa de dividir um circuito em duas ou mais partes:

• para dividir um problema em problemas de menor complexidade;

• para acomodar o circuito em diferentes dispositivos;

• para se obter um bom posicionamento;

Page 4: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.4

1 Introdução1 Introdução

Posicionamento é a tarefa de encontrar uma posição para cada bloco ou célula que compõe o circuito sobre a área de silício:

• para planejamento topológico;

• ou em bandas;– relativo;– absoluto;

Page 5: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.5

2 Particionamento2 Particionamento

Circuito representado por um grafo G=(V,E)

• bi-partitioning, multi-way-particioning;

v1

v2

v3

v4

v5

v6

v7

v8

v9

v1

v2

v3 v4

v5

v6

v7

v8

v9

componentes

redes

Page 6: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.6

2 Particionamento2 Particionamento

• Algoritmos podem ser:– construtivos ou iterativos;– determinísticos ou probabilísticos;

• Critérios de qualidade:– corte mínimo;– área de cada partição;– número de partições; – número de terminais;– atraso em redes críticas;

Page 7: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.7

2 Particionamento2 Particionamento

• Algoritmo de Kernighan-Lin;troca par com menor D(i) + D(j)onde D(i) = inedge(i) - outedge(i)

v1

v2

v3

v4

v5

v3

v4v3

v4 v6

i inedge outedge D

1 1 1 02 1 2 -13 0 3 -34 0 3 -35 1 2 -16 1 1 0

i inedge outedge D

1 2 0 22 2 1 13 2 1 14 2 1 15 2 1 16 2 0 2

Page 8: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.8

2 Particionamento2 Particionamento

Algoritmos por migração de grupos:• Algoritmo de Kernighan-Lin;

troca pares de nodos• Algoritmo de Fiduccia-Mattheyses;

troca apenas um nodo a cada vez• Algoritmo de Goldberg e Burstein;

contração de vértices• Replicação de componentes;

Outros Algoritmos: aglomerados, simulação, multi-nível, …

Page 9: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.9

3 Posicionamento3 PosicionamentoEncontrar posição das células no circuito.

Qualidade do posicionamento define a dificuldade do roteamento

Page 10: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.10

• minimizar comprimento total de conexões;• minimizar densidades máximas de conexões;

3.1 Funções Objetivo3.1 Funções Objetivo

Page 11: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.11

Funções objetivo para posicionamento:

• minimizar número de conexões que cortam linhas imaginárias;

3.1 Funções Objetivo3.1 Funções Objetivo

Page 12: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.12

• minimizar atrasos em caminhos críticos;

Funções objetivo para posicionamento:

3.1 Funções Objetivo3.1 Funções Objetivo

Page 13: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.13

3.2 Estimativas3.2 Estimativas

Estimativa do tamanho das conexões:

• semi-perímetro do retângulo envolvente;• grafo completo;

• cadeia mínima;

• fonte para carga;

• árvore de Steiner;

• árvore mínima;

Page 14: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.14

3.2 Abordagens3.2 Abordagens

Abstração da área

• Posicionamento com sobreposições

Etapas

• Posicionamento global

• Posicionamento detalhado

• Legalização– Respeitar slots, grade, espelhamento

Page 15: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.15

3.3 Por particionamento3.3 Por particionamento

Posicionamento baseado em partições sucessivas (recursive bisection):

• Seqüências de cortes para posicionamento por partições:

Page 16: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.16

3.4 Outros Algoritmos3.4 Outros Algoritmos... para posicionamento em bandas:• Formação de aglomerados, dirigidos por força• Algoritmos de otimização combinatorial:

– Simulação de resfriamento, simulação evolutiva, programação linear, assinalamento quadrático, redes resistivas, redes neurais, etc...

• Posicionamento Analítico – programação inteira para distribuir células

• Algoritmos mais usados:– simulação de resfriamento, recursive bisection;– particionamento multi-nível, analíticos;

Page 17: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.17

3.5 3.5 Simulated AnnealingSimulated Annealing

Três funções básicas: Temperature Schedule (acima), Custo (comprimento) e Perturbação (como modificar a solução atual).

Perturbação

Custo

Rejeita / Aceita

Page 18: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.18

3.6 Planta Baixa3.6 Planta Baixa

Algoritmos para Planejamento topológico:• blocos duros ou flexíveis;• bipartições, estruturas topológicas;

• Geralmente só minimizam área

1234756FGHIDEA8BCFGADEBCHI

Page 19: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.19

4 Roteamento4 Roteamento

Estabelece as rotas de conexão entre pinos de E/S usando camadas metálicas e furos.

• Classificação

• Algorítmos de Roteamento Genéricos

• Roteamento de Canal

• Roteamento Planar

• Roteamento Global

Page 20: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.20

Classificação de roteamento por objetivos:

• Roteamento detalhado

• Roteamento global

• Roteamento especializado

4.1 Classificação4.1 Classificação

Page 21: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.21

Classificação de roteamento quanto ao espaço:

• espaços dedicados: canais e switch boxes;

• sobre as células, roteamento de área,...

4.1 Classificação4.1 Classificação

general cell standard cells roteamento de área

Page 22: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.22

Classificação quanto à modelagem do espaço:

• roteamento sobre grade (e simbólico);

• roteamento topológico;

• roteamento ortogonal ou com ângulos (45o);

• larguras e espaçamentos arbitrários;

• modelos: forma da área, número de camadas, modelo de células, posição dos terminais, terminais eqüipotenciais, restrições,...

4.1 Classificação4.1 Classificação

Page 23: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.23

Classificação quanto ao processamento:

• incrementais ou seqüenciais: fazem uma conexão a cada vez. Problema: ordenação;

• integrais ou paralelos: consideram todas as conexões ao mesmo tempo;

• refinadores ou iterativos: partem de uma solução inicial e repetem a operação de desfazer e refazer conexões até o fim;

4.1 Classificação4.1 Classificação

Page 24: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.24

4.1 Classificação4.1 Classificação

• genéricos: podem ser aplicados a muitos problemas diferentes de roteamento;

ex: maze routers = breadth-first search

• restritos: exploram características ou restrições particulares de um problema para encontrar soluções com maior eficiência;ex: roteamento de canal

caixas de conexãoroteamento planar ...

Page 25: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.25

4.2 4.2 Maze Router (BFS)Maze Router (BFS)

pesquisa em largura numa grade (Lee 1961)• expansão• retraço• reinicialização

problemas• tempo• memória• ordenaçãogarantiageneralidade

Page 26: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.26

• Modelo de canal: espaço entre duas bandas;

• definição: terminais superiores e inferiores;

• dificuldade de roteamento: horizontal;

4.3 Roteamento de Canal4.3 Roteamento de Canal

Page 27: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.27

Algoritmos para roteamento de canal:

• Left-Edge;

• Dogleg;

• Y-K;

• Greedy;

• YACR2;

• Hierárquico;

Roteamento de switch boxes

4.3 Roteamento de Canal4.3 Roteamento de Canal

Page 28: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.28

4.3 Algoritmo 4.3 Algoritmo Left-EdgeLeft-Edge

• segmentos que unam todos os pinos das redes

1 05 0 0 6

0 6 0

2

0 2

1 0

1 53

3

3 3

4

4

Instância de um canal HCG1

2

34

5

6

1

3

5

2

4

6

Page 29: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.29

4.3 Algoritmo 4.3 Algoritmo Left-EdgeLeft-Edge

• segmentos que unam todos os pinos das redes

1 05 0 0 6

0 6 0

2

0 2

1 0

1 53

3

3 3

4

4

Instância de um canal HCG1

2

34

5

6

VCG 1

2

34

5

6

1

3

5

2

4

6

Page 30: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.30

4.3 Algoritmo 4.3 Algoritmo Left-EdgeLeft-Edge

• máximo clique de HCG define mínima altura

1 05 0 0 6

0 6 0

2

0 2

1 0

1 53

3

3 3

4

4

Instância de um canal HCG1

2

34

5

6

VCG 1

2

34

5

6

1

3

5

2

4

6

trilha 1trilha 2trilha 3trilha 4

Obrigado!!!

Page 31: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.31

4.3 Algoritmo 4.3 Algoritmo Left-EdgeLeft-Edge

• máximo clique de HCG define mínima altura

1 05 0 0 6

0 6 0

2

0 2

1 0

1 53

3

3 3

4

4

Instância de um canal

VCG 1

2

34

5

6

trilha 1trilha 2trilha 3trilha 4

3

2

1 4

5 6

HCG1

2

34

5

6

Page 32: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.32

VCG 1

2

34

5

6

4.3 Algoritmo 4.3 Algoritmo Left-EdgeLeft-Edge

• combinar os nodos de VCG na mesma trilha

1 05 0 0 6

0 6 0

2

0 2

1 0

1 53

3

3 3

4

4

Instância de um canal

VCG

HCG1

2

34

5

6trilha 1trilha 2trilha 3trilha 4

VCG 1

2

34

5

6

3

2

1 4

5 6

Page 33: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.33

4.3 Algoritmo 4.3 Algoritmo Left-EdgeLeft-Edge

• combinar os nodos de VCG na mesma trilha

1 05 0 0 6

0 6 0

2

0 2

1 0

1 53

3

3 3

4

4

Instância de um canal

VCG5,6

1,4

2

3

HCG1

2

34

5

6trilha 1trilha 2trilha 3trilha 4

3

2

1 4

5 6

Page 34: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.34

4.3 Algoritmo 4.3 Algoritmo Left-EdgeLeft-Edge

• VCG não pode ter ciclos para fazer conexões

1 05 0 0 6

0 6 0

2

0 2

1 0

1 53

3

3 3

4

4

Instância de um canal HCG1

2

34

5

6

VCG5,6

1,4

2

3

Mas e se tiver ciclos???

trilha 1trilha 2trilha 3trilha 4

Obrigado!!!

1 42

5 63

Page 35: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.35

4.3 Algoritmo 4.3 Algoritmo GreedyGreedy

Insere novo pinoem trilha livreUne redesdivididasAproxima trechosde redes divididasAproxima redes depróximos pinos Insere novatrilha5)1)2)3)4)

• opera da esquerda para a direita estendendo trilhas• busca unir ou aproximar redes divididas• a cada coluna executa 5 passos:

Page 36: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.36

Roteamento usando apenas uma camada, não possui vias (furos). As vias:

• tem menor confiabilidade de fabricação;

• geram maior atraso por aumento de R;

• reduzem imunidade a ruído pela introdução de resistências em série;

• necessitam maior área devido a margem dos metais sobre os furos;

4.4 Roteamento Planar4.4 Roteamento Planar

Page 37: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.37

Roteamento planar de uma caixa:

4.4 Roteamento Planar4.4 Roteamento Planar

Page 38: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.38

Roteamento em rio (river routing):

4.4 Roteamento Planar4.4 Roteamento Planar

Page 39: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.39

Single Row Routing Problem (SRRP):

4.4 Roteamento Planar4.4 Roteamento Planar

Page 40: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.40

• Roteamento Global para General Cells:– reconhecimento e/ou definição dos espaços;– ordenação dos canais;– grafo modela espaços como vértices ou arestas

4.5 Roteamento Global4.5 Roteamento Global

Page 41: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.41

• Roteamento Global de Área:– divide-se a área em células globais;– distribuir as conexões

4.5 Roteamento Global4.5 Roteamento Global

Page 42: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.42

• Roteamento Global para leiaute em bandas:– conexões verticais com feedthroughs;

• Encontrar árvores para cada rede

4.5 Roteamento Global4.5 Roteamento Global

Page 43: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.43

Encontrar um mapeamento bi-unívoco entre dois conjuntos. Pode ser linear, quadrático, etc...

• Assinalamento de portas;

• Assinalamento de pinos;

• Assinalamento de terminais às bordas;

• Assinalamento de pontos de cruzamento;

5 Assinalamento5 Assinalamento

Page 44: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

EMICRO 2004 - Marcelo Johann - B8.44

• Minimização de vias, de doglegs;

• compactação (de canal, geral, 1D, 2D);

• ordenação de transistores;

• alinhamento de terminais ou feedthroughs;

• formação de redes com reforçadores;

• verificação de regras de projeto (DRC);

• extração, cálculo de criticalidade do leiaute;

• processamento para exibição, fabricação;

6 Outros Problemas6 Outros Problemas

Page 45: Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann

Algoritmos para Síntese FísicaAlgoritmos para Síntese FísicaB8B8EMICRO2004

Marcelo JohannMarcelo Johann

[email protected]

www.inf.ufrgs.br/~johann

That’s all!