A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann."— Transcrição da apresentação:

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

2 EMICRO Marcelo Johann - B8.2 Resumo Introdução Algoritmos de Particionamento Algoritmos de Posicionamento Algoritmos de Roteamento Problemas de Assinalamento Outros Problemas de Leiaute

3 EMICRO Marcelo Johann - B8.3 1 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;

4 EMICRO Marcelo Johann - B8.4 1 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;

5 EMICRO Marcelo Johann - B8.5 2 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

6 EMICRO Marcelo Johann - B8.6 2 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;

7 EMICRO Marcelo Johann - B8.7 2 Particionamento Algoritmo de Kernighan-Lin; troca par com menor D(i) + D(j) onde D(i) = inedge(i) - outedge(i) v1v2v3v4v5v3v4v3 v4 v6 i inedge outedge D i inedge outedge D

8 EMICRO Marcelo Johann - B8.8 2 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, …

9 EMICRO Marcelo Johann - B8.9 3 Posicionamento Encontrar posição das células no circuito. Qualidade do posicionamento define a dificuldade do roteamento

10 EMICRO Marcelo Johann - B8.10 minimizar comprimento total de conexões; minimizar densidades máximas de conexões; 3.1 Funções Objetivo

11 EMICRO Marcelo Johann - B8.11 Funções objetivo para posicionamento: minimizar número de conexões que cortam linhas imaginárias; 3.1 Funções Objetivo

12 EMICRO Marcelo Johann - B8.12 minimizar atrasos em caminhos críticos; Funções objetivo para posicionamento: 3.1 Funções Objetivo

13 EMICRO Marcelo Johann - B 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;

14 EMICRO Marcelo Johann - B Abordagens Abstração da área Posicionamento com sobreposições Etapas Posicionamento global Posicionamento detalhado Legalização –Respeitar slots, grade, espelhamento

15 EMICRO Marcelo Johann - B Por particionamento Posicionamento baseado em partições sucessivas (recursive bisection): Seqüências de cortes para posicionamento por partições:

16 EMICRO Marcelo Johann - B 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;

17 EMICRO Marcelo Johann - B Simulated 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

18 EMICRO Marcelo Johann - B Planta Baixa Algoritmos para Planejamento topológico: blocos duros ou flexíveis; bipartições, estruturas topológicas; Geralmente só minimizam área

19 EMICRO Marcelo Johann - B 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

20 EMICRO Marcelo Johann - B8.20 Classificação de roteamento por objetivos: Roteamento detalhado Roteamento global Roteamento especializado 4.1 Classificação

21 EMICRO 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, Classificação general cellstandard cells roteamento de área

22 EMICRO 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 (45 o ); 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, Classificação

23 EMICRO 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ção

24 EMICRO Marcelo Johann - B 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ão roteamento planar...

25 EMICRO Marcelo Johann - B Maze Router (BFS) pesquisa em largura numa grade (Lee 1961) expansão retraço reinicialização problemas tempo memória ordenação garantia generalidade

26 EMICRO 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 Canal

27 EMICRO 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 Canal

28 EMICRO Marcelo Johann - B Algoritmo Left-Edge segmentos que unam todos os pinos das redes Instância de um canal HCG

29 EMICRO Marcelo Johann - B Algoritmo Left-Edge segmentos que unam todos os pinos das redes Instância de um canal HCG VCG

30 EMICRO Marcelo Johann - B Algoritmo Left-Edge máximo clique de HCG define mínima altura Instância de um canal HCG VCG trilha 1 trilha 2 trilha 3 trilha 4 Obrigado!!!

31 EMICRO Marcelo Johann - B Algoritmo Left-Edge máximo clique de HCG define mínima altura Instância de um canal VCG trilha 1 trilha 2 trilha 3 trilha HCG

32 EMICRO Marcelo Johann - B8.32 VCG Algoritmo Left-Edge combinar os nodos de VCG na mesma trilha Instância de um canal VCG HCG trilha 1 trilha 2 trilha 3 trilha 4 VCG

33 EMICRO Marcelo Johann - B Algoritmo Left-Edge combinar os nodos de VCG na mesma trilha Instância de um canal VCG 5,6 1,4 2 3 HCG trilha 1 trilha 2 trilha 3 trilha

34 EMICRO Marcelo Johann - B Algoritmo Left-Edge VCG não pode ter ciclos para fazer conexões Instância de um canal HCG VCG 5,6 1,4 2 3 Mas e se tiver ciclos??? trilha 1 trilha 2 trilha 3 trilha 4 Obrigado!!!

35 EMICRO Marcelo Johann - B Algoritmo Greedy opera da esquerda para a direita estendendo trilhas busca unir ou aproximar redes divididas a cada coluna executa 5 passos:

36 EMICRO 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 Planar

37 EMICRO Marcelo Johann - B8.37 Roteamento planar de uma caixa: 4.4 Roteamento Planar

38 EMICRO Marcelo Johann - B8.38 Roteamento em rio (river routing): 4.4 Roteamento Planar

39 EMICRO Marcelo Johann - B8.39 Single Row Routing Problem (SRRP): 4.4 Roteamento Planar

40 EMICRO 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 Global

41 EMICRO Marcelo Johann - B8.41 Roteamento Global de Área: –divide-se a área em células globais; –distribuir as conexões 4.5 Roteamento Global

42 EMICRO Marcelo Johann - B8.42 Roteamento Global para leiaute em bandas: –conexões verticais com feedthroughs; Encontrar árvores para cada rede 4.5 Roteamento Global

43 EMICRO 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 Assinalamento

44 EMICRO 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 Problemas

45 Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann That’s all!


Carregar ppt "Algoritmos para Síntese Física B8 EMICRO2004 Marcelo Johann."

Apresentações semelhantes


Anúncios Google