14.04.2013 Views

Modelaç ˜ao do Acoplamento Via Substrato em Circuitos ... - INESC-ID

Modelaç ˜ao do Acoplamento Via Substrato em Circuitos ... - INESC-ID

Modelaç ˜ao do Acoplamento Via Substrato em Circuitos ... - INESC-ID

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

UNIVERS<strong>ID</strong>ADE TÉCNICA DE LISBOA<br />

INSTITUTO SUPERIOR TÉCNICO<br />

<strong>Modelaç</strong>ão <strong>do</strong> <strong>Acoplamento</strong> <strong>Via</strong> <strong>Substrato</strong> <strong>em</strong><br />

<strong>Circuitos</strong> Mistos Analógico-Digitais<br />

João Manuel Santos Silva<br />

(Licencia<strong>do</strong>)<br />

Dissertação para Obtenção <strong>do</strong> Grau de Mestre <strong>em</strong> Engenharia<br />

Electrotécnica e de Computa<strong>do</strong>res<br />

Orienta<strong>do</strong>r Científico: Prof. Luís Miguel Teixeira D’Ávila Pinto da Silveira<br />

Presidente <strong>do</strong> Júri: Prof. Luís Miguel Teixeira D’Ávila Pinto da Silveira<br />

Vogais: Prof. a Maria Helena Silva Fino<br />

Prof. Fernan<strong>do</strong> Manuel Duarte Gonçalves<br />

Lisboa, Maio de 2003


UNIVERS<strong>ID</strong>ADE TÉCNICA DE LISBOA<br />

INSTITUTO SUPERIOR TÉCNICO<br />

<strong>Modelaç</strong>ão <strong>do</strong> <strong>Acoplamento</strong> <strong>Via</strong> <strong>Substrato</strong> <strong>em</strong><br />

<strong>Circuitos</strong> Mistos Analógico-Digitais<br />

João Manuel Santos Silva<br />

(Licencia<strong>do</strong>)<br />

Dissertação para Obtenção <strong>do</strong> Grau de Mestre <strong>em</strong> Engenharia<br />

Electrotécnica e de Computa<strong>do</strong>res<br />

Orienta<strong>do</strong>r Científico: Prof. Luís Miguel Teixeira D’Ávila Pinto da Silveira<br />

Presidente <strong>do</strong> Júri: Prof. Luís Miguel Teixeira D’Ávila Pinto da Silveira<br />

Vogais: Prof. a Maria Helena Silva Fino<br />

Prof. Fernan<strong>do</strong> Manuel Duarte Gonçalves<br />

Lisboa, Maio de 2003


O trabalho subjacente à presente dissertação foi realiza<strong>do</strong> sob a orientação <strong>do</strong><br />

Prof. Luís Miguel Silveira<br />

Professor Associa<strong>do</strong> <strong>do</strong> Departamento de Engenharia Electrotécnica e de Computa<strong>do</strong>res<br />

<strong>do</strong> Instituto Superior Técnico


Resumo<br />

O trabalho subjacente à presente dissertação abrange as áreas de modelação, extracção e<br />

simulação de efeitos de acoplamento pelo substrato <strong>em</strong> circuitos integra<strong>do</strong>s.<br />

Foram estudadas técnicas de modelação tridimensional <strong>do</strong> substrato, baseadas numa<br />

formulação diferencial das equações electromagnéticas <strong>do</strong> meio. É considera<strong>do</strong>, neste tra-<br />

balho, um modelo de substrato puramente resistivo, váli<strong>do</strong> para frequências de operação<br />

até cerca de 10 GHz para as tecnologias actuais.<br />

Ten<strong>do</strong> como objectivo a extracção automática <strong>do</strong> modelo de acoplamento pelo sub-<br />

strato, desenvolveu-se uma ferramenta de software, o SMX (Substrate Model eXtractor),<br />

capaz de interpretar as descrições <strong>do</strong> layout e <strong>do</strong> processo de fabrico de um circuito inte-<br />

gra<strong>do</strong> genérico e de apresentar, como resulta<strong>do</strong>, uma matriz de resistências que representa<br />

a interacção entre os diversos contactos <strong>do</strong> circuito <strong>em</strong> análise.<br />

O passo computacionalmente mais exigente da ferramenta desenvolvida é a resolução<br />

de um sist<strong>em</strong>a linear de equações, ten<strong>do</strong> si<strong>do</strong> estuda<strong>do</strong>s diversos méto<strong>do</strong>s para o efeito.<br />

Destes méto<strong>do</strong>s, destacam-se os seguintes: o Multigrid, pertencente à classe de algoritmos<br />

Multi-nível, os méto<strong>do</strong>s iterativos pré-condiciona<strong>do</strong>s, basea<strong>do</strong>s na exploração de sub-<br />

espaços de Krylov, e um misto de ambos, o méto<strong>do</strong> <strong>do</strong> Gradiente Conjuga<strong>do</strong> Pré-condi-<br />

ciona<strong>do</strong> por Multigrid (MGPCG).<br />

Verificou-se que um <strong>do</strong>s principais probl<strong>em</strong>as da ferramenta desenvolvida são os seus<br />

requisitos de m<strong>em</strong>ória, sen<strong>do</strong> algo a melhorar no futuro, de mo<strong>do</strong> a possibilitar a sua<br />

aplicação a probl<strong>em</strong>as de complexidade industrial. No entanto, a introdução <strong>do</strong>s méto<strong>do</strong>s<br />

Multigrid e MGPCG como méto<strong>do</strong>s de resolução <strong>do</strong> sist<strong>em</strong>a de equações fomenta a<br />

aceleração de to<strong>do</strong> o processo de extracção, fazen<strong>do</strong> <strong>do</strong> SMX uma ferramenta com uma<br />

boa relação precisão versus eficiência.<br />

O modelo resistivo <strong>do</strong> substrato obti<strong>do</strong> pelo SMX foi valida<strong>do</strong> com base <strong>em</strong> ex-<br />

i


ii RESUMO<br />

periências fisicamente comprováveis e através da comparação com modelos obti<strong>do</strong>s por<br />

outras ferramentas de extracção.<br />

Foi ainda delineada e testada uma forma de obter modelos resistivo-capacitivos <strong>do</strong><br />

acoplamento pelo substrato.<br />

Palavras-Chave <strong>Circuitos</strong> integra<strong>do</strong>s analógico-digitais, acoplamento pelo substrato,<br />

modelos eléctricos, Multigrid, méto<strong>do</strong>s de sub-espaços de Krylov pré-condiciona<strong>do</strong>s.


Abstract<br />

The work undertaken during this dissertation comprises the areas of modeling, extraction<br />

and simulation of substrate coupling effects in integrated circuits.<br />

Techniques for tridimensional modeling of the substrate based on a differential formu-<br />

lation of the electromagnetic medium were studied. These techniques led to the extraction<br />

of a purely resistive substrate model that is valid for frequencies up to a few GHz.<br />

In order to automatically extract such substrate coupling models, a software tool, SMX<br />

(Substrate Model eXtractor), has been developed. SMX receives a generic integrated<br />

circuit layout and corresponding process description, and outputs the conductance matrix,<br />

which relates all contacts of the substrate, i.e., models substrate interactions.<br />

The most important and costly step of the extraction procedure is to solve a linear<br />

syst<strong>em</strong> of equations. Several methods were studied in order to solve that syst<strong>em</strong> but only<br />

a few of th<strong>em</strong> stand out. These are the Multigrid method, which belongs to the class of<br />

Multilevel algorithms, preconditioned Krylov subspace methods, and a hybrid of both,<br />

Multigrid Preconditioned Conjugate Gradient, MGPCG.<br />

The main handicap of the developed software tool is related to its m<strong>em</strong>ory require-<br />

ments, which is something to optimize in the future, in order to make it possible to apply<br />

SMX to industrial size circuits. Notwithstanding, the use of Multigrid or MGPCG as lin-<br />

ear syst<strong>em</strong> solvers brings a speed-up factor to SMX, which makes it an advantageous tool<br />

in substrate model extraction.<br />

The electric model obtained by SMX has been validated by comparing it to models<br />

obtained by other extractors, corresponding to physically verifiable experiences.<br />

Finally, a method has been developed with the objective of obtaining RC substrate<br />

models, instead of purely resistive models.<br />

iii


iv ABSTRACT<br />

Keywords Mixed-signal integrated circuits, substrate coupling, electric models, Multi-<br />

grid, Krylov subspace preconditioned methods.


Agradecimentos<br />

Gostaria de agradecer ao Prof. Luís Miguel Silveira pelo incansável apoio, incentivo,<br />

exigência e paciência d<strong>em</strong>onstra<strong>do</strong>s, b<strong>em</strong> como pelo dedica<strong>do</strong> trabalho de revisão desta<br />

dissertação.<br />

Em segun<strong>do</strong> lugar agradeço a to<strong>do</strong>s os investiga<strong>do</strong>res <strong>do</strong> grupo ALGOS <strong>do</strong> <strong>INESC</strong> <strong>ID</strong><br />

e à Ana de Jesus pelo auxílio presta<strong>do</strong> e pelo bom ambiente de trabalho.<br />

Um agradecimento especial para a minha família e amigos que me apoiaram nos<br />

momentos de maior desalento e me incentivaram no percurso da minha actividade de<br />

investigação.<br />

Por último, agradeço também ao Eng ō Ricar<strong>do</strong> Chaves pelo trabalho de revisão deste<br />

<strong>do</strong>cumento.<br />

v


vi AGRADECIMENTOS


Conteú<strong>do</strong><br />

Resumo i<br />

Abstract iii<br />

Agradecimentos v<br />

Lista de Acrónimos xxi<br />

Notação Utilizada xxiii<br />

1 Introdução 1<br />

1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />

1.2 Organização <strong>do</strong> <strong>do</strong>cumento . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

1.3 Contribuições Originais . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

2 <strong>Modelaç</strong>ão <strong>do</strong>s <strong>Acoplamento</strong>s pelo <strong>Substrato</strong> 5<br />

2.1 Formulação <strong>do</strong> Modelo <strong>do</strong> <strong>Substrato</strong> . . . . . . . . . . . . . . . . . . . . 5<br />

2.1.1 Considerações Geométricas . . . . . . . . . . . . . . . . . . . . 5<br />

2.1.2 Considerações Electromagnéticas . . . . . . . . . . . . . . . . . 6<br />

2.2 Resolução <strong>do</strong> Modelo <strong>do</strong> <strong>Substrato</strong> . . . . . . . . . . . . . . . . . . . . . 7<br />

2.2.1 Méto<strong>do</strong>s de Resolução <strong>do</strong> Modelo . . . . . . . . . . . . . . . . . 8<br />

2.2.2 Tipos de Discretização <strong>do</strong>s Méto<strong>do</strong>s FDM . . . . . . . . . . . . . 9<br />

2.2.3 Simplificação <strong>do</strong> Modelo a Resolver . . . . . . . . . . . . . . . . 12<br />

2.2.4 Considerações Sobre o <strong>Acoplamento</strong> Capacitivo <strong>do</strong> <strong>Substrato</strong> . . 13<br />

2.3 Extracção <strong>do</strong> Modelo <strong>do</strong> <strong>Substrato</strong> . . . . . . . . . . . . . . . . . . . . . 15<br />

vii<br />

i


viii CONTEÚDO<br />

2.3.1 Méto<strong>do</strong> de Extracção <strong>do</strong> Modelo . . . . . . . . . . . . . . . . . . 15<br />

2.3.2 Matriz <strong>do</strong> Sist<strong>em</strong>a de Equações a Resolver . . . . . . . . . . . . 18<br />

2.4 Trabalho Prévio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

3 Méto<strong>do</strong>s de Resolução <strong>do</strong> Sist<strong>em</strong>a de Equações 27<br />

3.1 Méto<strong>do</strong>s Directos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

3.1.1 Méto<strong>do</strong> de Eliminação de Gauss . . . . . . . . . . . . . . . . . . 28<br />

3.2 Méto<strong>do</strong>s Iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

3.2.1 Méto<strong>do</strong>s de Relaxação . . . . . . . . . . . . . . . . . . . . . . . 30<br />

3.2.2 Méto<strong>do</strong>s de Krylov . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

3.2.3 Méto<strong>do</strong>s de Krylov Pré-Condiciona<strong>do</strong>s . . . . . . . . . . . . . . 39<br />

4 Méto<strong>do</strong>s Multi-Nível 43<br />

4.1 Multigrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

4.1.1 Opera<strong>do</strong>res de Projecção e Interpolação . . . . . . . . . . . . . . 44<br />

4.1.2 Multigrid V-Cycle . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

4.1.3 Full Multigrid Cycle . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

4.2 Multigrid Preconditioned Conjugate Gradient . . . . . . . . . . . . . . . 52<br />

4.3 Análise <strong>do</strong> Des<strong>em</strong>penho <strong>do</strong> Algoritmo Multigrid . . . . . . . . . . . . . 52<br />

4.3.1 Análise da Complexidade <strong>do</strong> Multigrid . . . . . . . . . . . . . . 53<br />

4.3.2 Parâmetros e Factores que Afectam o Des<strong>em</strong>penho <strong>do</strong> Multigrid . 59<br />

5 Validação <strong>do</strong> Modelo Extraí<strong>do</strong> 75<br />

5.1 Meto<strong>do</strong>logia de Teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />

5.2 Configurações de Teste . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />

5.2.1 Condutância entre um contacto e o backplane . . . . . . . . . . . 76<br />

5.2.2 Condutância entre <strong>do</strong>is contactos . . . . . . . . . . . . . . . . . . 76<br />

5.2.3 Variação da Profundidade <strong>do</strong>s Contactos . . . . . . . . . . . . . . 77<br />

5.2.4 Variação da Profundidade <strong>do</strong> <strong>Substrato</strong> . . . . . . . . . . . . . . 78<br />

5.2.5 Variação da Resistividade <strong>do</strong> <strong>Substrato</strong> . . . . . . . . . . . . . . 80<br />

5.2.6 Variação da Área <strong>do</strong> <strong>Substrato</strong> . . . . . . . . . . . . . . . . . . . 80<br />

5.2.7 Variação da Distância entre Contactos . . . . . . . . . . . . . . . 81<br />

5.3 Estu<strong>do</strong> Eléctrico <strong>do</strong>s Efeitos de <strong>Acoplamento</strong> . . . . . . . . . . . . . . . 82


CONTEÚDO ix<br />

5.3.1 Posicionamento <strong>do</strong>s Contactos . . . . . . . . . . . . . . . . . . . 82<br />

5.3.2 Dimensão <strong>do</strong>s Contactos . . . . . . . . . . . . . . . . . . . . . . 83<br />

5.3.3 Utilização de Backplane . . . . . . . . . . . . . . . . . . . . . . 84<br />

5.3.4 Utilização de Guard-rings . . . . . . . . . . . . . . . . . . . . . 86<br />

5.3.5 Perfil <strong>do</strong> <strong>Substrato</strong> . . . . . . . . . . . . . . . . . . . . . . . . . 88<br />

5.3.6 Distância de um contacto aos limites <strong>do</strong> substrato . . . . . . . . . 90<br />

5.4 Ex<strong>em</strong>plo de Circuito de Complexidade Industrial . . . . . . . . . . . . . 92<br />

6 Comparação Entre Méto<strong>do</strong>s 95<br />

6.1 Configurações de Teste . . . . . . . . . . . . . . . . . . . . . . . . . . . 95<br />

6.1.1 Um Contacto Com Backplane . . . . . . . . . . . . . . . . . . . 95<br />

6.1.2 Dois Contactos S<strong>em</strong> Backplane . . . . . . . . . . . . . . . . . . 100<br />

6.2 Característica de Convergência <strong>do</strong>s Méto<strong>do</strong>s . . . . . . . . . . . . . . . . 102<br />

6.3 Análise Experimental da Complexidade <strong>do</strong>s Méto<strong>do</strong>s . . . . . . . . . . . 103<br />

6.3.1 Complexidade <strong>do</strong> Número de Iterações . . . . . . . . . . . . . . 103<br />

6.3.2 Complexidade <strong>do</strong> T<strong>em</strong>po de Execução . . . . . . . . . . . . . . . 104<br />

6.3.3 Complexidade <strong>do</strong> T<strong>em</strong>po de Iteração . . . . . . . . . . . . . . . . 104<br />

6.3.4 Complexidade <strong>do</strong>s Requisitos de M<strong>em</strong>ória . . . . . . . . . . . . 104<br />

7 Extracção de Modelos Dinâmicos Capacitivos 111<br />

7.1 Modelos RC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111<br />

7.2 Modelos RC para <strong>Substrato</strong>s com Apenas Uma Camada . . . . . . . . . . 115<br />

7.3 Gama de Validade <strong>do</strong> Modelo RC . . . . . . . . . . . . . . . . . . . . . 117<br />

7.3.1 Relevância <strong>do</strong>s Modelos Dinâmicos . . . . . . . . . . . . . . . . 117<br />

7.3.2 Precisão <strong>do</strong> Modelo RC . . . . . . . . . . . . . . . . . . . . . . 119<br />

8 Conclusões e Trabalho Futuro 123<br />

A Manual <strong>do</strong> SMX 127<br />

A.1 Instalação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127<br />

A.2 Execução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127<br />

A.3 Fluxograma <strong>do</strong> SMX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130


x CONTEÚDO<br />

B Análise da Complexidade <strong>do</strong>s Méto<strong>do</strong>s Iterativos 131<br />

B.1 Méto<strong>do</strong> de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131<br />

B.2 Méto<strong>do</strong> de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . 132<br />

B.3 Méto<strong>do</strong> de Sobre-Relaxação Sucessiva, SOR . . . . . . . . . . . . . . . 132<br />

B.4 Méto<strong>do</strong> GMRES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133<br />

B.5 Méto<strong>do</strong> <strong>do</strong> Gradiente Conjuga<strong>do</strong>, CG . . . . . . . . . . . . . . . . . . . 133<br />

B.6 Méto<strong>do</strong> <strong>do</strong> Gradiente Conjuga<strong>do</strong> Pré-condiciona<strong>do</strong>, PCG . . . . . . . . . 135


Lista de Figuras<br />

1.1 Mecanismo de injecção de corrente no substrato (a) e modelo eléctrico<br />

correspondente (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />

2.1 Modelo geométrico <strong>do</strong> substrato. . . . . . . . . . . . . . . . . . . . . . . 6<br />

2.2 Discretização das superfícies <strong>do</strong>s contactos segun<strong>do</strong> o Méto<strong>do</strong> <strong>do</strong>s Ele-<br />

mentos Fronteira. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

2.3 Discretização uniforme. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

2.4 Discretização não-uniforme. . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

2.5 Vistas de topo (a) e lateral (b) da discretização adaptável. Unidades <strong>em</strong> µm. 11<br />

2.6 Volumes resultantes da discretização <strong>do</strong> substrato. . . . . . . . . . . . . . 12<br />

2.7 El<strong>em</strong>entos capacitivos relevantes no acoplamento pelo substrato. . . . . . 14<br />

2.8 Modelo de acoplamento. . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

2.9 Esqu<strong>em</strong>a de numeração <strong>do</strong>s nós. . . . . . . . . . . . . . . . . . . . . . . 19<br />

2.10 Esqu<strong>em</strong>a de ligações entre nós. . . . . . . . . . . . . . . . . . . . . . . . 19<br />

2.11 Estrutura da matriz de sist<strong>em</strong>a. . . . . . . . . . . . . . . . . . . . . . . . 20<br />

3.1 Matriz de sist<strong>em</strong>a antes (a) e depois (b) <strong>do</strong> processo de eliminação de Gauss. 29<br />

3.2 Função de erro (a) e suas componentes de alta (b) e baixa (c) frequências. 31<br />

3.3 Convergência <strong>do</strong>s Méto<strong>do</strong>s de Jacobi, Gauss-Seidel e SOR. . . . . . . . . 36<br />

4.1 Projecção directa a uma dimensão. . . . . . . . . . . . . . . . . . . . . . 45<br />

4.2 Projecção pesada a uma dimensão. . . . . . . . . . . . . . . . . . . . . . 45<br />

4.3 Interpolação a uma dimensão. . . . . . . . . . . . . . . . . . . . . . . . 47<br />

4.4 Esqu<strong>em</strong>a de numeração de condutâncias. . . . . . . . . . . . . . . . . . . 48<br />

4.5 Multigrid de ciclo completo. . . . . . . . . . . . . . . . . . . . . . . . . 52<br />

4.6 Vista de topo da configuração de teste 1. . . . . . . . . . . . . . . . . . . 61<br />

xi


xii LISTA DE FIGURAS<br />

4.7 Vista lateral da configuração de teste 1. . . . . . . . . . . . . . . . . . . . 61<br />

4.8 Evolução da resistência extraída com o nível de discretização. . . . . . . 63<br />

4.9 Probl<strong>em</strong>a das projecções directa e pesada. . . . . . . . . . . . . . . . . . 65<br />

5.1 Configuração de teste 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br />

5.2 Configuração de teste 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br />

5.3 Configuração para Comparação <strong>do</strong>s Extractores. . . . . . . . . . . . . . . 78<br />

5.4 Configuração com <strong>do</strong>is contactos para comparação entre extractores. . . . 81<br />

5.5 Configuração de teste 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />

5.6 Evolução da resistência entre <strong>do</strong>is contactos conforme se varia a distância<br />

entre eles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84<br />

5.7 Configuração de teste 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . 84<br />

5.8 Evolução da resistência entre <strong>do</strong>is contactos conforme se varia a dimensão<br />

de ambos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />

5.9 Configuração de teste 5a. . . . . . . . . . . . . . . . . . . . . . . . . . . 86<br />

5.10 Configuração de teste 5b. . . . . . . . . . . . . . . . . . . . . . . . . . . 87<br />

5.11 Evolução da resistência entre <strong>do</strong>is contactos conforme se varia a profun-<br />

didade <strong>do</strong> guard-ring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />

5.12 Perfis de substrato. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />

5.13 Configuração de teste 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . 91<br />

5.14 Layout <strong>do</strong> circuito de complexidade industrial (PLL) utiliza<strong>do</strong> para teste. . 93<br />

6.1 Layout da configuração de um contacto com backplane. . . . . . . . . . . 96<br />

6.2 Perfil <strong>do</strong> substrato da configuração de um contacto com backplane. . . . . 96<br />

6.3 Layout da configuração de <strong>do</strong>is contactos s<strong>em</strong> backplane. . . . . . . . . . 101<br />

6.4 Perfil <strong>do</strong> substrato da configuração de <strong>do</strong>is contactos s<strong>em</strong> backplane. . . . 101<br />

6.5 Evolução da norma <strong>do</strong> resíduo ao longo <strong>do</strong> número de iterações para<br />

discretizações de 33 33 17 (a), 65 65 33 (b) e 129 129 65<br />

(c). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106<br />

6.6 Evolução da norma <strong>do</strong> resíduo conforme o número de iterações. . . . . . 107<br />

6.7 Complexidade <strong>do</strong> número de iterações. . . . . . . . . . . . . . . . . . . 107<br />

6.8 Complexidade <strong>do</strong> t<strong>em</strong>po de execução. . . . . . . . . . . . . . . . . . . . 108


LISTA DE FIGURAS xiii<br />

6.9 Complexidade <strong>do</strong> t<strong>em</strong>po de iteração. . . . . . . . . . . . . . . . . . . . 108<br />

6.10 Complexidade de m<strong>em</strong>ória. . . . . . . . . . . . . . . . . . . . . . . . . 109<br />

7.1 Modelo RC para uma configuração de três contactos. . . . . . . . . . . . 112<br />

7.2 Modelo resistivo-capacitivo <strong>do</strong> substrato. . . . . . . . . . . . . . . . . . 113<br />

7.3 Esqu<strong>em</strong>a <strong>do</strong> equivalente de Norton para modelos resistivo-capacitivos. . . 114<br />

7.4 Layout e perfil <strong>do</strong> substrato para o circuito de teste com três contactos. . . 117<br />

7.5 Diagrama de Bode <strong>do</strong> ganho da função H(s). . . . . . . . . . . . . . . . . 121<br />

7.6 Diagrama de Bode comparativo entre os modelos reduzi<strong>do</strong> e tridimensional.122<br />

A.1 Fluxograma <strong>do</strong> SMX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130


xiv LISTA DE FIGURAS


Lista de Tabelas<br />

3.1 Evolução <strong>do</strong> raio espectral da matriz de iteração de Gauss-Seidel con-<br />

soante a complexidade <strong>do</strong> probl<strong>em</strong>a. . . . . . . . . . . . . . . . . . . . . 35<br />

3.2 Evolução <strong>do</strong> número de condição da matriz de sist<strong>em</strong>a consoante a com-<br />

plexidade <strong>do</strong> probl<strong>em</strong>a. . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

4.1 Requisitos de m<strong>em</strong>ória para o primeiro nível <strong>do</strong> Multigrid. . . . . . . . . 58<br />

4.2 Requisitos de m<strong>em</strong>ória para o segun<strong>do</strong> nível <strong>do</strong> Multigrid. . . . . . . . . 58<br />

4.3 Número de operações para os diversos méto<strong>do</strong>s apresenta<strong>do</strong>s. . . . . . . . 59<br />

4.4 Requisitos de m<strong>em</strong>ória para os diversos méto<strong>do</strong>s apresenta<strong>do</strong>s. . . . . . . 60<br />

4.5 Influência <strong>do</strong> nível de discretização não-uniforme na precisão <strong>do</strong> resul-<br />

ta<strong>do</strong> obti<strong>do</strong>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

4.6 Influência <strong>do</strong> nível de discretização não-uniforme adaptável na precisão<br />

<strong>do</strong> resulta<strong>do</strong> obti<strong>do</strong>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

4.7 Condicionamento da matriz de sist<strong>em</strong>a consoante o méto<strong>do</strong> de discretização<br />

utiliza<strong>do</strong>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

4.8 Evolução <strong>do</strong> t<strong>em</strong>po de execução <strong>do</strong> Multigrid <strong>em</strong> função <strong>do</strong> número de<br />

níveis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />

4.9 Des<strong>em</strong>penho <strong>do</strong> Multigrid face ao tipo de projecção utiliza<strong>do</strong>. . . . . . . 67<br />

4.10 Influência <strong>do</strong> backplane no des<strong>em</strong>penho <strong>do</strong> Multigrid. . . . . . . . . . . . 67<br />

4.11 Influência <strong>do</strong> número de iterações de relaxação no des<strong>em</strong>penho <strong>do</strong> Multi-<br />

grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />

4.12 Influência da tolerância exigida ao Multigrid no seu des<strong>em</strong>penho. . . . . . 69<br />

4.13 Des<strong>em</strong>penho <strong>do</strong> Multigrid face ao algoritmo utiliza<strong>do</strong> no nível inferior. . 70<br />

4.14 Impacto da utilização de um méto<strong>do</strong> de suavização <strong>do</strong> resíduo no des<strong>em</strong>-<br />

penho <strong>do</strong> Multigrid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71<br />

xv


xvi LISTA DE TABELAS<br />

4.15 Importância da existência de uma aproximação inicial no des<strong>em</strong>penho <strong>do</strong><br />

Multigrid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />

4.16 Impacto da resistividade <strong>do</strong> substrato no condicionamento <strong>do</strong> sist<strong>em</strong>a a<br />

resolver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />

5.1 Comparação entre os resulta<strong>do</strong>s <strong>do</strong>s vários extractores para diferentes<br />

profundidades de contacto. . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

5.2 Comparação entre os resulta<strong>do</strong>s <strong>do</strong>s vários extractores para diferentes<br />

profundidades <strong>do</strong> substrato. . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

5.3 Comparação entre os resulta<strong>do</strong>s <strong>do</strong>s vários extractores para diferentes re-<br />

sistividades <strong>do</strong> substrato. . . . . . . . . . . . . . . . . . . . . . . . . . . 80<br />

5.4 Comparação entre os resulta<strong>do</strong>s <strong>do</strong>s vários extractores para diferentes di-<br />

mensões da área <strong>do</strong> substrato. . . . . . . . . . . . . . . . . . . . . . . . . 81<br />

5.5 Comparação entre os resulta<strong>do</strong>s <strong>do</strong>s vários extractores conforme a distância<br />

entre os <strong>do</strong>is contactos. . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />

5.6 Variação da resistência extraída entre <strong>do</strong>is contactos consoante a distância<br />

entre eles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83<br />

5.7 Variação da resistência extraída entre <strong>do</strong>is contactos consoante a dimensão<br />

<strong>do</strong>s contactos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />

5.8 Variação da resistência extraída entre <strong>do</strong>is contactos com e s<strong>em</strong> backplane. 85<br />

5.9 Variação da resistência extraída entre <strong>do</strong>is contactos consoante a profun-<br />

didade da barreira de resguarda usada. . . . . . . . . . . . . . . . . . . . 87<br />

5.10 Variação da resistência extraída entre <strong>do</strong>is contactos consoante a profun-<br />

didade <strong>do</strong> guard ring usa<strong>do</strong>. . . . . . . . . . . . . . . . . . . . . . . . . 88<br />

5.11 Comparação das resistências extraídas para três perfis de substrato difer-<br />

entes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88<br />

5.12 Evolução da resistência entre <strong>do</strong>is contactos face à proximidade de um<br />

deles <strong>do</strong> limite geométrico <strong>do</strong> substrato. . . . . . . . . . . . . . . . . . . 91<br />

5.13 Conjunto selecciona<strong>do</strong> de resistências de acoplamento para o circuito da<br />

PLL obtidas com o SMX. . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />

5.14 Recursos computacionais necessários para a extracção <strong>do</strong> modelo de acopla-<br />

mento pelo substrato relativo ao circuito da PLL. . . . . . . . . . . . . . 94


LISTA DE TABELAS xvii<br />

6.1 Comparação <strong>do</strong> número de iterações <strong>do</strong>s diversos méto<strong>do</strong>s testa<strong>do</strong>s para<br />

uma configuração com um contacto. . . . . . . . . . . . . . . . . . . . . 96<br />

6.2 Comparação <strong>do</strong> t<strong>em</strong>po de execução (s) <strong>do</strong>s diversos méto<strong>do</strong>s testa<strong>do</strong>s<br />

para uma configuração com um contacto. . . . . . . . . . . . . . . . . . 97<br />

6.3 Comparação <strong>do</strong> t<strong>em</strong>po de iteração (s) <strong>do</strong>s diversos méto<strong>do</strong>s testa<strong>do</strong>s para<br />

uma configuração com um contacto. . . . . . . . . . . . . . . . . . . . . 98<br />

6.4 Comparação da m<strong>em</strong>ória (kB) ocupada pelos diversos méto<strong>do</strong>s testa<strong>do</strong>s<br />

para uma configuração com um contacto. . . . . . . . . . . . . . . . . . 98<br />

6.5 Influência <strong>do</strong> processo de restarting no des<strong>em</strong>penho <strong>do</strong> GMRES. . . . . . 100<br />

6.6 Comparação <strong>do</strong> t<strong>em</strong>po de setup (s) <strong>do</strong>s diversos méto<strong>do</strong>s testa<strong>do</strong>s para a<br />

configuração com um contacto. . . . . . . . . . . . . . . . . . . . . . . . 100<br />

6.7 Comparação <strong>do</strong> número médio de iterações <strong>do</strong>s diversos méto<strong>do</strong>s testa-<br />

<strong>do</strong>s para uma configuração com <strong>do</strong>is contactos. . . . . . . . . . . . . . . 101<br />

6.8 Comparação <strong>do</strong> t<strong>em</strong>po de execução (s) <strong>do</strong>s diversos méto<strong>do</strong>s testa<strong>do</strong>s<br />

para uma configuração com <strong>do</strong>is contactos. . . . . . . . . . . . . . . . . 102<br />

6.9 Comparação da m<strong>em</strong>ória (kB) ocupada pelos diversos méto<strong>do</strong>s testa<strong>do</strong>s<br />

para uma configuração com <strong>do</strong>is contactos. . . . . . . . . . . . . . . . . 103<br />

7.1 Valores das resistências e capacidades <strong>do</strong> modelo de acoplamento pelo<br />

substrato para a configuração de três contactos. . . . . . . . . . . . . . . 118<br />

B.1 Número de operações para a iteração de Jacobi. . . . . . . . . . . . . . . 131<br />

B.2 Número de operações para a iteração de Gauss-Seidel. . . . . . . . . . . 132<br />

B.3 Número de operações para a iteração <strong>do</strong> méto<strong>do</strong> SOR. . . . . . . . . . . 132<br />

B.4 Número de operações para a iteração <strong>do</strong> méto<strong>do</strong> GMRES. . . . . . . . . 134<br />

B.5 Número de operações para a iteração <strong>do</strong> méto<strong>do</strong> CG. . . . . . . . . . . . 134<br />

B.6 Número de operações para a iteração <strong>do</strong> méto<strong>do</strong> PCG. . . . . . . . . . . 136


xviii LISTA DE TABELAS


Lista de Algoritmos<br />

1 GMRES, Generalized Minimum Residual . . . . . . . . . . . . . . . . . 37<br />

2 CG, Conjugate Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />

3 PGMRES, Preconditioned Generalized Minimum Residual . . . . . . . . 40<br />

4 PCG, Preconditioned Conjugate Gradient . . . . . . . . . . . . . . . . . 41<br />

5 Multigrid, xh¡MG h¢Ah£bh¤. . . . . . . . . . . . . . . . . . . . . . . . . 50<br />

6 Full Multigrid, xh¡FMG h¢Ah£bh¤. . . . . . . . . . . . . . . . . . . . . 51<br />

7 MGPCG, Multigrid Preconditioned Conjugate Gradient. . . . . . . . . . 53<br />

8 MRS, Minimum Residual Smoothing. . . . . . . . . . . . . . . . . . . . 72<br />

xix


xx LISTA DE ALGORITMOS


Lista de Acrónimos<br />

1D, Uma dimensão<br />

3D, Três dimensões<br />

BEM, Boundary El<strong>em</strong>ent Method<br />

CG, Conjugate Gradient<br />

DCT, Discrete Cosine Transform<br />

FDM, Finite Difference Method<br />

FEM, Finite El<strong>em</strong>ent Method<br />

FMG, Full MultiGrid (Full Cycle)<br />

GE, Gaussian Elimination<br />

GMRES, Generalized Minimal RESidual<br />

GS, Gauss-Seidel<br />

ICH, Incomplete CHolesky factorization<br />

MG, MultiGrid (V-Cycle)<br />

MGPCG, MultiGrid Preconditioned Conjugate Gradient<br />

PCG, Preconditioned Conjugate Gradient<br />

PGMRES, Preconditioned Generalized Minimal RESidual<br />

RC, Resistivo-Capacitivo<br />

xxi


xxii LISTA DE ACRÓNIMOS<br />

SMX, Substrate Model eXtractor<br />

SOR, Successive Over-Relaxation


Notação Utilizada<br />

m Número de cortes na direcção x<br />

n Número de cortes na direcção y<br />

d Número de cortes na direcção z<br />

N Dimensão <strong>do</strong> sist<strong>em</strong>a, i.e., número de nós da grelha correspondente a<br />

m n d cortes<br />

<strong>do</strong> vector v<br />

interno entre os vectores v e w<br />

Norma<br />

Produto<br />

¥v¥<br />

Número de operações de x<br />

¦v£w§ #op¢x¤<br />

Adições<br />

Multiplicações<br />

¨<br />

Divisões<br />

© <br />

xxiii


xxiv NOTAÇÃO UTILIZADA


Capítulo 1<br />

Introdução<br />

1.1 Motivação<br />

O trabalho que a presente dissertação reflecte centra-se no estu<strong>do</strong> <strong>do</strong> ruí<strong>do</strong> <strong>em</strong> circuitos<br />

integra<strong>do</strong>s mistos, ou seja, circuitos que incorpor<strong>em</strong> simultaneamente funcionalidades<br />

analógicas e digitais sobre o mesmo substrato.<br />

Os circuitos digitais funcionam, actualmente, a frequências na ord<strong>em</strong> de alguns GHz,<br />

sen<strong>do</strong> que o ruí<strong>do</strong> por eles introduzi<strong>do</strong> no substrato é tanto maior quanto maior for essa<br />

frequência. São as variações de esta<strong>do</strong> lógico <strong>do</strong>s circuitos digitais que, através de um<br />

efeito capacitivo, originam as correntes de fuga que flu<strong>em</strong> pelo substrato (Figura 1.1).<br />

D A<br />

J<br />

Vb<br />

(a) (b)<br />

Figura 1.1: Mecanismo de injecção de corrente no substrato (a) e modelo eléctrico cor-<br />

respondente (b).<br />

Em circuitos cuja tecnologia seja unicamente digital, o facto de haver correntes a<br />

migrar no interior <strong>do</strong> substrato não afecta, <strong>em</strong> princípio, o correcto funcionamento <strong>do</strong><br />

1<br />

D<br />

Vb<br />

A


2 CAPÍTULO 1. INTRODUÇÃO<br />

circuito – <strong>em</strong>bora os atrasos das portas lógicas possam sofrer alterações –, pois, regra<br />

geral, as tecnologias digitais exib<strong>em</strong> alguma imunidade ao ruí<strong>do</strong>. No entanto, quan<strong>do</strong><br />

sobre o mesmo substrato estão implanta<strong>do</strong>s blocos analógicos a situação altera-se drasti-<br />

camente. A corrente que é injectada no substrato pelos transístores digitais pode alcançar<br />

a zona onde estão localiza<strong>do</strong>s os blocos analógicos e influenciar de um mo<strong>do</strong> imprevisível<br />

o seu funcionamento. Veja-se o ex<strong>em</strong>plo de [1], <strong>em</strong> que se optou pela separação física<br />

das partes analógica e digital, de mo<strong>do</strong> a eliminar os indeseja<strong>do</strong>s efeitos de acoplamento.<br />

Este probl<strong>em</strong>a ocorre, por ex<strong>em</strong>plo, porque o ruí<strong>do</strong> introduzi<strong>do</strong> pela parte digital pode<br />

fazer oscilar a tensão de polarização <strong>do</strong> substrato e, consequent<strong>em</strong>ente, a tensão de corpo<br />

<strong>do</strong>s transístores analógicos. É sabi<strong>do</strong> que quan<strong>do</strong> se dimensionam transístores analógicos<br />

se leva <strong>em</strong> conta a existência <strong>do</strong> efeito de corpo e a sua influência no funcionamento<br />

<strong>do</strong>s dispositivos. No entanto, <strong>em</strong> geral, assume-se que a tensão <strong>do</strong> substrato é constante.<br />

Ora, se o nível de tensão <strong>do</strong> substrato oscilar, o esta<strong>do</strong> de polarização <strong>do</strong>s transístores<br />

analógicos é afecta<strong>do</strong> e a parte analógica <strong>do</strong> circuito pode deixar de funcionar tal como<br />

fora projectada.<br />

Uma solução para este tipo de probl<strong>em</strong>a é baseada numa estratégia de tentativa e erro,<br />

ou seja: projectar um circuito, fabricar um protótipo, testá-lo, proceder ao re-projecto<br />

e assim sucessivamente. Hoje <strong>em</strong> dia a impl<strong>em</strong>entação de tal estratégia é impensável,<br />

devi<strong>do</strong> aos elevadíssimos custos que tal solução acarretaria. O objectivo é, cada vez mais,<br />

dispor de ferramentas de software que simul<strong>em</strong> idealmente o funcionamento físico <strong>do</strong>s<br />

circuitos, permitin<strong>do</strong> detectar na fase de projecto a eventual existência de probl<strong>em</strong>as de<br />

nível físico e possibilitar o seu re-projecto de mo<strong>do</strong> a obter circuitos cuja probabilidade<br />

de funcionamento correcto depois de fabrica<strong>do</strong>s seja elevada.<br />

O objectivo principal <strong>do</strong> trabalho relata<strong>do</strong> neste <strong>do</strong>cumento é o desenvolvimento de<br />

uma ferramenta capaz de elaborar um modelo <strong>do</strong> substrato de um circuito a partir <strong>do</strong> seu<br />

layout e características <strong>do</strong> processo de fabrico. O modelo assim obti<strong>do</strong> poderá ser usa<strong>do</strong>,<br />

<strong>em</strong> conjunto com o modelo <strong>do</strong>s dispositivos construí<strong>do</strong>s sobre o substrato, num simula<strong>do</strong>r<br />

eléctrico que ateste o funcionamento “real” <strong>do</strong> circuito e permita a sua verificação.<br />

Exist<strong>em</strong>, actualmente, ferramentas capazes de extrair modelos <strong>do</strong> substrato com pre-<br />

cisões variadas e basea<strong>do</strong>s <strong>em</strong> diferentes aproximações [2, 3, 4, 11, 12, 13, 14, 15]. A<br />

ferramenta aqui apresentada pretende fornecer um modelo <strong>do</strong> substrato bastante preciso,


1.2. ORGANIZAÇÃO DO DOCUMENTO 3<br />

tentan<strong>do</strong>, simultaneamente, não ser excessivamente pesada <strong>em</strong> termos computacionais.<br />

Para cumprir estes objectivos usou-se um algoritmo que segue a estrutura de um algo-<br />

ritmo Multi-nível, o Multigrid [16, 17, 18, 47]. Basean<strong>do</strong>-se numa formulação apropria-<br />

da das equações de Maxwell para os campos eléctrico e magnético, o probl<strong>em</strong>a original,<br />

contínuo, é discretiza<strong>do</strong> pelo méto<strong>do</strong> das diferenças finitas segun<strong>do</strong> uma grelha tridimen-<br />

sional e projecta<strong>do</strong> sucessivamente para grelhas de menor precisão, <strong>em</strong> que a resolução<br />

computacional <strong>do</strong> probl<strong>em</strong>a seja eficiente. O erro obti<strong>do</strong> na grelha mais grosseira é<br />

então interpola<strong>do</strong> para os níveis de maior precisão, onde a solução vai sen<strong>do</strong> ajustada.<br />

Quan<strong>do</strong> escolhi<strong>do</strong>s os opera<strong>do</strong>res de projecção e interpolação adequa<strong>do</strong>s, e após algumas<br />

iterações, o algoritmo Multigrid foi d<strong>em</strong>onstra<strong>do</strong> convergir para uma solução cumprin<strong>do</strong><br />

uma determinada tolerância. A mais valia deste algoritmo é possuir uma complexidade<br />

t<strong>em</strong>poral O¢N¤, <strong>em</strong> que N é o número de incógnitas <strong>do</strong> sist<strong>em</strong>a de equações a resolver,<br />

inferior à complexidade <strong>do</strong>s restantes algoritmos estuda<strong>do</strong>s para resolver o mesmo pro-<br />

bl<strong>em</strong>a.<br />

1.2 Organização <strong>do</strong> <strong>do</strong>cumento<br />

Os restantes capítulos desta dissertação encontram-se dividi<strong>do</strong>s da seguinte forma: no<br />

Capítulo 2 são apresentadas as aproximações tidas <strong>em</strong> conta na geometria <strong>do</strong> proble-<br />

ma, a formulação <strong>do</strong> modelo electromagnético <strong>do</strong> substrato e méto<strong>do</strong>s para discretizar,<br />

simplificar e resolver o probl<strong>em</strong>a. Nos <strong>do</strong>is capítulos seguintes apresentam-se méto<strong>do</strong>s<br />

tradicionais de resolução <strong>do</strong> sist<strong>em</strong>a computacional (Capítulo 3) e o méto<strong>do</strong> a que se deu<br />

mais ênfase no decorrer deste trabalho, o Multigrid (Capítulo 4). A validação <strong>do</strong> mod-<br />

elo extraí<strong>do</strong> é feita no Capítulo 5. No Capítulo 6 compara-se o des<strong>em</strong>penho <strong>do</strong>s vários<br />

méto<strong>do</strong>s na resolução <strong>do</strong> sist<strong>em</strong>a computacional. No Capítulo 7 discute-se a validade<br />

<strong>do</strong> modelo resistivo explora<strong>do</strong> nesta dissertação e apresenta-se uma meto<strong>do</strong>logia para a<br />

obtenção de modelos váli<strong>do</strong>s para frequências mais elevadas. Por fim, t<strong>em</strong>-se um capítulo<br />

<strong>em</strong> que se tiram algumas conclusões e se apresentam perspectivas de trabalho futuro.<br />

Em apêndice, encontra-se o manual da ferramenta desenvolvida, o SMX, b<strong>em</strong> como<br />

alguns cálculos sobre a complexidade <strong>do</strong>s méto<strong>do</strong>s iterativos testa<strong>do</strong>s.


4 CAPÍTULO 1. INTRODUÇÃO<br />

1.3 Contribuições Originais<br />

Foi desenvolvida e validada uma ferramenta de extracção de um modelo resistivo <strong>do</strong> sub-<br />

strato, o SMX – Substrate Model eXtractor.<br />

Foi estuda<strong>do</strong> <strong>em</strong> pormenor o algoritmo Multigrid e optimiza<strong>do</strong> o seu des<strong>em</strong>penho na<br />

resolução <strong>do</strong> probl<strong>em</strong>a numérico subjacente à extracção <strong>do</strong> modelo <strong>do</strong> substrato.<br />

Foram igualmente elaboradas experiências que permitiss<strong>em</strong> tirar conclusões relativas<br />

ao des<strong>em</strong>penho comparativo entre o Multigrid e as suas vertentes, e os méto<strong>do</strong>s de Krylov<br />

pré-condiciona<strong>do</strong>s.<br />

Por último, foi delineada e testada uma forma de obter um modelo resistivo-capacitivo<br />

<strong>do</strong> substrato, ten<strong>do</strong>-se descoberto que, no caso de substratos de camada única, a obtenção<br />

da parte capacitiva <strong>do</strong> modelo é trivial.


Capítulo 2<br />

<strong>Modelaç</strong>ão <strong>do</strong>s <strong>Acoplamento</strong>s pelo<br />

<strong>Substrato</strong><br />

2.1 Formulação <strong>do</strong> Modelo <strong>do</strong> <strong>Substrato</strong><br />

De mo<strong>do</strong> a poder representar o probl<strong>em</strong>a físico <strong>do</strong> acoplamento pelo substrato <strong>em</strong> cir-<br />

cuitos integra<strong>do</strong>s, há que proceder à estipulação de modelos que simul<strong>em</strong>, com um nível<br />

de precisão adequa<strong>do</strong>, o comportamento real <strong>do</strong> substrato <strong>em</strong> análise. Para isso, há que<br />

ter <strong>em</strong> consideração duas componentes fundamentais <strong>do</strong> modelo usa<strong>do</strong> para representar o<br />

substrato: a componente geométrica, que modela a constituição física <strong>do</strong> substrato e <strong>do</strong>s<br />

dispositivos nele implanta<strong>do</strong>s, e a componente electromagnética, através da qual se pre-<br />

tend<strong>em</strong> representar de forma correcta as propriedades electromagnéticas <strong>do</strong>s diferentes<br />

tipos de material s<strong>em</strong>icondutor que constitu<strong>em</strong> o substrato.<br />

2.1.1 Considerações Geométricas<br />

No que toca à componente geométrica <strong>do</strong> modelo <strong>do</strong> substrato, neste trabalho considera-<br />

se que o substrato é constituí<strong>do</strong> por um conjunto de camadas, dispostas verticalmente, de<br />

diferentes condutividades. Assume-se que <strong>em</strong> cada camada a condutividade é constan-<br />

te (camadas homogéneas). O substrato pode ser flutuante, coloca<strong>do</strong> sobre uma camada<br />

isolante, ou estar liga<strong>do</strong> à massa, coloca<strong>do</strong> sobre uma superfície metálica (backplane)<br />

ligada à alimentação positiva ou negativa, conforme se trate de um substrato <strong>do</strong> tipo n ou<br />

p, respectivamente.<br />

5


6 CAPÍTULO 2. MODELAÇÃO DOS ACOPLAMENTOS PELO SUBSTRATO<br />

Quanto ao modelo <strong>do</strong>s dispositivos implanta<strong>do</strong>s sobre o substrato, há vários tipos de<br />

material relevantes na interacção com o substrato: as difusões relativas a contactos de<br />

polarização ou anéis de resguar<strong>do</strong> (guard rings), as difusões pertencentes a transístores e<br />

os poços. As difusões são consideradas homogéneas, i.e., de condutividade constante.<br />

O número de camadas <strong>do</strong> substrato, b<strong>em</strong> como as suas três dimensões e condutivi-<br />

dade, são, no que respeita à ferramenta de software desenvolvida, parametrizáveis. São<br />

igualmente parametrizáveis as três dimensões das difusões e <strong>do</strong>s poços e a existência ou<br />

não de backplane.<br />

Na Figura 2.1 é ex<strong>em</strong>plifica<strong>do</strong> o modelo a<strong>do</strong>pta<strong>do</strong> para o substrato neste trabalho.<br />

camada 1<br />

camada 2<br />

camada N<br />

p<br />

...<br />

d<br />

d1<br />

d2<br />

dN<br />

backplane<br />

Figura 2.1: Modelo geométrico <strong>do</strong> substrato.<br />

2.1.2 Considerações Electromagnéticas<br />

O comportamento electromagnético de qualquer meio é regi<strong>do</strong> pelas leis de Maxwell:<br />

∇ H¡J∂D<br />

∂t<br />

∇ E¡∂B<br />

∂t<br />

(2.1)<br />

(2.2)<br />

∇D¡ρ (2.3)<br />

∇B¡0 (2.4)


2.2. RESOLUÇÃO DO MODELO DO SUBSTRATO 7<br />

<strong>em</strong> que E representa o campo eléctrico, D o deslocamento eléctrico, J a densidade de<br />

corrente, H o campo magnético, B a indução magnética e ρ a densidade de carga por<br />

unidade de volume.<br />

Para tecnologias <strong>em</strong> silício na ord<strong>em</strong> <strong>do</strong> µm e frequências de operação na ord<strong>em</strong> <strong>do</strong><br />

GHz, a aproximação quase-estacionária das equações <strong>do</strong>s campos é válida. T<strong>em</strong>-se, por-<br />

tanto, que<br />

(2.5)<br />

D¡εE<br />

Aplican<strong>do</strong> o opera<strong>do</strong>r gradiente a ambos os m<strong>em</strong>bros da Equação 2.1 e usan<strong>do</strong> a<br />

aproximação 2.5, obtém-se<br />

ε ∂<br />

(2.6)<br />

Saben<strong>do</strong><br />

∂t¢∇E¤∇J¡0<br />

que<br />

J¡E<br />

(2.7)<br />

a Equação 2.6 fica sob a forma: ρ£<br />

ε ∂<br />

(2.8)<br />

∂t¢∇E¤1<br />

É com base nesta equação que se vão modelar as propriedade electromagnéticas <strong>do</strong><br />

ρ¢∇E¤¡0<br />

silício que constitui o substrato.<br />

2.2 Resolução <strong>do</strong> Modelo <strong>do</strong> <strong>Substrato</strong><br />

Exist<strong>em</strong> duas formas de resolver o probl<strong>em</strong>a <strong>em</strong> questão: a forma analítica e a forma<br />

numérica. Na forma analítica utiliza-se a formulação baseada nas leis de Maxwell e,<br />

com base nas propriedades de cada contacto e <strong>do</strong> meio que o envolve, calcula-se ca-<br />

da resistência de acoplamento individualmente, resolven<strong>do</strong> analiticamente as equações<br />

respectivas. A forma numérica, por sua vez, consiste na resolução iterativa das leis de<br />

Maxwell, aproximadas segun<strong>do</strong> a discretização <strong>do</strong> <strong>do</strong>mínio físico, i.e., <strong>do</strong> substrato.<br />

Dada a dimensão <strong>do</strong> probl<strong>em</strong>a, ou seja, a dimensão <strong>do</strong>s circuitos integra<strong>do</strong>s actuais,<br />

a única forma realista de resolver o probl<strong>em</strong>a é computacionalmente. Deste mo<strong>do</strong>, a


8 CAPÍTULO 2. MODELAÇÃO DOS ACOPLAMENTOS PELO SUBSTRATO<br />

resolução analítica é muito complexa, <strong>em</strong>bora resultasse numa solução exacta. Resta,<br />

portanto, a resolução numérica <strong>do</strong> probl<strong>em</strong>a.<br />

Para poder resolver um probl<strong>em</strong>a contínuo com o auxílio de um computa<strong>do</strong>r a correr<br />

um algoritmo numérico há que discretizar o probl<strong>em</strong>a. No caso <strong>do</strong> modelo <strong>do</strong> substrato,<br />

a discretização a fazer é no espaço, haven<strong>do</strong> duas possibilidade distintas de discretização,<br />

apresentadas na secção seguinte.<br />

2.2.1 Méto<strong>do</strong>s de Resolução <strong>do</strong> Modelo<br />

Exist<strong>em</strong> duas famílias de méto<strong>do</strong>s para discretizar e, consequent<strong>em</strong>ente, resolver o prob-<br />

l<strong>em</strong>a <strong>em</strong> mãos: os méto<strong>do</strong>s de el<strong>em</strong>entos fronteira (BEM, Boundary El<strong>em</strong>ent Methods) e<br />

o conjunto <strong>do</strong>s méto<strong>do</strong>s de diferenças finitas (FDM, Finite Difference Methods) e méto<strong>do</strong>s<br />

de el<strong>em</strong>entos finitos (FEM, Finite El<strong>em</strong>ent Methods), descritos nas seguintes sub-secções.<br />

Neste trabalho foi usa<strong>do</strong> o FDM. Em [4] é apresentada a solução <strong>do</strong> mesmo probl<strong>em</strong>a pelo<br />

méto<strong>do</strong> BEM.<br />

Méto<strong>do</strong> <strong>do</strong>s El<strong>em</strong>entos Fronteira<br />

Estes méto<strong>do</strong>s baseiam-se na discretização das fronteiras, normalmente <strong>em</strong> superfície, e<br />

na resolução das equações de Maxwell sob a forma integral. São somente discretiza<strong>do</strong>s<br />

os el<strong>em</strong>entos relevantes da geometria <strong>do</strong> probl<strong>em</strong>a. Isto permite reduzir drasticamente a<br />

complexidade da discretização, dan<strong>do</strong> orig<strong>em</strong> a sist<strong>em</strong>as de equações mais simples. No<br />

caso <strong>do</strong> substrato, são apenas discretiza<strong>do</strong>s os contactos e os poços no seu interior, que<br />

são <strong>em</strong> volume muito menores que to<strong>do</strong> o volume ocupa<strong>do</strong> pelo substrato <strong>em</strong> si.<br />

Este tipo de méto<strong>do</strong> t<strong>em</strong> si<strong>do</strong> utiliza<strong>do</strong> com sucesso na extracção de modelos de<br />

interligações e acoplamentos [4, 5, 6, 7, 11, 14, 24].<br />

Na Figura 2.2 é apresenta<strong>do</strong> um esqu<strong>em</strong>a ex<strong>em</strong>plificativo <strong>do</strong> substrato de um cir-<br />

cuito discretiza<strong>do</strong> segun<strong>do</strong> o méto<strong>do</strong> BEM. A impl<strong>em</strong>entação computacional deste tipo<br />

de méto<strong>do</strong>, <strong>em</strong>bora possa ser modesta <strong>em</strong> termos de m<strong>em</strong>ória, é pesada <strong>em</strong> termos de<br />

t<strong>em</strong>po. Pelo contrário, o méto<strong>do</strong> FDM, à custa da utilização de uma maior quantidade de<br />

m<strong>em</strong>ória, pode ser bastante mais rápi<strong>do</strong>.


2.2. RESOLUÇÃO DO MODELO DO SUBSTRATO 9<br />

Figura 2.2: Discretização das superfícies <strong>do</strong>s contactos segun<strong>do</strong> o Méto<strong>do</strong> <strong>do</strong>s El<strong>em</strong>entos<br />

Fronteira.<br />

Méto<strong>do</strong> das Diferenças Finitas<br />

Neste méto<strong>do</strong>, ao contrário <strong>do</strong> méto<strong>do</strong> anterior, <strong>em</strong> que só os el<strong>em</strong>entos relevantes são<br />

discretiza<strong>do</strong>s, to<strong>do</strong> o <strong>do</strong>mínio é discretiza<strong>do</strong>. No caso específico <strong>do</strong> substrato, isto corres-<br />

ponde a discretizar o mesmo nas três direcções, através de planos perpendiculares entre<br />

si, a que se chamam cortes. Este tipo de discretização conduz a sist<strong>em</strong>as de equações mais<br />

complexos, mas cuja resolução é mais simples. Existe, neste caso, um compromisso entre<br />

m<strong>em</strong>ória e t<strong>em</strong>po que pode ser vantajoso na resolução <strong>do</strong> probl<strong>em</strong>a <strong>em</strong> questão, como se<br />

verá à frente.<br />

2.2.2 Tipos de Discretização <strong>do</strong>s Méto<strong>do</strong>s FDM<br />

Uma questão que se pode levantar perante o méto<strong>do</strong> de diferenças finitas é como proce-<br />

der à discretização <strong>do</strong> volume total <strong>do</strong> substrato. Para este efeito, exist<strong>em</strong> <strong>do</strong>is tipos de<br />

discretização: uniforme e não-uniforme. Dentro da discretização não-uniforme foram ex-<br />

perimentadas duas vertentes: discretização com e s<strong>em</strong> ponderação da localização <strong>do</strong>s con-<br />

tactos. À discretização que não pondera a localização <strong>do</strong>s contactos chamar-se-á simples-<br />

mente discretização não-uniforme. A segunda discretização será apelidada de adaptável.<br />

Estes três méto<strong>do</strong>s de discretização são apresenta<strong>do</strong>s de seguida.


10 CAPÍTULO 2. MODELAÇÃO DOS ACOPLAMENTOS PELO SUBSTRATO<br />

Discretização Uniforme<br />

Figura 2.3: Discretização uniforme.<br />

Neste tipo de discretização procede-se à bissecção <strong>do</strong> volume <strong>do</strong> substrato por planos<br />

equi-espaça<strong>do</strong>s <strong>em</strong> cada direcção. Depois de se decidir quantos cortes são necessários<br />

para discretizar o volume, procede-se à sua distribuição uniforme, tal como é ilustra<strong>do</strong> na<br />

Figura 2.3.<br />

Este tipo de discretização, <strong>em</strong>bora simples, não considera a presença <strong>do</strong>s contac-<br />

tos e poços, seccionan<strong>do</strong>-os como se se tratasse tu<strong>do</strong> <strong>do</strong> mesmo material s<strong>em</strong>icondu-<br />

tor. Isto pode levantar probl<strong>em</strong>as, pois os dispositivos pequenos face ao espaçamento da<br />

discretização usada pod<strong>em</strong> ser ignora<strong>do</strong>s. Por esta razão, este tipo de discretização não<br />

será utiliza<strong>do</strong>.<br />

Discretização Não-Uniforme<br />

Neste caso, a discretização é feita de forma a delimitar tridimensionalmente os disposi-<br />

tivos imersos no substrato, de forma a obter a melhor separação entre zonas de materiais<br />

diferentes, eliminan<strong>do</strong> à partida uma componente de erro. Na Figura 2.4 ilustra-se o pro-<br />

cesso de discretização não-uniforme.<br />

Como se pode ver, não há paralelipípe<strong>do</strong>s resultantes constituí<strong>do</strong>s por diferentes ma-<br />

teriais, eles são homogéneos, o que conduz a uma mais correcta discretização <strong>do</strong> meio.


2.2. RESOLUÇÃO DO MODELO DO SUBSTRATO 11<br />

Discretização Não-Uniforme Adaptável<br />

Figura 2.4: Discretização não-uniforme.<br />

Este tipo de discretização baseia-se no princípio exposto <strong>em</strong> [25] de que a vizinhança<br />

<strong>do</strong>s contactos é uma zona <strong>em</strong> que o potencial por eles imposto varia mais rapidamente e,<br />

como tal, exige uma maior discretização.<br />

Da<strong>do</strong> ser necessário um eleva<strong>do</strong> número de cortes para ser<strong>em</strong> visíveis as características<br />

específicas deste tipo de discretização, apresentam-se na Figura 2.5 uma vista de topo e<br />

uma vista lateral da discretização de uma configuração com <strong>do</strong>is contactos de iguais di-<br />

mensões, um ao la<strong>do</strong> <strong>do</strong> outro.<br />

200<br />

180<br />

160<br />

140<br />

120<br />

100<br />

80<br />

60<br />

40<br />

20<br />

0<br />

0 50 100 150 200 250<br />

100<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

0 50 100 150 200 250<br />

(a) (b)<br />

Figura 2.5: Vistas de topo (a) e lateral (b) da discretização adaptável. Unidades <strong>em</strong> µm.<br />

Como se pode ver na vista de topo, o interior <strong>do</strong>s contactos é discretiza<strong>do</strong> uniforme-<br />

mente, enquanto que no seu exterior, existe uma maior concentração de cortes junto aos<br />

contactos, que diminui gradualmente até aos limites <strong>do</strong> substrato.<br />

Na vista lateral a zona com maior concentração de cortes revela a presença <strong>do</strong> fun<strong>do</strong>


12 CAPÍTULO 2. MODELAÇÃO DOS ACOPLAMENTOS PELO SUBSTRATO<br />

i j<br />

Figura 2.6: Volumes resultantes da discretização <strong>do</strong> substrato.<br />

<strong>do</strong>s contactos, situada a 3 µm <strong>do</strong> topo.<br />

2.2.3 Simplificação <strong>do</strong> Modelo a Resolver<br />

Depois de discretiza<strong>do</strong> to<strong>do</strong> o volume <strong>do</strong> substrato segun<strong>do</strong> o méto<strong>do</strong> das diferenças fini-<br />

tas, obtém-se uma estrutura de paralelipípe<strong>do</strong>s interliga<strong>do</strong>s da forma que se apresenta na<br />

Figura 2.6.<br />

O centro de cada paralelipípe<strong>do</strong> é considera<strong>do</strong> um nó da malha tridimensional que<br />

modela o substrato.<br />

De mo<strong>do</strong> a resolver o modelo eléctrico que interliga cada nó a um outro a ele adja-<br />

cente, pod<strong>em</strong> aplicar-se as Leis de Maxwell, nomeadamente a lei 2.1, na forma simplifi-<br />

cada 2.8. Uma forma intuitiva de chegar a esta equação pelo méto<strong>do</strong> das diferenças finitas<br />

é exposta de seguida.<br />

Aplican<strong>do</strong> a lei de Gauss a um volume V que envolva um nó da rede tridimensional<br />

obtém-se:<br />

∇E dV¡<br />

V<br />

<br />

V<br />

y<br />

x<br />

ρ<br />

ε<br />

z<br />

dV (2.9)<br />

Segun<strong>do</strong> o teor<strong>em</strong>a da divergência pode reduzir-se o probl<strong>em</strong>a à superfície <strong>do</strong> parale-<br />

lipípe<strong>do</strong> que contém o nó fican<strong>do</strong>:<br />

E dS¡<br />

Si<br />

<br />

V<br />

ρ<br />

ε<br />

dV (2.10)<br />

Consideran<strong>do</strong> as propriedades de homogeneidade dentro de cada camada <strong>do</strong> substrato,<br />

o la<strong>do</strong> direito da equação mantém-se constante. Sen<strong>do</strong> Ei j o campo eléctrico normal ao


2.2. RESOLUÇÃO DO MODELO DO SUBSTRATO 13<br />

la<strong>do</strong> <strong>do</strong> paralelipípe<strong>do</strong> entre o nós i e j, Si j, t<strong>em</strong>-se:<br />

∑ j<br />

Ei jSi j¡ρ<br />

ε Vcubo<br />

<strong>em</strong> que Vcubo representa o volume <strong>do</strong> paralelipípe<strong>do</strong>.<br />

Voltan<strong>do</strong> à equação de Gauss, t<strong>em</strong>-se<br />

∇E¡∑ j Ei jSi j<br />

Vcubo<br />

O campo eléctrico Ei j pode ser calcula<strong>do</strong> aproximadamente pela seguinte equação:<br />

Ei j¡ViVj<br />

li j<br />

(2.11)<br />

(2.12)<br />

(2.13)<br />

<strong>em</strong> que li j é a distância entre o nó i e o nó adjacente j. Utilizan<strong>do</strong> esta igualdade na<br />

Equação 2.12 obtém-se a seguinte expressão alternativa para a Equação 2.8:<br />

onde Gi j¡σ Si j<br />

li j e Ci j¡ε Si j<br />

li j .<br />

∑ j¢ViVj¤Ci j¢∂Vi<br />

(2.14)<br />

jGi<br />

∂t∂Vj ∂t¤¡0<br />

Esta equação reflecte um modelo de ligação resistiva e capacitiva entre cada par de<br />

nós adjacentes na rede tridimensional.<br />

Se for assumi<strong>do</strong> que o t<strong>em</strong>po de relaxação <strong>do</strong> substrato é desprezável até frequências<br />

de trabalho de cerca de 10 GHz [15], pode ignorar-se a componente capacitiva deste<br />

modelo e modelar o substrato por uma rede tridimensional de resistências.<br />

A Equação 2.14 resulta da discretização <strong>do</strong> opera<strong>do</strong>r de gradiente <strong>do</strong> campo eléctrico<br />

e é coerente com a fórmula 2.8 obtida anteriormente.<br />

2.2.4 Considerações Sobre o <strong>Acoplamento</strong> Capacitivo <strong>do</strong> <strong>Substrato</strong><br />

Além das propriedades capacitivas intrínsecas ao s<strong>em</strong>icondutor que constitui o substrato<br />

propriamente dito, e que neste trabalho foi despreza<strong>do</strong> como foi exposto na secção ante-<br />

rior, exist<strong>em</strong> outros el<strong>em</strong>entos parasitas capacitivos relevantes no estu<strong>do</strong> <strong>do</strong> acoplamento<br />

pelo substrato.<br />

Na seguinte Figura 2.7 estão representadas as capacidades parasitas, s<strong>em</strong> as quais, <strong>em</strong><br />

regime AC, não existiria acoplamento pelo substrato. Estas capacidades encontram-se


14 CAPÍTULO 2. MODELAÇÃO DOS ACOPLAMENTOS PELO SUBSTRATO<br />

p+ n+ n+ p+ p+ n+<br />

substrato-p<br />

R C R C C R C R<br />

poço-n<br />

Figura 2.7: El<strong>em</strong>entos capacitivos relevantes no acoplamento pelo substrato.<br />

entre difusões ne o substrato p e entre difusões pe o poço n, acontecen<strong>do</strong> o análogo<br />

no caso de tecnologias compl<strong>em</strong>entares.<br />

Além das capacidade que ligam as difusões <strong>do</strong>s transístores aos poços ou substrato,<br />

exist<strong>em</strong> as capacidades que faz<strong>em</strong> o acoplamento entre os poços e o substrato. É através<br />

destes últimos el<strong>em</strong>entos capacitivos que variações de tensão induzidas <strong>do</strong> interior <strong>do</strong>s<br />

poços influenciam o volume circundante <strong>do</strong> substrato e vice-versa.<br />

Em relação aos contactos de polarização e canais <strong>do</strong>s transístores, a sua influência<br />

manifesta-se no substrato através da injecção de corrente, de forma resistiva, da<strong>do</strong> que se<br />

tratam de junções entre materiais <strong>do</strong> mesmo tipo.<br />

Noutros trabalhos é feita a aproximação de que a injecção de corrente por um transístor<br />

se faz por toda a zona das duas difusões e <strong>do</strong> canal. A justificação para este facto é que<br />

o canal está forma<strong>do</strong> a maior parte <strong>do</strong> t<strong>em</strong>po e é por ele que flui grande parte da corrente<br />

para o substrato relativa a esse transístor. No entanto, neste trabalho não se fez essa<br />

aproximação. Considera-se que o transístor é constituí<strong>do</strong> por duas difusões de injecção<br />

independente e que o canal não é el<strong>em</strong>ento interveniente <strong>do</strong> acoplamento.<br />

Estes são os el<strong>em</strong>entos considera<strong>do</strong>s neste trabalho como intervenientes no acopla-<br />

mento pelo substrato:<br />

Contactos de polarização pe n(injecção resistiva);<br />

Difusões pe n(injecção capacitiva).<br />

As capacidades parasitas entre difusões e substrato, entre difusões e poços e entre<br />

poços e substrato, são necessariamente extraídas por outra ferramenta.<br />

O modelo resistivo obti<strong>do</strong> pela ferramenta de software desenvolvida neste trabalho<br />

deve ser liga<strong>do</strong> ao modelo capacitivo, obti<strong>do</strong> pela ferramenta externa, que faz a ponte<br />

C


2.3. EXTRACÇÃO DO MODELO DO SUBSTRATO 15<br />

entre o substrato <strong>em</strong> si e os dispositivos nele implanta<strong>do</strong>s. O modelo conjunto permitirá<br />

simular os efeitos de acoplamento pelo substrato e testar o funcionamento <strong>do</strong> circuito <strong>em</strong><br />

análise.<br />

2.3 Extracção <strong>do</strong> Modelo <strong>do</strong> <strong>Substrato</strong><br />

Tal como foi dito, de forma a simplificar o modelo a extrair assume-se que a frequência de<br />

operação <strong>do</strong>s dispositivos implanta<strong>do</strong>s sobre o substrato vai apenas até cerca de 10 GHz.<br />

Desta forma, o t<strong>em</strong>po de relaxação <strong>do</strong> substrato é desprezável e pod<strong>em</strong> ser desprezadas<br />

as capacidades intrínsecas <strong>do</strong> mesmo.<br />

Da<strong>do</strong> aquilo que foi exposto, os poço são considera<strong>do</strong>s como fronteiras de Dirichelet<br />

– há diferença de potencial, mas não fluxo de corrente de ou para o seu interior – e, como<br />

tal, é como se não fizess<strong>em</strong> parte <strong>do</strong> probl<strong>em</strong>a a resolver. No que diz respeito a difusões<br />

dentro de poços, o algoritmo de extracção <strong>do</strong> modelo deve ser aplica<strong>do</strong> individualmente<br />

para cada poço, de mo<strong>do</strong> a obter a interacção resistiva entre as difusões implantadas <strong>em</strong><br />

cada um desses poços.<br />

T<strong>em</strong>-se então que o sist<strong>em</strong>a a resolver se pode representar sob a forma<br />

Vg¡ZgIg<br />

(2.15)<br />

<strong>em</strong> que Vg é o vector de tensões de to<strong>do</strong>s os pontos resultantes da discretização, Ig o vector<br />

de correntes injectadas nesses pontos e Zg a interacção, neste caso, resistiva, entre to<strong>do</strong>s<br />

os pontos da grelha. No entanto, o objectivo da ferramenta proposta é fornecer um modelo<br />

de interacção entre contactos ao substrato e não entre pontos da grelha de discretização.<br />

A forma como esse modelo de acoplamento é obti<strong>do</strong> é exposta na secção seguinte.<br />

2.3.1 Méto<strong>do</strong> de Extracção <strong>do</strong> Modelo<br />

O modelo que se pretende obter está ilustra<strong>do</strong> na Figura 2.8. Este modelo pode ser descrito<br />

sob a forma matricial:


16 CAPÍTULO 2. MODELAÇÃO DOS ACOPLAMENTOS PELO SUBSTRATO<br />

backplane<br />

Figura 2.8: Modelo de acoplamento.<br />

Y13<br />

Yc¡ <br />

Y11 Y21<br />

Y12<br />

Y22 Y23<br />

Y31 Y32 Y33<br />

(2.16)<br />

<strong>em</strong> que Yii representa a impedância entre o contacto i e a massa (backplane), caso exista,<br />

e Yi j a impedância entre o contacto i e o contacto j.<br />

Pode escrever-se o sist<strong>em</strong>a de equações relativo ao probl<strong>em</strong>a de acoplamento entre<br />

contactos da seguinte forma:<br />

Ic¡YcVc<br />

(2.17)<br />

<strong>em</strong> que Ic é o vector de correntes injectadas nos contactos, Yc a matriz de admitâncias<br />

(condutâncias) que interligam os contactos e Vc o vector de tensões <strong>do</strong>s contactos. A<br />

forma de como, a partir <strong>do</strong> sist<strong>em</strong>a 2.15 se vai construin<strong>do</strong> a matriz Yc será de seguida<br />

apresentada.<br />

Se se escrever o sist<strong>em</strong>a 2.15 sob a forma de admitâncias, e agrupan<strong>do</strong> as equações<br />

relativas aos nós <strong>do</strong>s contactos, fica-se com:<br />

(2.18)<br />

Ic Ii Yic Yii<br />

<strong>em</strong> que os índices c se refer<strong>em</strong> a nós <strong>do</strong>s contactos e os índices i a nós fora <strong>do</strong>s contactos.<br />

¡ Ycc Yci<br />

Vc Vi<br />

Saben<strong>do</strong> que apenas os nós <strong>do</strong>s contactos têm tensões impostas, pelo equivalente de<br />

Norton só os nós a eles adjacentes sofr<strong>em</strong> injecção de corrente, pelo que Ii¡0. Fica-se


2.3. EXTRACÇÃO DO MODELO DO SUBSTRATO 17<br />

então com:<br />

Ic<br />

0<br />

Resolven<strong>do</strong> <strong>em</strong> ord<strong>em</strong> a Ic obtém-se:<br />

¡ Ycc Yci<br />

Yic Yii<br />

Vc Vi<br />

Ic¡¢YccYciY1 ii Yic¤Vc<br />

Sen<strong>do</strong> que a matriz de condutâncias que relaciona os contactos é:<br />

Gc¡YccYciY1<br />

ii Yic<br />

(2.19)<br />

(2.20)<br />

(2.21)<br />

No entanto, a inversão de Yii t<strong>em</strong>, como se sabe, uma complexidade de O¢N 3¤no caso<br />

de matrizes densas e uma complexidade de O¢N 2¤no caso de matrizes esparsas, pelo que<br />

é ineficiente realizá-la.<br />

Em vez disso, procede-se ao cálculo de uma coluna de Gc de cada vez. Colocan<strong>do</strong> a<br />

tensão de um contacto x a 1V e a tensão de to<strong>do</strong>s os outros contactos a 0V pode calcular-<br />

se pelo equivalente de Norton as correntes injectadas nos nós adjacentes aos contactos,<br />

preenchen<strong>do</strong> alguns el<strong>em</strong>entos de Ii, e eliminar-se <strong>do</strong> sist<strong>em</strong>a to<strong>do</strong>s os nós cujo potencial<br />

é conheci<strong>do</strong> (nós <strong>do</strong>s contactos). Fica-se então com o sist<strong>em</strong>a:<br />

Ii¡YiiVi<br />

(2.22)<br />

Resolven<strong>do</strong> este sist<strong>em</strong>a obtêm-se o valores de tensão de to<strong>do</strong>s os nós que não per-<br />

tenc<strong>em</strong> aos contactos, Vi. Saben<strong>do</strong> isto, pod<strong>em</strong> calcular-se as correntes que entram <strong>em</strong><br />

cada um <strong>do</strong>s contactos, Ic, pela lei de Ohm. Resta então resolver o sist<strong>em</strong>a:<br />

Ic¡GcVc<br />

Como já se conhece Ic e se colocou apenas os nós <strong>do</strong> contacto x a 1V t<strong>em</strong>-se:<br />

(2.23)


18 CAPÍTULO 2. MODELAÇÃO DOS ACOPLAMENTOS PELO SUBSTRATO<br />

Ic1<br />

.<br />

Icx<br />

.<br />

¡Gc<br />

Vc1<br />

.<br />

Vcx<br />

<br />

<br />

.<br />

<br />

Icm<br />

Vcm<br />

Deste sist<strong>em</strong>a resulta que o vector Ic calcula<strong>do</strong> com o contacto x a 1V corresponde à<br />

coluna x da matriz Gc.<br />

.<br />

¡Gc<br />

0<br />

.<br />

1<br />

0<br />

(2.24)<br />

Repetin<strong>do</strong> este processo para to<strong>do</strong>s os contactos constrói-se a matriz Gc (ou Yc) na to-<br />

talidade. Uma das desvantagens deste méto<strong>do</strong> é ter que resolver o sist<strong>em</strong>a tridimensional<br />

tantas vezes quanto o número de contactos existentes no substrato.<br />

2.3.2 Matriz <strong>do</strong> Sist<strong>em</strong>a de Equações a Resolver<br />

Foi dito na secção anterior que para o cálculo de cada uma das colunas de Yc se t<strong>em</strong><br />

que resolver o sist<strong>em</strong>a (2.15). Este sist<strong>em</strong>a corresponde electricamente a uma rede tridi-<br />

mensional de resistências (ou impedâncias) interrompida por pontos que impõ<strong>em</strong> tensão<br />

(pertencentes ao contacto coloca<strong>do</strong> a 1V) e pontos que absorv<strong>em</strong> corrente (pertencentes<br />

aos restantes contactos e/ou ao backplane). Os poços, como já foi referi<strong>do</strong>, actuam como<br />

barreiras à passag<strong>em</strong> de corrente e é como se não existiss<strong>em</strong>.<br />

A numeração a<strong>do</strong>ptada para os nós da rede tridimensional de resistências obedece à<br />

sequência indicada na Figura 2.9<br />

É fácil de observar que a matriz correspondente à rede tridimensional de impedâncias,<br />

Zg, só t<strong>em</strong> algumas diagonais preenchidas. Isto, porque cada ponto da grelha só está<br />

liga<strong>do</strong> aos pontos adjacentes. Cada ponto i, no caso geral, dispõe das ligações que se<br />

pod<strong>em</strong> observar na Figura 2.10.<br />

Para um substrato com m cortes na direcção x, n cortes na direcção y e d cortes na<br />

direcção z t<strong>em</strong>os uma matriz de mnd mnd. As diagonais da matriz Zg que se encontram<br />

preenchidas são: a diagonal principal, as diagonais à distância 1 da diagonal principal, as<br />

diagonais à distância m da diagonal principal e as diagonais à distância mn da diagonal<br />

principal. A matriz Zg é, portanto, uma matriz simétrica com 7 diagonais.<br />

De uma forma mais pormenorizada, o sist<strong>em</strong>a tridimensional a resolver toma a seguinte


2.3. EXTRACÇÃO DO MODELO DO SUBSTRATO 19<br />

y<br />

x<br />

... ... ... ... ...<br />

2m+1 2m+2 2m+3 ... 3m<br />

m+1 m+2 m+3 ... 2m<br />

1 2 3 ... m<br />

mn+m+1 mn+m+2 mn+m+3<br />

z ...<br />

mn+1 mn+2 mn+3<br />

mn-m+1 mn-m+2 mn-m+3 ... mn<br />

...<br />

mn+m<br />

Figura 2.9: Esqu<strong>em</strong>a de numeração <strong>do</strong>s nós.<br />

i-1 i<br />

i+1<br />

i-m<br />

i-mn<br />

i+mn<br />

i+m<br />

Figura 2.10: Esqu<strong>em</strong>a de ligações entre nós.


20 CAPÍTULO 2. MODELAÇÃO DOS ACOPLAMENTOS PELO SUBSTRATO<br />

forma matricial:<br />

Z1m1 Z1mn1<br />

Vg¡ Z12 Z11 Z21 Z22 Z23 Z2m2 Z2mn2<br />

. ..<br />

. ..<br />

. ..<br />

Na Figura 2.11 pode visualizar-se a estrutura da matriz de sist<strong>em</strong>a.<br />

0 +1 +m +mn<br />

-1<br />

-m<br />

-mn<br />

2.4 Trabalho Prévio<br />

. ..<br />

Figura 2.11: Estrutura da matriz de sist<strong>em</strong>a.<br />

. ..<br />

Ig (2.25)<br />

No passa<strong>do</strong>, diversas meto<strong>do</strong>logias de abordag<strong>em</strong> <strong>do</strong> probl<strong>em</strong>a exposto foram propostas<br />

por vários autores. Todas elas têm como objectivo comum fornecer modelos que permi-<br />

tam uma simulação eficiente <strong>do</strong> circuito integra<strong>do</strong> <strong>em</strong> análise. As mais simples consist<strong>em</strong><br />

na utilização de regras heurísticas para tentar prever os acoplamentos mais relevantes pe-<br />

lo substrato e com base nelas gerar um modelo simplifica<strong>do</strong> <strong>do</strong> mesmo [12, 19, 20, 21].<br />

Estas técnicas têm a seu favor o facto de ter<strong>em</strong> um custo de aplicação reduzi<strong>do</strong>. No entan-<br />

to, como esses modelos se baseiam <strong>em</strong> heurísticas, não são muito fiáveis, especialmente<br />

para probl<strong>em</strong>as de configuração mais complexa, e pod<strong>em</strong> chegar a produzir soluções com<br />

um erro superior a 50%. Outro <strong>do</strong>s probl<strong>em</strong>as relativos a estas técnicas são o facto de<br />

fornecer<strong>em</strong> modelos de primeira ord<strong>em</strong> úteis apenas para o projectista. Devi<strong>do</strong> à sua sim-<br />

plicidade, estes modelos são d<strong>em</strong>asia<strong>do</strong> rudimentares para ser<strong>em</strong> incorpora<strong>do</strong>s <strong>em</strong> simu-<br />

la<strong>do</strong>res que verifiqu<strong>em</strong> com precisão o funcionamento <strong>do</strong> circuito. O que acontece com<br />

as técnicas heurísticas, é que elas negligenciam completamente os efeitos de acoplamento


2.4. TRABALHO PRÉVIO 21<br />

de segunda ord<strong>em</strong> e pod<strong>em</strong> concluir que um circuito não têm probl<strong>em</strong>as de acoplamento,<br />

quan<strong>do</strong>, efectivamente, não é o caso.<br />

Por outro la<strong>do</strong>, exist<strong>em</strong> abordagens ao probl<strong>em</strong>a <strong>em</strong> que é analisa<strong>do</strong> <strong>em</strong> detalhe o<br />

comportamento electromagnético <strong>do</strong> substrato e que fornec<strong>em</strong> um modelo bastante com-<br />

pleto <strong>do</strong>s acoplamentos. Ex<strong>em</strong>plos de ferramentas desse tipo são: Depict, Davinci, Medi-<br />

ci (Pisces [23]), Fielday II, etc. Como se tratam de simula<strong>do</strong>res de dispositivo, este tipo<br />

de ferramenta é d<strong>em</strong>asiadamente lento, pois simula com exactidão os fenómenos de deri-<br />

va <strong>do</strong>s s<strong>em</strong>icondutores, ao passo que o resulta<strong>do</strong> final que se pretende é apenas de nível<br />

eléctrico. Isto implica que estas ferramentas não tenham aplicabilidade prática <strong>em</strong> fluxos<br />

de projecto convencionais, até porque dada a sua complexidade permit<strong>em</strong> apenas a análise<br />

de porções de circuito com um número muito reduzi<strong>do</strong> de dispositivos.<br />

Um outro tipo de méto<strong>do</strong>s que t<strong>em</strong> si<strong>do</strong> aplica<strong>do</strong> com sucesso na abordag<strong>em</strong> <strong>do</strong> pro-<br />

bl<strong>em</strong>a <strong>em</strong> questão, são os Méto<strong>do</strong>s <strong>do</strong>s El<strong>em</strong>entos Fronteira (Boundary El<strong>em</strong>ent Meth-<br />

ods, BEM) [5, 6, 7, 11, 14, 24]. Estes méto<strong>do</strong>s requer<strong>em</strong> apenas a discretização su-<br />

perficial <strong>do</strong>s contactos de acoplamento, pelo que dão orig<strong>em</strong> a matrizes de reduzida di-<br />

mensão, mas densas, e exig<strong>em</strong> uma computação intensiva, o que limita a aplicação destes<br />

méto<strong>do</strong>s a probl<strong>em</strong>as de pequena e média dimensões. Nos últimos anos t<strong>em</strong>-se assisti<strong>do</strong><br />

ao surgimento de méto<strong>do</strong>s de aceleração das computações exigidas pelos méto<strong>do</strong>s BEM<br />

[5, 6, 7, 8, 10, 11, 24, 25].<br />

Os Méto<strong>do</strong>s de El<strong>em</strong>entos Finitos (Finite El<strong>em</strong>ent Methods, FEM) e Méto<strong>do</strong>s de<br />

Diferenças Finitas (Finite Difference Methods, FDM), por sua vez, são méto<strong>do</strong>s que se ba-<br />

seiam, respectivamente, na discretização de to<strong>do</strong> o volume <strong>do</strong> substrato e na discretização<br />

de uma formulação com base <strong>em</strong> equações diferenciais [2, 21, 15, 26]. Como tal, con-<br />

duz<strong>em</strong> a matrizes de grande dimensão, mas esparsas. A resolução <strong>do</strong>s sist<strong>em</strong>as relativos a<br />

estas matrizes, quan<strong>do</strong> aliada a algoritmos apropria<strong>do</strong>s, faz<strong>em</strong> <strong>do</strong>s méto<strong>do</strong>s FEM e FDM<br />

méto<strong>do</strong>s competitivos.<br />

De seguida, apresenta-se um breve historial <strong>do</strong>s avanços que têm vin<strong>do</strong> a ser realiza<strong>do</strong>s<br />

nesta área de investigação na última década.<br />

Em 1993, Su et al. [19] experimentaram várias técnicas com vista à redução <strong>do</strong> acopla-<br />

mento pelo substrato, tais como a separação física entres as partes analógica e digital, o<br />

uso de guard rings e a utilização de méto<strong>do</strong>s de polarização <strong>do</strong> substrato de baixa indução.


22 CAPÍTULO 2. MODELAÇÃO DOS ACOPLAMENTOS PELO SUBSTRATO<br />

A sua conclusão foi que destas três técnicas a última era a mais eficaz na redução <strong>do</strong><br />

acoplamento entre os blocos analógico e digital. Concluíram também que, <strong>em</strong> substratos<br />

com camadas epitaxiais, quan<strong>do</strong> as linhas de força alcançam a camada base <strong>do</strong> substrato<br />

elas se espraiam por to<strong>do</strong> o circuito. Caso os blocos analógico e digital estejam separa<strong>do</strong>s<br />

por cerca de quatro vezes a espessura da camada epitaxial, o acoplamento ocorre princi-<br />

palmente pela camada base <strong>do</strong> substrato e o aumento da separação <strong>do</strong>s blocos não diminui<br />

o acoplamento. Por outro la<strong>do</strong>, <strong>em</strong> substratos lev<strong>em</strong>ente <strong>do</strong>pa<strong>do</strong>s a separação física e os<br />

guard rings são méto<strong>do</strong>s eficazes de redução <strong>do</strong> acoplamento. Neste mesmo trabalho,<br />

foram ainda realizadas simulações eléctricas <strong>em</strong> que foi usa<strong>do</strong> um modelo <strong>em</strong>pírico para<br />

o cálculo da resistência entre os contactos e o substrato.<br />

Em 1994, Cl<strong>em</strong>ent et al. [2] desenvolveram uma ferramenta de software, o LAYIN,<br />

capaz de apresentar um modelo <strong>do</strong> acoplamento pelo substrato ao mesmo t<strong>em</strong>po que per-<br />

mitia a visualização das respectivas linhas de força sobre o layout <strong>do</strong> circuito analisa<strong>do</strong>.<br />

O modelo extraí<strong>do</strong> por esta ferramenta era puramente resistivo e compreendia o substra-<br />

to e os poços interliga<strong>do</strong>s por el<strong>em</strong>entos capacitivos. Este modelo, muito s<strong>em</strong>elhante ao<br />

utiliza<strong>do</strong> no presente trabalho, foi compara<strong>do</strong> com a ferramenta MEDICI e revelou uma<br />

boa precisão para frequências de trabalho até à ord<strong>em</strong> <strong>do</strong>s GHz. Em termos de des<strong>em</strong>-<br />

penho, o LAYIN era mais de 1000 vezes mais rápi<strong>do</strong> que ferramentas como o MEDICI e<br />

o SUPREM (simula<strong>do</strong>res de dispositivo), e apresentava erros inferiores a 10%.<br />

No mesmo ano, Joardar [26] apresenta um estu<strong>do</strong> comparativo entre técnicas de trench-<br />

ing e de guard rings. A sua conclusão foi de que para frequências mais elevadas, que é<br />

o caso de interesse actualmente, as primeiras não oferec<strong>em</strong> vantag<strong>em</strong> sobre as segundas.<br />

Além disso, um isolamento por guard rings <strong>do</strong> tipo pnão é sensível à frequência de<br />

trabalho e pode ser a única técnica de isolamento eficaz para alta frequência.<br />

Ainda no mesmo ano, Stanisic, Verghese et al. [15] apresentam uma ferramenta in-<br />

dependente <strong>do</strong> processo de fabrico <strong>do</strong> circuito integra<strong>do</strong> <strong>em</strong> análise, eficiente e precisa.<br />

O presente trabalho baseia a sua formulação <strong>do</strong> modelo <strong>do</strong> substrato neste artigo. Os re-<br />

sulta<strong>do</strong>s obti<strong>do</strong>s por esta ferramenta foram valida<strong>do</strong>s por experiências e apresentam uma<br />

mais-valia <strong>em</strong> termos de t<strong>em</strong>po de execução.<br />

Em 1995 surgiu o Space, uma ferramenta por Smedes et al. [11] baseada numa<br />

formulação BEM, mas com a discretização baseada <strong>em</strong> funções de Green. O modelo


2.4. TRABALHO PRÉVIO 23<br />

obti<strong>do</strong> é sujeito a uma redução de ord<strong>em</strong>, com vista à obtenção de um modelo mais sim-<br />

ples, ainda que preciso. O Space comporta uma complexidade t<strong>em</strong>poral linear e revela<br />

uma ocupação de m<strong>em</strong>ória praticamente independente da complexidade <strong>do</strong> probl<strong>em</strong>a.<br />

Para colmatar uma das falhas <strong>do</strong>s extractores desenvolvi<strong>do</strong>s até então, que têm aplicação<br />

<strong>em</strong> apenas zonas delimitadas <strong>do</strong> layout de um circuito, a equipa <strong>do</strong> projecto Space desen-<br />

volveu uma nova versão da ferramenta [12], destinada à análise de circuitos de grande<br />

dimensão. Esta nova aproximação já não se baseia <strong>em</strong> discretização (méto<strong>do</strong>s BEM),<br />

mas sim no cálculo s<strong>em</strong>i-<strong>em</strong>pírico das resistências de acoplamento entre contactos sufi-<br />

cient<strong>em</strong>ente próximos. A decisão de se os contactos são próximos ou não é obtida através<br />

da triangulação de Delaunay [27]. Depois de decidir que resistências extrair, o méto<strong>do</strong><br />

calcula-as por interpolação de valores de resistências obtidas à priori, <strong>em</strong> regime experi-<br />

mental.<br />

No mesmo ano ainda, Mitra et al. [21] apresentam igualmente uma meto<strong>do</strong>logia de<br />

obtenção de modelos simplifica<strong>do</strong>s, <strong>em</strong> que se troca, tal como na segunda versão <strong>do</strong><br />

Space, a precisão <strong>do</strong> modelo por eficiência de extracção.<br />

Outras formas de obter modelos simplifica<strong>do</strong>s <strong>do</strong> acoplamento pelo substrato, nomeada-<br />

mente através de técnicas de decisão de proximidade, como a tesselação de Voronoi 1 ,<br />

foram apresentadas <strong>em</strong> [28].<br />

Em 1997, Costa et al. [5, 6, 7] fizeram avanços no <strong>do</strong>mínio <strong>do</strong>s méto<strong>do</strong>s BEM para<br />

análise <strong>do</strong> acoplamento pelo substrato, aplican<strong>do</strong> uma técnica rápida de decomposição de<br />

valores próprios e, posteriormente, uma extensão a essa técnica através <strong>do</strong> uso de técnicas<br />

de DCT pré-corrigida. Os resulta<strong>do</strong>s obti<strong>do</strong>s revelam o dispêndio de alguma precisão <strong>do</strong><br />

resulta<strong>do</strong> <strong>em</strong> troca de um aumento da eficiência de extracção, possibilitan<strong>do</strong> a aplicação<br />

<strong>do</strong> méto<strong>do</strong> a circuitos com algumas centenas de contactos.<br />

Em 1998, Mike Chou e Jacob White [8] apresentam um novo méto<strong>do</strong> iterativo basea-<br />

<strong>do</strong> <strong>em</strong> Multigrid que mostrou convergir mais rapidamente que os méto<strong>do</strong>s de Krylov<br />

anteriormente utiliza<strong>do</strong>s. O méto<strong>do</strong> proposto assentava numa discretização <strong>do</strong> tipo BEM.<br />

Ainda <strong>em</strong> 1998, Charbon et. al [29] propõ<strong>em</strong> uma meto<strong>do</strong>logia de comparação de<br />

méto<strong>do</strong>s de extracção de modelos <strong>do</strong> substrato.<br />

Em 2000, Silveira e Vargas [31] apresentam um méto<strong>do</strong> de extracção basea<strong>do</strong> <strong>em</strong><br />

1 É de notar que a tesselação de Voronoi é, <strong>em</strong> termos geométricos, o dual da triangulação de Delaunay.


24 CAPÍTULO 2. MODELAÇÃO DOS ACOPLAMENTOS PELO SUBSTRATO<br />

FEM, cujos resulta<strong>do</strong>s experimentais permit<strong>em</strong> antever a eficiência de méto<strong>do</strong>s Multi-<br />

nível na resolução de sist<strong>em</strong>as resultantes da formulação FEM aplica<strong>do</strong> à modelação <strong>do</strong><br />

substrato. O presente trabalho é a materialização numa ferramenta de extracção de tais<br />

méto<strong>do</strong>s.<br />

Em 2001, Amaro et. al [32] apresentam uma framework de análise de efeitos de<br />

acoplamento pelo substrato, que permite testar diversas ferramentas de extracção, b<strong>em</strong><br />

como analisar o efeito de diferentes configurações <strong>do</strong> layout, utilização de guard-rings e<br />

tecnologias diferentes, no acoplamento pelo substrato.<br />

No mesmo ano, Phillips e Silveira [22] apresentam uma aproximação ao probl<strong>em</strong>a de<br />

acoplamento <strong>em</strong> que obtêm uma redução de ord<strong>em</strong> <strong>do</strong> modelo obti<strong>do</strong> através da supressão<br />

ponderada de resistências menos relevantes.<br />

Também <strong>em</strong> 2001 Brandtner e Weigel [33] apresentam um méto<strong>do</strong> de simulação hi-<br />

erárquica <strong>do</strong> probl<strong>em</strong>a <strong>do</strong> acoplamento, <strong>em</strong> que proced<strong>em</strong> à co-simulação das pistas de<br />

alimentação, mas esta abordag<strong>em</strong> não permite a presença de poços n<strong>em</strong> a aplicação a<br />

circuitos de grande dimensão.<br />

Ainda <strong>em</strong> 2001 Kanapka et al. [10] apresentam uma forma de calcular eficazmente<br />

uma matriz de acoplamento esparsa, através da eliminação cuida<strong>do</strong>sa de acoplamentos<br />

de valor negligenciável. Foi usada uma meto<strong>do</strong>logia FDM <strong>em</strong> que se resolveu o sist<strong>em</strong>a<br />

obti<strong>do</strong> através <strong>do</strong> méto<strong>do</strong> PCG.<br />

Já <strong>em</strong> 2002 surge o HSpeedEx, por Koukab et al. [3], <strong>em</strong> que se apresenta uma nova<br />

abordag<strong>em</strong>. O acoplamento entre blocos de um circuito é trata<strong>do</strong> de diferente forma <strong>do</strong><br />

acoplamento interno a um bloco <strong>do</strong> circuito. O méto<strong>do</strong> é basea<strong>do</strong> nos BEM, mas de mo<strong>do</strong><br />

a reduzir a m<strong>em</strong>ória necessária pelas matrizes densas que este tipo de méto<strong>do</strong>s acarreta,<br />

este méto<strong>do</strong> foi modifica<strong>do</strong>, de mo<strong>do</strong> a tratar-se de diferente forma o acoplamento inter- e<br />

intra-bloco. Devi<strong>do</strong> a esta modificação o HSpeedEx é uma das ferramentas mais eficientes<br />

(quer <strong>em</strong> t<strong>em</strong>po de execução quer <strong>em</strong> m<strong>em</strong>ória necessária) e simultaneamente precisas<br />

existentes.<br />

Por último, a equipa <strong>do</strong> projecto Space surge com algo que seria intuitivo esperar:<br />

um méto<strong>do</strong> híbri<strong>do</strong> BEM/FEM. Neste novo méto<strong>do</strong>, o acoplamento através de camadas<br />

epitaxiais entre os contactos é extraí<strong>do</strong> por um méto<strong>do</strong> FEM, enquanto que as resistências<br />

de acoplamento <strong>do</strong>s contactos para o backplane são extraídas por um méto<strong>do</strong> BEM. Por


2.4. TRABALHO PRÉVIO 25<br />

combinar a eficácia <strong>do</strong> FEM com a eficiência <strong>do</strong> BEM, este é também um <strong>do</strong>s melhores<br />

méto<strong>do</strong>s de extracção disponíveis actualmente.


26 CAPÍTULO 2. MODELAÇÃO DOS ACOPLAMENTOS PELO SUBSTRATO


Capítulo 3<br />

Méto<strong>do</strong>s de Resolução <strong>do</strong> Sist<strong>em</strong>a de<br />

Equações<br />

Os méto<strong>do</strong>s de utilização possível na resolução <strong>do</strong> sist<strong>em</strong>a de equações que resulta da<br />

discretização <strong>do</strong> substrato divid<strong>em</strong>-se <strong>em</strong> <strong>do</strong>is grupos: méto<strong>do</strong>s directos e méto<strong>do</strong>s itera-<br />

tivos. Os méto<strong>do</strong>s directos fornec<strong>em</strong> uma solução exacta (à precisão da máquina), mas são<br />

geralmente muito ineficientes para probl<strong>em</strong>as de complexidade elevada. Por outro la<strong>do</strong>,<br />

os méto<strong>do</strong>s iterativos, para os quais a solução exacta é por vezes inatingível, permit<strong>em</strong> a<br />

obtenção relativamente eficiente de um solução de precisão especificável.<br />

Nas próximas secções serão apresenta<strong>do</strong>s e analisa<strong>do</strong>s alguns méto<strong>do</strong>s pertencentes a<br />

estes <strong>do</strong>is grupos. Embora o Multigrid se insira dentro <strong>do</strong> conjunto de méto<strong>do</strong>s iterativos,<br />

dada a ênfase que lhe foi dada neste trabalho, ele será descrito e analisa<strong>do</strong> <strong>em</strong> detalhe no<br />

próximo capítulo.<br />

3.1 Méto<strong>do</strong>s Directos<br />

Os méto<strong>do</strong>s de resolução directa mais conheci<strong>do</strong>s são o méto<strong>do</strong> de eliminação de Gauss<br />

e o méto<strong>do</strong> de eliminação de Gauss-Jordan. Enquanto que o méto<strong>do</strong> de Gauss consta<br />

da eliminação da parte triangular inferior da matriz e de uma substituição ascendente,<br />

no méto<strong>do</strong> de Gauss-Jordan faz-se a eliminação da parte triangular inferior e depois a<br />

eliminação da parte triangular superior, obten<strong>do</strong>-se uma matriz diagonal que permite<br />

então a resolução imediata <strong>do</strong> sist<strong>em</strong>a. Prova-se [39] que a complexidade <strong>do</strong> méto<strong>do</strong><br />

27


28 CAPÍTULO 3. MÉTODOS DE RESOLUÇÃO DO SISTEMA DE EQUAÇÕES<br />

de eliminação de Gauss-Jordan é de, pelo menos, 15 vezes superior à <strong>do</strong> méto<strong>do</strong> de<br />

eliminação de Gauss.<br />

Dada a relativa inutilidade destes méto<strong>do</strong>s face ao probl<strong>em</strong>a que se pretende resolver,<br />

será somente apresenta<strong>do</strong> o méto<strong>do</strong> de eliminação de Gauss, de forma a ilustrar a forma<br />

directa de resolver o probl<strong>em</strong>a.<br />

3.1.1 Méto<strong>do</strong> de Eliminação de Gauss<br />

Da<strong>do</strong> o sist<strong>em</strong>a Ax¡b, mais especificamente representa<strong>do</strong> por<br />

a11 a12<br />

a21 a22 <br />

.<br />

.<br />

aN1 aN2 <br />

x1 a1N<br />

a2N<br />

. ..<br />

.<br />

aNN<br />

x2<br />

.<br />

xN<br />

b2<br />

.<br />

¡ b1<br />

bN<br />

(3.1)<br />

o méto<strong>do</strong> de eliminação de Gauss [39] comporta N1 passos de eliminação e N passos de<br />

substituição ascendente. Como a complexidade <strong>do</strong> processo de eliminação impera sobre<br />

a complexidade <strong>do</strong> processo de substituição ascendente, é suficiente analisar o primeiro.<br />

No passo k da eliminação de Gauss faz<strong>em</strong>-se uma divisão, Nk multiplicações e Nk<br />

adições. A complexidade deste méto<strong>do</strong> para matrizes densas é de O¢N 3¤[34, 39].<br />

Para o caso específico de matrizes de apenas 7 diagonais a complexidade é menor, mas<br />

não se pode assumir que se têm somente 7 el<strong>em</strong>entos <strong>em</strong> cada linha. Há que considerar<br />

o surgimento de fill-ins no decorrer <strong>do</strong> processo de eliminação. Os fill-ins são el<strong>em</strong>entos<br />

não nulos que surg<strong>em</strong> <strong>em</strong> posições anteriormente ocupadas por el<strong>em</strong>entos nulos quan<strong>do</strong><br />

se adiciona a linha de pivot com a linha que se pretende eliminar.<br />

No caso da grelha resistiva <strong>do</strong> substrato, a matriz de sist<strong>em</strong>a antes e depois <strong>do</strong> pro-<br />

cesso de eliminação de Gauss apresenta-se na Figura 3.1. Como se pode ver, no caso<br />

representa<strong>do</strong> pela figura — correspondente a uma discretização de 9 9 5 —, o número<br />

de el<strong>em</strong>entos não nulos aumenta de 2429 (¦9 9 5 7) para 51937 durante o processo<br />

de eliminação.<br />

Para uma grelha de mnd mnd a largura da banda da matriz da Figura 3.1 (b) é da<br />

ord<strong>em</strong> de mn. Designan<strong>do</strong> por N¡mnd a dimensão <strong>do</strong> sist<strong>em</strong>a, t<strong>em</strong>-se os seguintes<br />

números de operações aritméticas:


3.1. MÉTODOS DIRECTOS 29<br />

0<br />

50<br />

100<br />

150<br />

200<br />

250<br />

300<br />

350<br />

400<br />

0 50 100 150 200<br />

nz = 2429<br />

250 300 350 400<br />

0<br />

50<br />

100<br />

150<br />

200<br />

250<br />

300<br />

350<br />

400<br />

0 50 100 150 200<br />

nz = 51937<br />

250 300 350 400<br />

(a) (b)<br />

Figura 3.1: Matriz de sist<strong>em</strong>a antes (a) e depois (b) <strong>do</strong> processo de eliminação de Gauss.<br />

Divisões: N1<br />

∑<br />

k1¢mn¤¡¢N1¤mn<br />

Multiplicações: N1<br />

∑<br />

k1¢mn¤2¡¢N1¤¢mn¤2<br />

Adições 1 : N1<br />

∑<br />

k1¢mn¤2¡¢N1¤¢mn¤2<br />

No caso particular <strong>em</strong> que m¡n¡d¡3N t<strong>em</strong>-se:<br />

Número de divisõesn 5<br />

Número de multiplicaçõesn 7<br />

Número de adiçõesn 7<br />

pelo que a complexidade de t<strong>em</strong>po associada à eliminação gaussiana é <strong>do</strong>minada pelos<br />

números de multiplicações e adições e t<strong>em</strong> o valor de O¢n7¤¡O¢N 73¤. É de notar que<br />

nesta análise não se considerou a possibilidade de reordenar as linhas de A de forma a<br />

reduzir o número de fill-ins gera<strong>do</strong>s. Exist<strong>em</strong> técnicas <strong>em</strong> que isso é feito com base no<br />

critério de Markowitz e que resultam numa complexidade t<strong>em</strong>poral para o méto<strong>do</strong> de<br />

eliminação de Gauss de O¢N 2¤.<br />

1 Em termos computacionais as subtracções são adições com o simétrico de um <strong>do</strong>s operan<strong>do</strong>s.


30 CAPÍTULO 3. MÉTODOS DE RESOLUÇÃO DO SISTEMA DE EQUAÇÕES<br />

Em termos de requisitos de m<strong>em</strong>ória, a estrutura mais relevante é a matriz A depois<br />

de factorizada (Figura 3.1 (b)), ocupan<strong>do</strong> aproximadamente mn ¢mndmn¤m 2 n 2 d<br />

el<strong>em</strong>entos.<br />

3.2 Méto<strong>do</strong>s Iterativos<br />

Os méto<strong>do</strong>s iterativos, ao contrário <strong>do</strong>s méto<strong>do</strong>s directos, trocam uma solução exacta,<br />

que, <strong>em</strong> termos práticos, é dispensável, por uma solução com uma precisão especificável.<br />

Estes méto<strong>do</strong>s obtêm uma solução muitas vezes satisfatória num número de iterações<br />

bastante inferior à dimensão da matriz <strong>do</strong> probl<strong>em</strong>a.<br />

De seguida são apresenta<strong>do</strong>s os méto<strong>do</strong>s iterativos com os quais, neste trabalho, foram<br />

compara<strong>do</strong>s os algoritmos desenvolvi<strong>do</strong>s (Multigrid, Full Multigrid e Multigrid Precon-<br />

ditioned Conjugate Gradient), descritos no próximo capítulo.<br />

No apêndice B faz-se a análise detalhada <strong>do</strong> número de operações e <strong>do</strong>s requisitos de<br />

m<strong>em</strong>ória <strong>do</strong>s méto<strong>do</strong>s iterativos.<br />

3.2.1 Méto<strong>do</strong>s de Relaxação<br />

Neste ponto, convém introduzir os conceitos de função de erro e suas componentes de<br />

alta e baixa frequências. A função de erro relativa à iteração k de um méto<strong>do</strong> iterativo é<br />

dada por:<br />

ek¡xkˆx (3.2)<br />

<strong>em</strong> que ˆx é o valor exacto da solução <strong>do</strong> probl<strong>em</strong>a e xko vector solução na iteração k.<br />

Na Figura 3.2 apresenta-se um ex<strong>em</strong>plo abstracto de uma função espacial de erro<br />

segun<strong>do</strong> a direcção x, juntamente com as suas componentes de alta e baixa frequências.<br />

Os méto<strong>do</strong>s de relaxação apresenta<strong>do</strong>s nesta secção pod<strong>em</strong> ser usa<strong>do</strong>s para resolver o<br />

sist<strong>em</strong>a de equações, mas, dada a sua dificuldade <strong>em</strong> eliminar as componentes de baixa<br />

frequência <strong>do</strong> erro (Figura 3.2 (b)), são normalmente usa<strong>do</strong>s como uma forma rápida de<br />

suavizar a função de erro, i.e., de eliminar a sua componente de alta frequência (Figura<br />

3.2 (c)).


3.2. MÉTODOS ITERATIVOS 31<br />

e(x)<br />

(a)<br />

(b)<br />

(c)<br />

Figura 3.2: Função de erro (a) e suas componentes de alta (b) e baixa (c) frequências.<br />

x


32 CAPÍTULO 3. MÉTODOS DE RESOLUÇÃO DO SISTEMA DE EQUAÇÕES<br />

Méto<strong>do</strong> de Jacobi<br />

No sist<strong>em</strong>a 3.1 t<strong>em</strong>-se para a equação i:<br />

que, resolvi<strong>do</strong> <strong>em</strong> ord<strong>em</strong> às incógnitas, fica:<br />

n<br />

∑ ai jxj¡bi<br />

j1<br />

xi¡bi∑ ji<br />

ai jxj<br />

aii<br />

(3.3)<br />

(3.4)<br />

O méto<strong>do</strong> de Jacobi [36] consiste no cálculo independente de cada uma das incógnitas<br />

através da seguinte fórmula iterativa:<br />

¡bi∑ ji ai j<br />

i<br />

aii jxk1<br />

xk<br />

Em notação matricial t<strong>em</strong>-se para este méto<strong>do</strong> a expressão<br />

(3.5)<br />

(3.6)<br />

<strong>em</strong> que L é a parte triangular inferior de A, U a sua parte triangular superior e D a diagonal<br />

xk¡D1b¢LU¤xk1<br />

principal, ou seja, A¡LDU.<br />

O cálculo com maior peso computacional é a multiplicação matriz-vector,¢LU¤x.<br />

Como a matriz LU t<strong>em</strong> apenas 6 diagonais, no presente caso, a complexidade por<br />

iteração deste algoritmo é de O¢6N¤O¢N¤. A complexidade total é de O¢N¤vezes o<br />

número de iterações.<br />

Em termos de requisitos de m<strong>em</strong>ória há que reservar espaço para as matrizes L, D<br />

e U, ou seja, para a matriz A, que consta de 7N el<strong>em</strong>entos. Ao contrário <strong>do</strong> méto<strong>do</strong> de<br />

eliminação de Gauss, neste méto<strong>do</strong> não se faz a eliminação da matriz de sist<strong>em</strong>a, pelo que<br />

não há criação de fill-ins.<br />

Méto<strong>do</strong> de Gauss-Seidel<br />

Consideran<strong>do</strong> que cada equação <strong>do</strong> sist<strong>em</strong>a 3.1 é analisada sequencialmente, sen<strong>do</strong> o<br />

resulta<strong>do</strong> utiliza<strong>do</strong> assim que estiver disponível, obtém-se o méto<strong>do</strong> de Gauss-Seidel,<br />

representa<strong>do</strong> pela seguinte equação


3.2. MÉTODOS ITERATIVOS 33<br />

¡bi∑ ji ai<br />

i jxk<br />

xk<br />

∑ j ji ai j jxk1<br />

Em termos matriciais, este méto<strong>do</strong> pode representar-se da seguinte forma:<br />

aii<br />

(3.7)<br />

(3.8)<br />

A matriz LD é triangular inferior e, como tal, a sua multiplicação pelo resto da<br />

xk¡¢LD¤1¢bUxk1¤<br />

expressão corresponde a um processo de substituição ascendente, pois trata-se de resolver<br />

o sist<strong>em</strong>a¢LD¤xk¡bUxk1. O passo mais pesa<strong>do</strong> <strong>em</strong> termos computacionais é<br />

a multiplicação matriz-vector Ux, pelo que a complexidade por iteração <strong>do</strong> algoritmo<br />

é também de O¢N¤. Novamente, a complexidade total é de O¢N¤vezes o número de<br />

iterações.<br />

Tal como no méto<strong>do</strong> anterior, a estrutura que ocupa mais m<strong>em</strong>ória é a matriz A (7N<br />

entradas).<br />

Méto<strong>do</strong> de Sobre-Relaxação Sucessiva, SOR<br />

Este méto<strong>do</strong> é extrapola<strong>do</strong> <strong>do</strong> méto<strong>do</strong> de Gauss-Seidel e consta numa média pesada (por<br />

um factor ω) entre o valor da iteração anterior e o valor da iteração de Gauss-Seidel actual,<br />

isto é,<br />

<strong>em</strong> que i é a iteração de Gauss-Seidel.<br />

xk<br />

i i i ¢1ω¤xk1 ¡ωxk xk<br />

Sob a forma de operações de matrizes t<strong>em</strong>-se:<br />

(3.9)<br />

(3.10)<br />

Se o peso ω for constante têm-se as seguintes operações:<br />

xk¡¢ωLD¤1ωbωU¢1ω¤Dxk1<br />

matriz-vector,ωU¢1ω¤Dxk1 multiplicação<br />

subtracção de vectores, ωbωU¢1ω¤Dxk1<br />

substituição,¢ωLD¤1 ωbωU¢1ω¤Dxk1


34 CAPÍTULO 3. MÉTODOS DE RESOLUÇÃO DO SISTEMA DE EQUAÇÕES<br />

pelo que se conclui, novamente, que a complexidade computacional por iteração deste<br />

algoritmo é de O¢N¤, devida à multiplicação matriz-vector, sen<strong>do</strong> a complexidade total<br />

de O¢N¤vezes o número de iterações.<br />

Se ω não for constante, i.e., se ω se adaptar à evolução da norma resíduo,¥r¥¡<br />

<strong>do</strong><br />

¥bAx¥, há que acrescentar a estes cálculos a multiplicação da constante ω pelas estru-<br />

turas de matrizes e vectores, o que torna este méto<strong>do</strong> bastante dispendioso.<br />

No caso <strong>do</strong> SOR há que reservar m<strong>em</strong>ória para a matriz A, que corresponde a 7N<br />

el<strong>em</strong>entos.<br />

Os três méto<strong>do</strong>s de relaxação anteriormente apresenta<strong>do</strong>s defin<strong>em</strong> uma sequência de<br />

iterações sob a forma:<br />

xk1¡Gxkf (3.11)<br />

<strong>em</strong> que G é a matriz de iteração. A convergência destes méto<strong>do</strong>s depende <strong>do</strong> raio espectral<br />

desta matriz de iteração. O raio espectral de uma matriz A é da<strong>do</strong> por:<br />

(3.12)<br />

<strong>em</strong> que λi é o i-ésimo valor próprio de A.<br />

ρ¢A¤¡maxλi£i¡1N<br />

Em [37] mostra-se que estes méto<strong>do</strong>s de relaxação converg<strong>em</strong> se ρ¢G¤¦1. No en-<br />

tanto, quanto mais próximo da unidade for o raio espectral da matriz de iteração, menor é<br />

a taxa de convergência <strong>do</strong> respectivo méto<strong>do</strong>.<br />

Na Tabela 3.1 mostra-se a evolução <strong>do</strong> raio espectral da matriz de iteração <strong>do</strong> méto<strong>do</strong><br />

de Gauss-Seidel à medida que se aumenta a complexidade da discretização. Para este<br />

méto<strong>do</strong>, G¡¢LD¤1 U.<br />

Pelo que foi exposto, verifica-se que com o aumento da complexidade <strong>do</strong> probl<strong>em</strong>a,<br />

a convergência <strong>do</strong> méto<strong>do</strong> de Gauss-Seidel se vai degradan<strong>do</strong> rapidamente. Um efeito<br />

s<strong>em</strong>elhante verifica-se para os outros <strong>do</strong>is méto<strong>do</strong>s de relaxação apresenta<strong>do</strong>s.<br />

Na iteração k, o erro ekpara este tipo de méto<strong>do</strong>s é da<strong>do</strong> por:<br />

ek¡Gek1¡G k (3.13)<br />

e0


3.2. MÉTODOS ITERATIVOS 35<br />

Discretização<br />

5 5 3 0.9882048 ρ¢G¤<br />

9 9 5 0.9912567<br />

17 17 9 0.9941415<br />

33 33 17 0.9974487<br />

Tabela 3.1: Evolução <strong>do</strong> raio espectral da matriz de iteração de Gauss-Seidel consoante a<br />

complexidade <strong>do</strong> probl<strong>em</strong>a.<br />

Pelo que se pode observar pela Tabela 3.1 o valor próprio próximo da unidade começa<br />

a <strong>do</strong>minar os outros e a potência G k tende para 1, o que faz com que o méto<strong>do</strong> tenha<br />

tendência a estagnar.<br />

Na Figura 3.3 apresenta-se um gráfico da evolução da norma <strong>do</strong> resíduo para os<br />

três méto<strong>do</strong>s de relaxação apresenta<strong>do</strong>s. Os méto<strong>do</strong>s foram testa<strong>do</strong>s sobre a extracção<br />

da resistência de um único contacto no centro <strong>do</strong> substrato para o backplane com uma<br />

discretização de 33 33 17. No méto<strong>do</strong> SOR usou-se um peso ω¡19, sen<strong>do</strong> o méto<strong>do</strong><br />

que apresenta o melhor resulta<strong>do</strong> global. No entanto, o SOR exige que se escolha ade-<br />

quadamente o peso ω, o que não é trivial. Valores ligeiramente diferentes de ω pod<strong>em</strong><br />

fazer com que o SOR deixe de ser globalmente melhor que os GS e Jacobi e passe a ser<br />

muito mais lento. Por ex<strong>em</strong>plo, para um peso calcula<strong>do</strong> pela fórmula ω¡<br />

2 [36],<br />

11ρ 2<br />

<strong>em</strong> que ρ é uma estimativa <strong>do</strong> raio espectral da matriz jacobiana e que no ex<strong>em</strong>plo <strong>em</strong><br />

questão resulta num valor de ω¡1999454, obtém-se um número de 16384 iterações para<br />

o SOR!<br />

3.2.2 Méto<strong>do</strong>s de Krylov<br />

Um méto<strong>do</strong> de Krylov, ou méto<strong>do</strong> de sub-espaço de Krylov, é um méto<strong>do</strong> <strong>em</strong> que se<br />

procura, por ortogonalização, uma solução no sub-espaço de Krylov, da<strong>do</strong> por<br />

<strong>em</strong> que N é a dimensão <strong>do</strong> sist<strong>em</strong>a.<br />

N¢A£b¤¡spanb£Ab£A 2 b££A N1<br />

(3.14)<br />

b<br />

Os méto<strong>do</strong>s de Krylov são garanti<strong>do</strong>s convergir <strong>em</strong> N iterações (à precisão da máquina<br />

e a menos de erro numérico), mas apresentam, normalmente, para um número de iterações


36 CAPÍTULO 3. MÉTODOS DE RESOLUÇÃO DO SISTEMA DE EQUAÇÕES<br />

Norma <strong>do</strong> Resíduo<br />

10 3<br />

10 2<br />

10 1<br />

10 0<br />

10 −1<br />

10 −2<br />

10 −3<br />

10 −4<br />

10 −5<br />

10 −6<br />

Jacobi<br />

GS<br />

SOR<br />

10<br />

0 50 100 150 200 250<br />

−7<br />

Número de Iterações<br />

Figura 3.3: Convergência <strong>do</strong>s Méto<strong>do</strong>s de Jacobi, Gauss-Seidel e SOR.<br />

muito inferior a N, uma norma <strong>do</strong> resíduo suficient<strong>em</strong>ente baixa.<br />

De seguida são apresenta<strong>do</strong>s <strong>do</strong>is conheci<strong>do</strong>s méto<strong>do</strong>s de Krylov: o primeiro, o Gen-<br />

eralized Minimum Residual (GMRES), é mais robusto, da<strong>do</strong> que pode ser aplica<strong>do</strong> a<br />

sist<strong>em</strong>as com matrizes assimétricas, mas t<strong>em</strong> como desvantag<strong>em</strong> exigir uma maior quan-<br />

tidade de m<strong>em</strong>ória. Quanto ao segun<strong>do</strong> méto<strong>do</strong>, o Conjugate Gradient (CG), apenas<br />

aplicável a matrizes simétricas, é um méto<strong>do</strong> mais rápi<strong>do</strong>, da<strong>do</strong> que toma parti<strong>do</strong> da sime-<br />

tria da matriz. Na resolução <strong>do</strong> probl<strong>em</strong>a <strong>em</strong> questão, como a matriz de condutâncias é<br />

simétrica, antevê-se que o CG seja melhor que o GMRES.<br />

Algoritmo Generalized Minimum Residual, GMRES<br />

A dedução <strong>do</strong> algoritmo encontra-se detalhada <strong>em</strong> [36, 37, 38]. O seu pseu<strong>do</strong>-código<br />

apresenta-se <strong>em</strong> Algoritmo 1.<br />

O passo 4 <strong>em</strong> que eventualmente se faz o recomeço (restart) <strong>do</strong> algoritmo após m<br />

iterações constitui uma variante à versão mais simples <strong>do</strong> GMRES (<strong>em</strong> que este passo<br />

não é incluí<strong>do</strong>).<br />

Os maiores custos computacionais por iteração são a multiplicação matriz-vector no<br />

passo 2a e a minimização final no passo 3.<br />

Este algoritmo exige a reserva de m<strong>em</strong>ória para as seguintes estruturas:


3.2. MÉTODOS ITERATIVOS 37<br />

Algoritmo 1 GMRES, Generalized Minimum Residual<br />

1. Sejam: r0¡bAx0, β¡¥r0¥, v1¡r0β e Hm1m¡0<br />

m<br />

2. Para j¡1£2££m ou até convergir:<br />

(a) w j¡Av j<br />

(b) Para i¡1£2££j:<br />

i. hi j¡¦w<br />

ii. w j¡w jhi jvi<br />

j£vi§<br />

(c) h j1j¡¥w j¥. Se h j1j¡0 então m¡j e segue para 3.<br />

(d) v j1¡w jh j1j<br />

3. ym¡miny¥βe1Hmy¥, xm¡x0Vmym<br />

4. Se a tolerância não estiver satisfeita faz x0¡xm e volta ao início.<br />

Sist<strong>em</strong>a: matriz A, vector x, vector b<br />

Resíduo: vector r<br />

Vectores de ortogonalização: matriz Vm (contém os vectores v ao longo das iterações),<br />

vector w<br />

Matriz de Hessenberg: Hm<br />

Vector de minimização <strong>do</strong> resíduo: ym<br />

Como se pode ver, uma das desvantagens deste algoritmo é ter que reservar m<strong>em</strong>ória<br />

para guardar os vectores de ortogonalização resultantes de cada uma das iterações <strong>do</strong><br />

algoritmo, pelo que os seus requisitos de m<strong>em</strong>ória pod<strong>em</strong> ultrapassar largamente as 7N<br />

entradas relativas à matriz A.<br />

A complexidade por iteração <strong>do</strong> GMRES é de O¢N¤(<strong>do</strong>minada pela multiplicação<br />

matriz-vector).


38 CAPÍTULO 3. MÉTODOS DE RESOLUÇÃO DO SISTEMA DE EQUAÇÕES<br />

Algoritmo Conjugate Gradient, CG<br />

O algoritmo CG é deriva<strong>do</strong> <strong>em</strong> [36, 37, 38]. Este algoritmo é aplicável a matrizes<br />

simétricas e definidas positivas. Uma matriz quadrada A é definida positiva se e só se<br />

x T Ax§0, para qualquer vector x não nulo. O pseu<strong>do</strong>-código <strong>do</strong> CG é apresenta<strong>do</strong> no<br />

Algoritmo 2.<br />

Algoritmo 2 CG, Conjugate Gradient<br />

1. Sejam: r0¡bAx0, p0¡r0<br />

2. Para j¡0£1££até<br />

convergir:<br />

r<br />

(a) α j¡<br />

jr<br />

Ap jp j j<br />

(b) x j1¡x jα j p j<br />

(c) r j1¡r jα jAp j<br />

(d) β j¡r<br />

j1r<br />

r jr j j1<br />

(e) p j1¡r j1β j p j<br />

O cálculo computacionalmente mais dispendioso deste algoritmo é a multiplicação<br />

matriz-vector Ap . O custo <strong>do</strong> algoritmo será, portanto, de O¢N¤.<br />

Este algoritmo requer apenas o armazenamento das estruturas:<br />

Sist<strong>em</strong>a: matriz A, vector x, vector b<br />

Resíduo: vector r<br />

Senti<strong>do</strong> de ortogonalização: vector p<br />

Produto Ap, por razões de eficiência<br />

Neste caso já não é necessário guardar os vectores de ortogonalização <strong>em</strong> cada uma<br />

das iterações, pelo que os requisitos de m<strong>em</strong>ória <strong>do</strong> CG são s<strong>em</strong>elhantes aos <strong>do</strong>s méto<strong>do</strong>s<br />

de eliminação gaussiana e de relaxação.<br />

Nos méto<strong>do</strong>s de Krylov a convergência é determinada pelo número de condição da<br />

matriz de sist<strong>em</strong>a. Uma matriz é b<strong>em</strong> condicionada se o seu número de condição for


3.2. MÉTODOS ITERATIVOS 39<br />

Discretização<br />

5 5 3 666.5<br />

¢G¤<br />

9 9 5 1560.8<br />

17 17 9 2216.2<br />

33 33 17 6342.9 (estimativa)<br />

Tabela 3.2: Evolução <strong>do</strong> número de condição da matriz de sist<strong>em</strong>a consoante a complex-<br />

idade <strong>do</strong> probl<strong>em</strong>a.<br />

próximo da unidade. Por sua vez, o número de condição de uma matriz quadrada é da<strong>do</strong><br />

por [40]:<br />

(3.15)<br />

Se A for simétrica¢A¤¡λmax<br />

λmin<br />

¢A¤¡¥A¥¥A1¥ .<br />

Na Tabela 3.2 apresenta-se a evolução <strong>do</strong> número de condição para a matriz A à me-<br />

dida que se vai aumentan<strong>do</strong> o nível de discretização <strong>do</strong> probl<strong>em</strong>a. Como se pode ver pela<br />

tabela, é de esperar que o número de iterações <strong>do</strong>s méto<strong>do</strong>s de Krylov aumente consoante<br />

a complexidade <strong>do</strong> probl<strong>em</strong>a.<br />

3.2.3 Méto<strong>do</strong>s de Krylov Pré-Condiciona<strong>do</strong>s<br />

A técnica de pré-condicionamento <strong>do</strong>s méto<strong>do</strong>s de Krylov consiste <strong>em</strong> resolver o sist<strong>em</strong>a:<br />

M1 Ax¡M1 b (3.16)<br />

<strong>em</strong> vez <strong>do</strong> sist<strong>em</strong>a usual, Ax¡b. A mais valia desta técnica é, escolhida conveniente-<br />

mente a matriz de pré-condicionamento M, obter uma nova matriz M1A que é melhor<br />

condicionada <strong>do</strong> que A. Ora, se M for uma aproximação de A, o produto de M1 por A<br />

resulta numa matriz quase diagonal e a resolução <strong>do</strong> sist<strong>em</strong>a é quase imediata.<br />

A perícia está <strong>em</strong> escolher a matriz M convenient<strong>em</strong>ente. Naturalmente, não é com-<br />

putacionalmente viável calcular a inversa de M, pelo que a impl<strong>em</strong>entação desta técnica<br />

de pré-condicionamento não envolve a inversão de M, mas sim a sua multiplicação por<br />

um vector, como ver<strong>em</strong>os adiante.


40 CAPÍTULO 3. MÉTODOS DE RESOLUÇÃO DO SISTEMA DE EQUAÇÕES<br />

Algoritmo Preconditioned Generalized Minimal Residual, PGMRES<br />

Este algoritmo encontra-se descrito <strong>em</strong> [36, 37, 38].<br />

Algoritmo 3 PGMRES, Preconditioned Generalized Minimum Residual<br />

1. Sejam r0¡M1¢bAx0¤, β¡¥r0¥, v1¡r0β, Vm¡v1£v2££vmeHm uma<br />

de¢m1¤ matriz m.<br />

2. Para j¡1£2££m:<br />

(a) w¡M1 Av j<br />

(b) Para i¡1£2££j:<br />

i. hij¡¦w£vi§<br />

ii. w¡whijvi<br />

(c) h<br />

(d) v j1¡wh j1j<br />

j1j¡¥w¥<br />

ym¡miny¥βe1Hmy¥<br />

3.<br />

4. xm¡x0Vmym<br />

5. Se a tolerância está satisfeita sai, senão volta ao ponto 1.<br />

Como se pode observar por comparação com o pseu<strong>do</strong>-código <strong>do</strong> GMRES, a única<br />

diferença que se verifica no PGMRES (Algoritmo 3) está no passo 2a, <strong>em</strong> que <strong>em</strong> vez<br />

de se calcular w¡Av j calcula-se w¡M1 Av j, por resolução <strong>do</strong> sist<strong>em</strong>a Mw¡Av j. Isto<br />

garante uma melhor convergência se a matriz M for b<strong>em</strong> construída.<br />

Neste trabalho utilizou-se como matriz de pré-condicionamento <strong>do</strong> GMRES a matriz<br />

de factorização incompleta de Cholesky [36, 37, 38].<br />

Algoritmo Preconditioned Conjugate Gradient, PCG<br />

O PCG, tal como o CG, só é aplicável a matrizes de sist<strong>em</strong>a simétricas e definidas positi-<br />

vas. A derivação <strong>do</strong> CG para o PCG encontra-se <strong>em</strong> [37].<br />

Em termos grosseiros, o custo <strong>do</strong> algoritmo PCG (Algoritmo 4) é novamente <strong>do</strong>mina-


3.2. MÉTODOS ITERATIVOS 41<br />

Algoritmo 4 PCG, Preconditioned Conjugate Gradient<br />

1. Sejam r0¡bAx0, z0¡M1 r0 e p0¡z0.<br />

2. Para j¡0£1££até<br />

(a) α¡<br />

convergir:<br />

r<br />

jz<br />

Ap jp j j<br />

(b) x j1¡x jα j p j<br />

(c) r j1¡r jα jAp j<br />

(d) z j1¡M1 r j1<br />

(e) β j¡r<br />

j1z<br />

r jz j j1<br />

(f) p j1¡z j1β j p j<br />

<strong>do</strong> pela multiplicação matriz-vector Ap e pela solução <strong>do</strong> sist<strong>em</strong>a <strong>do</strong> passo 2d. Neste sis-<br />

t<strong>em</strong>a a matriz envolvida não é a matriz inicial, A, mas sim a matriz de pré-condicionamento,<br />

M, e é exactamente este o passo <strong>em</strong> que se insere a técnica de pré-condicionamento.<br />

No PCG introduz-se o vector z¡M1 r como sen<strong>do</strong> outro tipo de resíduo. No passo<br />

de pré-condicionamento <strong>do</strong> PCG (Algoritmo 4: 2d) faz-se a actualização deste novo tipo<br />

de resíduo e é neste passo que entra a matriz de pré-condicionamento escolhida.<br />

CG:<br />

Neste trabalho experimentaram-se três tipos de matriz de pré-condicionamento para o<br />

factorização incompleta de Cholesky, ICHCG<br />

pré-condicionamento de Jacobi, JCG<br />

pré-condicionamento pela matriz <strong>do</strong> méto<strong>do</strong> SOR, SORCG<br />

A factorização de Cholesky aplica-se a matrizes simétricas. A factorização incomple-<br />

ta de Cholesky obtém-se a partir das fórmulas de factorização de Cholesky, evitan<strong>do</strong>, no<br />

entanto, a criação de fill-ins (daí a designação de “incompleta”). Esta matriz t<strong>em</strong>, portan-<br />

to, uma estrutura idêntica à da matriz de sist<strong>em</strong>a A. O sist<strong>em</strong>a matricial relativo a esta<br />

factorização é da<strong>do</strong> por:<br />

LL T x¡b (3.17)


42 CAPÍTULO 3. MÉTODOS DE RESOLUÇÃO DO SISTEMA DE EQUAÇÕES<br />

<strong>em</strong> que, como A é simétrica, LL T¡A. Se a factorização fosse completa resolver-se-ia<br />

então o sist<strong>em</strong>a Lu¡bede seguida o sist<strong>em</strong>a L T x¡u, obten<strong>do</strong>-se a solução x para o<br />

sist<strong>em</strong>a inicial, Ax¡b. Como é muito dispendioso <strong>em</strong> termos computacionais calcular a<br />

factorização completa de Cholesky (que seria equivalente à resolução directa pelo méto<strong>do</strong><br />

de Gauss), usa-se a factorização incompleta como pré-condiciona<strong>do</strong>r.<br />

Existe também a factorização incompleta LU, cuja formulação se baseia no méto<strong>do</strong><br />

de eliminação de Gauss e se utiliza para matrizes não simétricas. Esta factorização é<br />

aplicável a matrizes assimétricas, pelo que é de prever que não seja tão eficiente como a<br />

factorização ICH no pré-condicionamento <strong>do</strong> probl<strong>em</strong>a.<br />

O pré-condicionamento de Jacobi é da<strong>do</strong> pela matriz<br />

MJ¡D (3.18)<br />

<strong>em</strong> que D é simplesmente a diagonal de A. No caso da matriz de pré-condicionamento<br />

pelo méto<strong>do</strong> SOR t<strong>em</strong>-se:<br />

MSOR¡1<br />

(3.19)<br />

A factorização que d<strong>em</strong>onstrou melhores resulta<strong>do</strong>s foi a ICHCG e será ela a usada<br />

ω¢DωL¤<br />

na impl<strong>em</strong>entação <strong>do</strong> PCG.


Capítulo 4<br />

Méto<strong>do</strong>s Multi-Nível<br />

O algoritmo de maior relevância desenvolvi<strong>do</strong> neste trabalho, o Multigrid, insere-se no<br />

conjunto de algoritmos Multi-nível. Nesta classe de algoritmos, o probl<strong>em</strong>a é resolvi<strong>do</strong><br />

com recurso a diferentes níveis de discretização. Nos níveis de maior precisão são ape-<br />

nas efectua<strong>do</strong>s alguns passos de um algoritmo de relaxação, sen<strong>do</strong> o probl<strong>em</strong>a resolvi<strong>do</strong><br />

apenas no nível de menor precisão, onde essa resolução, devi<strong>do</strong> à menor complexidade, é<br />

computacionalmente viável.<br />

4.1 Multigrid<br />

O Multigrid [16, 17, 18] é um caso particular <strong>do</strong>s algoritmos Multi-nível, pois <strong>em</strong> ca-<br />

da nível o probl<strong>em</strong>a é discretiza<strong>do</strong> segun<strong>do</strong> uma grelha (grid) referente a uma dada<br />

discretização. A discretização usada nos outros méto<strong>do</strong>s iterativos é neste a grelha mais<br />

fina, sen<strong>do</strong> elaboradas grelhas sucessivamente mais grosseiras a partir desta. A ideia<br />

básica <strong>do</strong> Multigrid a <strong>do</strong>is níveis é projectar o probl<strong>em</strong>a da grelha mais fina para a se-<br />

gunda grelha, mais grosseira, e nesta resolver o probl<strong>em</strong>a por um qualquer <strong>do</strong>s méto<strong>do</strong>s<br />

apresenta<strong>do</strong>s no capítulo anterior. A resolução <strong>do</strong> probl<strong>em</strong>a na grelha grosseira deve ser<br />

computacionalmente viável, mas a sua solução pode não satisfazer a tolerância na grelha<br />

mais fina. Há então que repetir o processo de mo<strong>do</strong> a garantir a convergência.<br />

Um verdadeiro algoritmo Multigrid consiste naquilo que foi exposto no parágrafo<br />

anterior só que com um número arbitrário de grelhas, sen<strong>do</strong> a sua impl<strong>em</strong>entação concep-<br />

tualmente recursiva. Os pormenores deste algoritmo, b<strong>em</strong> como da sua impl<strong>em</strong>entação,<br />

43


44 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

são apresenta<strong>do</strong>s nas secções seguintes.<br />

4.1.1 Opera<strong>do</strong>res de Projecção e Interpolação<br />

Na introdução deste capítulo menciona-se a necessidade de transferir o probl<strong>em</strong>a de uma<br />

grelha (discretização) para outra. Isto é feito através de opera<strong>do</strong>res de projecção (pas-<br />

sag<strong>em</strong> de uma grelha fina para uma mais grosseira) e de interpolação (o inverso).<br />

A passag<strong>em</strong> <strong>do</strong> probl<strong>em</strong>a de uma grelha mais fina para uma grelha mais grosseira<br />

consta da reconstrução da rede tridimensional de resistências na grelha inferior, de espa-<br />

çamento duplo <strong>em</strong> relação à grelha de cima.<br />

Sen<strong>do</strong> h o espaçamento no nível (grelha) 0, t<strong>em</strong>os 2h no nível 1, 4h no nível 2 e<br />

assim por diante. Desta forma, Ah representa a matriz <strong>do</strong> sist<strong>em</strong>a no nível 0, A2h a matriz<br />

no nível imediatamente inferior, etc. A mesma nomenclatura se aplica aos vectores x e<br />

b. Seguin<strong>do</strong> esta nomenclatura há que passar <strong>do</strong> probl<strong>em</strong>a Ahxh¡bh para o probl<strong>em</strong>a<br />

A2hx2h¡b2h.<br />

Exist<strong>em</strong> vários méto<strong>do</strong>s distintos de projecção, três <strong>do</strong>s quais merec<strong>em</strong> especial re-<br />

ferência: projecção directa, projecção pesada e projecção transposta (assim chamada por<br />

se utilizar a transposta <strong>do</strong> opera<strong>do</strong>r de interpolação). Para o cálculo <strong>do</strong> opera<strong>do</strong>r de<br />

interpolação discutir-se-á apenas um méto<strong>do</strong>. Estes processos serão explica<strong>do</strong>s no decor-<br />

rer desta secção.<br />

Como a transferência inter-grelha a três dimensões é um processo algo complexo,<br />

como ex<strong>em</strong>plo introdutório será usa<strong>do</strong> um caso a uma dimensão apenas. No final da<br />

secção será descrito o processo a 3D. A 1D t<strong>em</strong>-se, portanto, a projecção que se representa<br />

na Figura 4.1. Passa-se de uma rede de resistências com espaçamento h, para outra de<br />

espaçamento 2h. Neste caso está-se perante a projecção directa. Como se pode ver, para<br />

cada nó cujo valor é directamente usa<strong>do</strong> da grelha superior existe um nó que é descarta<strong>do</strong>.<br />

Neste tipo de projecção t<strong>em</strong>-se<br />

vj¡vi; j¡1£2£3£;i¡2<br />

j1<br />

(4.1)<br />

No caso da projecção pesada nenhum nó é descarta<strong>do</strong>, sen<strong>do</strong> o valor de to<strong>do</strong>s eles<br />

utiliza<strong>do</strong> de forma pesada para obter os nós da grelha inferior como se pode ver na Figura<br />

4.2. Para este caso, os nós da grelha inferior são obti<strong>do</strong>s segun<strong>do</strong> a seguinte expressão:


4.1. MULTIGR<strong>ID</strong> 45<br />

v1 g1 v2 g2 v3 g3 v4 g4 v5<br />

x1 x1<br />

x1<br />

v1’ g1’ v2’ g2’ v3’<br />

x1/2<br />

Figura 4.1: Projecção directa a uma dimensão.<br />

v1 g1 v2 g2 v3 g3 v4 g4 v5<br />

x1/2 x1/4<br />

x1/2<br />

x1/4<br />

x1/2 x1/2<br />

v1’ g1’ v2’ g2’ v3’<br />

Figura 4.2: Projecção pesada a uma dimensão.<br />

gi1<br />

vj¡1<br />

2vi1 gi1gi 2¢ vi1 gi<br />

gi1gi vi1¤; j¡1£2£3£;i¡2 j1<br />

(4.2)<br />

Como se pode observar, cada nó retira metade da informação <strong>do</strong> nó correspondente<br />

na grelha superior e a outra metade <strong>do</strong>s <strong>do</strong>is nós superiores adjacentes (que não figuram<br />

na grelha inferior) de forma pesada pelas respectivas condutâncias.<br />

No entanto, os processos de projecção apresenta<strong>do</strong>s destinam-se a projectar nós de<br />

tensão e o que se quer é projectar a matriz de condutâncias. Verifica-se [16, 17, 18] que<br />

os opera<strong>do</strong>res que relacionam vh com v2h pod<strong>em</strong> ser aplica<strong>do</strong>s à matriz Ah para obter a<br />

matriz A2h, isto é:<br />

Sen<strong>do</strong> P 2h<br />

h<br />

tal que v2h¡P 2h<br />

h vh e I h 2h tal que vh¡I h 2h v2h<br />

Então A2h¡P 2h<br />

h AhI h 2h v2h<br />

<strong>em</strong> que P 2h<br />

h é o opera<strong>do</strong>r de projecção <strong>do</strong> nível h para o nível 2h e Ih 2h<br />

(4.3)<br />

o opera<strong>do</strong>r de<br />

interpolação <strong>do</strong> nível 2h para o nível h. A forma de obter o opera<strong>do</strong>r de interpolação será<br />

apresentada mais à frente. Resta saber como explicitar a matriz P 2h<br />

h<br />

para uma dimensão e,<br />

posteriormente, para as três dimensões. As matrizes de projecção não são quadradas, da<strong>do</strong><br />

que reflect<strong>em</strong> a passag<strong>em</strong> de um sist<strong>em</strong>a de dimensão N, para um sist<strong>em</strong>a de dimensão<br />

N1<br />

2 , como se pode concluir pelas Figuras 4.1 e 4.2.


46 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

Projecção Directa<br />

Partin<strong>do</strong> da Expressão (4.1) pode chegar-se à seguinte estrutura para a matriz P2h h , que,<br />

multiplicada pelo vector de tensões na grelha superior, vh, resulta no vector de tensões da<br />

grelha inferior, v2h:<br />

Projecção Pesada<br />

P 2h<br />

h ¡<br />

<br />

1<br />

1<br />

1<br />

. ..<br />

1<br />

<br />

(4.4)<br />

No caso da projecção pesada a matriz de projecção é mais complexa. Cada nó da nova<br />

grelha não depende apenas daquele que lhe corresponde na grelha de partida, mas também<br />

<strong>do</strong>s que lhe são adjacentes.<br />

P 2h<br />

h ¡<br />

T<strong>em</strong>-se então a seguinte matriz:<br />

1<br />

2<br />

1<br />

2<br />

g2 1 2g2g3<br />

2<br />

g3 2g2g3<br />

g4 1 2g4g5<br />

2<br />

g5<br />

. 2g4g5<br />

<br />

gm1<br />

Como se pode ver, os nós terminais da grelha inferior são obti<strong>do</strong>s através de médias<br />

2gm2gm1<br />

..<br />

gm2 1 2gm2gm1<br />

2<br />

1<br />

2<br />

1<br />

2<br />

(4.5)<br />

simples, enquanto que os nós internos depend<strong>em</strong> já <strong>do</strong>s valores das condutâncias adja-<br />

centes.<br />

Opera<strong>do</strong>r de Interpolação<br />

Ao contrário <strong>do</strong>s opera<strong>do</strong>res de projecção, <strong>em</strong> que foram estuda<strong>do</strong>s opera<strong>do</strong>res de três<br />

tipos, <strong>em</strong> relação ao opera<strong>do</strong>r de interpolação, vulgo interpola<strong>do</strong>r, apenas um foi desen-


4.1. MULTIGR<strong>ID</strong> 47<br />

volvi<strong>do</strong>.<br />

v1’ g1’ v2’ g2’ v3’<br />

v1 g1 v2 g2 v3 g3 v4 g4 v5<br />

Figura 4.3: Interpolação a uma dimensão.<br />

O processo de interpolação, a uma dimensão, é ilustra<strong>do</strong> na Figura 4.3. Para este<br />

tipo de operação, os nós da grelha superior são obti<strong>do</strong>s a partir <strong>do</strong>s nós da grelha inferior<br />

segun<strong>do</strong> a seguinte expressão:<br />

vi¡vj£para i¡1£3£5£e j¡i1<br />

2<br />

£para i¡2£4£6£e vi¡gi1vjgivj1<br />

j¡i<br />

gi1gi<br />

2<br />

(4.6)<br />

Em termos matriciais, o interpola<strong>do</strong>r, assim como os projectores, não é uma matriz<br />

quadrada. Neste caso, o interpola<strong>do</strong>r faz a transferência de um sist<strong>em</strong>a de dimensão N1<br />

2<br />

para um sist<strong>em</strong>a de dimensão N, pelo que é representa<strong>do</strong> por uma matriz de N N1<br />

2 .<br />

A estrutura da matriz para este opera<strong>do</strong>r é dada na Equação 4.7.<br />

Opera<strong>do</strong>res a 3-D<br />

I h 2h¡<br />

<br />

1<br />

g1<br />

g1g2<br />

g2<br />

g1g2<br />

1<br />

g3<br />

g3g4<br />

g4<br />

g3g4<br />

. ..<br />

1<br />

<br />

(4.7)<br />

Nesta subsecção ilustra-se a forma de calcular os opera<strong>do</strong>res de transferência inter-grelha<br />

(projector e interpola<strong>do</strong>r) a três dimensões, que é o caso de interesse neste trabalho. As<br />

projecções directa e pesada têm uma reduzida aplicação prática no probl<strong>em</strong>a <strong>em</strong> questão,<br />

pois não são suficient<strong>em</strong>ente robustas, como se verá na secção 4.3.2. Para o caso da<br />

projecção transposta, o opera<strong>do</strong>r de projecção é calcula<strong>do</strong> por transposição da matriz <strong>do</strong>


48 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

v1<br />

g135<br />

g513<br />

g531<br />

g15<br />

g13<br />

g31<br />

g51<br />

g35<br />

g1<br />

g53<br />

g3<br />

g5<br />

vx<br />

5<br />

1 2<br />

Figura 4.4: Esqu<strong>em</strong>a de numeração de condutâncias. À direita indica-se a numeração<br />

associada a cada senti<strong>do</strong>.<br />

interpola<strong>do</strong>r, pelo que é suficiente d<strong>em</strong>onstrar a forma de calcular este último.<br />

Na Figura 4.4 apresenta-se um esqu<strong>em</strong>a de uma porção da rede tridimensional de<br />

condutâncias, <strong>em</strong> que cada aresta representa uma condutância de interligação entre <strong>do</strong>is<br />

nós <strong>do</strong> nível h. O nó assinala<strong>do</strong> a branco representa o caso genérico de um nó que não<br />

existe no nível 2h (inferior), mas que existe <strong>do</strong> nível h (superior), pelo que quan<strong>do</strong> se faz<br />

a interpolação <strong>do</strong> nível 2h para o nível h se t<strong>em</strong> que calcular o seu valor com base nos nós<br />

que exist<strong>em</strong> no nível 2h (assinala<strong>do</strong>s a preto). Os restantes nós não assinala<strong>do</strong>s têm um<br />

processo de cálculo mais simples, facilmente extrapolável a partir <strong>do</strong> processo de cálculo<br />

<strong>do</strong> nó a branco, que é de seguida explica<strong>do</strong>.<br />

Para calcular o valor de tensão <strong>do</strong> nó vx, com base nos valores <strong>do</strong>s oito nós a preto,<br />

há que ponderar o valor das 54 condutâncias que formam as arestas que se ilustram na<br />

figura. Por ex<strong>em</strong>plo, a influência que o nó v1 exerce sobre o nó central na operação de<br />

interpolação, assume-se que se manifesta pelos seguintes caminhos:<br />

g1g13g135<br />

g1g15g513<br />

g3g31g135<br />

3<br />

6<br />

4


4.1. MULTIGR<strong>ID</strong> 49<br />

g3g35g531<br />

g5g51g513<br />

g5g53g531<br />

Exist<strong>em</strong> portanto 6 caminhos de dependência para cada nó a preto, o que perfaz um<br />

total de 48 caminhos a considerar na interpolação <strong>do</strong> nó central.<br />

A expressão que relaciona a tensão vx com a tensão v1 – apenas para o primeiro <strong>do</strong>s 6<br />

caminhos apresenta<strong>do</strong>s – é a seguinte:<br />

g1<br />

g1g2g3g4g5g6 g13<br />

g13g14g15g16 g135<br />

g135g136 v1<br />

(4.8)<br />

Neste trabalho, houve que programar o cálculo das expressões para os 6 caminhos<br />

vx¡<br />

relativos a cada um <strong>do</strong>s 8 nós a preto. A expressão total t<strong>em</strong>, portanto, uma dimensão 48<br />

vezes superior à da Equação 4.8! Por esta razão, a matriz de interpolação é tão complexa<br />

que não será aqui apresentada explicitamente.<br />

Havia uma forma alternativa de calcular o opera<strong>do</strong>r de interpolação. Essa forma<br />

consta da decomposição <strong>do</strong> processo de interpolação nas suas três dimensões. Para is-<br />

to, calculam-se uma matriz para a interpolação <strong>em</strong> x, uma matriz para a interpolação <strong>em</strong><br />

y, uma matriz para a interpolação <strong>em</strong> z e multiplicam-se as três matrizes para se obter a<br />

matriz de interpolação a 3D. Acontece que a multiplicação de matrizes é pouco eficiente,<br />

mesmo não se tratan<strong>do</strong> de matrizes densas, pelo que se tivesse si<strong>do</strong> esse o méto<strong>do</strong> utiliza-<br />

<strong>do</strong> neste trabalho, o Multigrid seria muito ineficiente, devi<strong>do</strong> ao elevadíssimo t<strong>em</strong>po gasto<br />

no setup. Por esta razão, optou-se pelo cálculo directo <strong>do</strong>s opera<strong>do</strong>res da forma referida,<br />

obten<strong>do</strong>-se de um só passo a matriz final.<br />

Foram igualmente desenvolvi<strong>do</strong>s o cálculo directo <strong>do</strong>s opera<strong>do</strong>res de projecção para<br />

as projecções directa e pesada, mas como estes <strong>do</strong>is tipos de projecção não têm grande<br />

interesse prático tais cálculos não serão aqui apresenta<strong>do</strong>s.<br />

4.1.2 Multigrid V-Cycle<br />

Perante o exposto, o algoritmo Multigrid é da<strong>do</strong> pelo pseu<strong>do</strong>-código apresenta<strong>do</strong> no Al-<br />

goritmo 5. É necessário que estejam previamente calculadas as matrizes de condutâncias


50 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

<strong>em</strong> to<strong>do</strong>s os níveis, Ah, A2h, A4h, etc., que são obtidas através <strong>do</strong>s opera<strong>do</strong>res de projecção<br />

e interpolação, como já foi dito. O MG consta então <strong>do</strong>s seguintes passos: Começa-se<br />

por aplicar um número reduzi<strong>do</strong> de passos, ν1, de um algoritmo de relaxação ao sist<strong>em</strong>a,<br />

obten<strong>do</strong>-se um vector xh que é já uma aproximação, ainda que má, da solução <strong>do</strong> sist<strong>em</strong>a.<br />

De seguida, calcula-se o vector <strong>do</strong>s resíduos relativos a essa solução e este vector é pro-<br />

jecta<strong>do</strong> para o nível imediatamente inferior, onde constitui o la<strong>do</strong> direito <strong>do</strong> sist<strong>em</strong>a nesse<br />

nível. T<strong>em</strong>-se então no nível inferior um sist<strong>em</strong>a completo A2hx2h¡b2h, que é resolvi<strong>do</strong><br />

recursivamente. Quan<strong>do</strong> se regressa já com a solução x2h, este vector constitui o vector<br />

da estimativa de erro no nível h, pelo que ele é interpola<strong>do</strong> <strong>do</strong> nível 2h para o nível h e<br />

é usa<strong>do</strong> para corrigir a solução xh. Relaxa-se novamente o sist<strong>em</strong>a com um número de<br />

iterações, ν2, que pode ser ou não diferente <strong>do</strong> número de relaxações anteriores. Nesta<br />

fase pode calcular-se de novo o resíduo e analisar a sua norma, de mo<strong>do</strong> a verificar se esta<br />

satisfaz a tolerância pretendida. Se sim, o algoritmo termina, se não, volta-se ao início.<br />

Algoritmo 5 Multigrid, xh¡MG h¢Ah£bh¤.<br />

1. Se se estiver perante o nível mais grosseiro, resolver o sist<strong>em</strong>a nesse nível ou, <strong>em</strong><br />

alternativa, aplicar ν1ν2 iterações de relaxação ao sist<strong>em</strong>a e retornar o vector x<br />

resultante.<br />

2. Em caso contrário fazer:<br />

(a) Calcular a aproximação inicial para xh.<br />

(b) Aplicar ν1 iterações de um algoritmo de relaxação ao sist<strong>em</strong>a,<br />

relax¢Ah£bh£ν1¤.<br />

xh¡<br />

(c) Calcular o resíduo resultante <strong>do</strong> processo de relaxação, rh¡bhAhxh<br />

(d) Projectar o resíduo para o nível inferior, b2h¡P 2h<br />

h rh<br />

(e) Calcular x2h¡MG 2h¢A2h£b2h¤<br />

(f) Interpolar a solução no nível inferior, eh¡I h 2hx2h (g) Ajustar a solução, xh¡xheh<br />

(h) Aplicar ν1 iterações de um algoritmo de relaxação ao sist<strong>em</strong>a,<br />

relax¢Ah£bh£ν2¤.<br />

xh¡


4.1. MULTIGR<strong>ID</strong> 51<br />

Este algoritmo consiste num ciclo V, pois é a forma desta letra que suger<strong>em</strong> os pas-<br />

sos que ele toma, da<strong>do</strong> que se projecta sucessivamente o probl<strong>em</strong>a até ao nível inferior,<br />

resolve-se o sist<strong>em</strong>a nesse nível e se interpolam sucessivamente as soluções à medida que<br />

se vão fazen<strong>do</strong> as correcções. Como isto é feito uma vez por iteração, ou ciclo, estamos<br />

perante o Multigrid de Ciclo-V.<br />

Como no MG se faz<strong>em</strong> apenas duas ou três iterações de relaxação de cada vez, o<br />

algoritmo de relaxação nele utiliza<strong>do</strong> será o méto<strong>do</strong> de Gauss-Seidel, pois, como se pode<br />

ver pela figura 3.3, foi o méto<strong>do</strong> que apresentou a melhor característica de convergência<br />

para um número reduzi<strong>do</strong> de iterações.<br />

De seguida apresenta-se a versão mais geral <strong>do</strong> Multigrid, o Full Multigrid Cycle.<br />

4.1.3 Full Multigrid Cycle<br />

Neste algoritmo, <strong>em</strong> vez de se descer até ao nível inferior e depois subir, o probl<strong>em</strong>a é<br />

r<strong>em</strong>eti<strong>do</strong> directamente para o nível mais baixo, onde é resolvi<strong>do</strong>, e, de forma sucessiva, as<br />

soluções obtidas nos níveis mais baixos vão sen<strong>do</strong> interpoladas e servin<strong>do</strong> de aproximação<br />

inicial para a resolução <strong>do</strong> probl<strong>em</strong>a nos níveis superiores.<br />

O pseu<strong>do</strong>-código apresenta-se no Algoritmo 6.<br />

Algoritmo 6 Full Multigrid, xh¡FMG h¢Ah£bh¤.<br />

1. Se se estiver perante o nível mais grosseiro, usar como aproximação inicial o vector<br />

nulo, resolver o sist<strong>em</strong>a e retornar o resulta<strong>do</strong>. Em caso contrário prosseguir.<br />

2. Projectar o la<strong>do</strong> direito <strong>do</strong> sist<strong>em</strong>a, b2h¡P 2h<br />

h bh<br />

3. Calcular x2h¡FMG 2h¢A2h£b2h¤<br />

4. Interpolar a solução obtida no nível inferior, xh¡I h 2hx2h 5. Aplicar ν0 iterações de um algoritmo de relaxação ao sist<strong>em</strong>a,<br />

relax¢Ah£bh£ν0¤.<br />

xh¡<br />

Como se pode observar, as principais diferenças <strong>em</strong> relação ao algoritmo MG são:<br />

Não é o resíduo, r, que é projecta<strong>do</strong>, mas sim o vector b, da<strong>do</strong> que o que se quer<br />

fazer é obter uma representação <strong>do</strong> probl<strong>em</strong>a no nível mais baixo;


52 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

h<br />

2h<br />

4h<br />

8h<br />

Figura 4.5: Multigrid de ciclo completo.<br />

Não é o erro, e, que é interpola<strong>do</strong>, mas sim a aproximação inicial para o vector<br />

solução, x.<br />

A evolução <strong>do</strong> ciclo descrito por este algoritmo está ilustrada na Figura 4.5.<br />

4.2 Multigrid Preconditioned Conjugate Gradient<br />

Na secção 3.2.3 foi referida a forma como o CG é pré-condiciona<strong>do</strong>, através <strong>do</strong> uso da<br />

matriz de pré-condicionamento, M. O passo principal de pré-condicionamento é, no PCG,<br />

a multiplicação r¡M1 z. Ora, isto não é mais que resolver o sist<strong>em</strong>a Mr¡z. No<br />

MGPCG, este passo é efectua<strong>do</strong> por uma (eventualmente duas) iterações de Multigrid,<br />

i.e., r¡MG¢M£z¤. O facto de se efectuar<strong>em</strong> apenas uma ou duas iterações de MG no<br />

passo de pré-condicionamento <strong>do</strong> MGPCG não inviabiliza a sua convergência, da<strong>do</strong> que<br />

este passo é apenas uma aproximação da solução <strong>do</strong> sist<strong>em</strong>a e não exige um resulta<strong>do</strong><br />

exacto.<br />

O pseu<strong>do</strong>-código <strong>do</strong> MGPCG apresenta-se no Algoritmo 7.<br />

4.3 Análise <strong>do</strong> Des<strong>em</strong>penho <strong>do</strong> Algoritmo Multigrid<br />

Nesta secção são apresenta<strong>do</strong>s um estu<strong>do</strong> sobre a complexidade <strong>do</strong> Multigrid e a análise<br />

detalhada <strong>do</strong>s parâmetros e factores que afectam o seu des<strong>em</strong>penho.


4.3. ANÁLISE DO DESEMPENHO DO ALGORITMO MULTIGR<strong>ID</strong> 53<br />

Algoritmo 7 MGPCG, Multigrid Preconditioned Conjugate Gradient.<br />

1. Sejam r0¡bAx0, z0¡M1 r0 e p0¡z0.<br />

2. Para j¡0£1££até<br />

3. α¡<br />

r<br />

convergir:<br />

jz<br />

Ap jp j j<br />

4. x j1¡x jα j p j<br />

5. r j1¡r jα jAp j<br />

j1¤<br />

j1 j<br />

6. z j1¡MG¢M£r<br />

7.<br />

j1z<br />

β j¡rr jz<br />

8. p j1¡z j1β j p j<br />

4.3.1 Análise da Complexidade <strong>do</strong> Multigrid<br />

Nesta secção é analisada a complexidade da versão mais simples <strong>do</strong> Multigrid: o Multi-<br />

grid Ciclo-V. São feitas estimativas <strong>do</strong> número de operações que o algoritmo comporta,<br />

assim como <strong>do</strong>s seus requisitos de m<strong>em</strong>ória.<br />

Nos cálculos que se segu<strong>em</strong>, assume-se que o tipo de projecção usada é a projecção<br />

transposta, pois, como será d<strong>em</strong>onstra<strong>do</strong> na secção 4.3.2, é a única que providencia ro-<br />

bustez ao MG na resolução deste probl<strong>em</strong>a.<br />

Complexidade T<strong>em</strong>poral<br />

De seguida será contabiliza<strong>do</strong> o número de operações aritméticas de cada um <strong>do</strong>s passos<br />

<strong>do</strong> Multigrid Ciclo-V apresenta<strong>do</strong> no Algoritmo 5. Nestes cálculos, assume-se que as<br />

matrizes têm <strong>em</strong> cada linha tantos el<strong>em</strong>entos não nulos quanto o número de diagonais da<br />

matriz. Isto não se verifica para as linhas correspondentes a nós fronteira, mas como o seu<br />

número é desprezável face à dimensão da matriz, pode ignorar-se esse pormenor s<strong>em</strong> uma<br />

perda significativa de rigor. Será usada a notação D para o número de diagonais da matriz<br />

de sist<strong>em</strong>a e N para a sua dimensão, corresponden<strong>do</strong> a uma discretização de m n d.


54 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

Relaxação de Gauss-Seidel Na relaxação de Gauss-Seidel (Equação 3.8), faz-se a mul-<br />

tiplicação da parte triangular superior de A por x, ou seja, Ux. Como U t<strong>em</strong> apenas 3<br />

diagonais, no produto Ux t<strong>em</strong>-se para cada linha 3 multiplicações e 2 adições. No total,<br />

e no caso genérico de uma matriz de D diagonais, têm-se aproximadamente¢D1¤N<br />

multiplicações e¢D2¤N adições.<br />

No cálculo <strong>do</strong> resíduo da relaxação, bUx, têm-se simplesmente N adições.<br />

Quanto ao passo de substituição descendente, está-se a sist<strong>em</strong>a¢LD¤x¡<br />

resolver o<br />

b. Na primeira linha t<strong>em</strong>-se x1¡b1 . Na segunda, x2¡b2a21x1 e por aí <strong>em</strong> diante. Nu-<br />

a11 a11<br />

ma linha genérica, com 4 el<strong>em</strong>entos (LD t<strong>em</strong> 4 diagonais), têm-se 3 multiplicações,<br />

3 adições e 1 divisão. No total, e consideran<strong>do</strong> uma matriz de D diagonais, são aproxi-<br />

madamente¢D1¤N multiplicações,¢D1¤N adições e N divisões.<br />

Como normalmente se faz<strong>em</strong> duas iterações de Gauss-Seidel por iteração de MG, há<br />

que multiplicar o número de operações deste passo por <strong>do</strong>is. Na equação (4.9) t<strong>em</strong>-se o<br />

total de operações para este passo <strong>do</strong> Multigrid, <strong>em</strong> que©representa as multiplicações,<br />

¨as adições eas divisões.<br />

#op¢GS¤¡2 ¢D1¤N©¢D1¤N¨N (4.9)<br />

Cálculo <strong>do</strong> Resíduo O cálculo <strong>do</strong> resíduo <strong>do</strong> Multigrid (Algoritmo 5) comporta DN<br />

multiplicações (Ax) e N adições (bAx). Na equação (4.11) t<strong>em</strong>-se o número de operações<br />

para este passo.<br />

#op¢res¤¡DN©N¨ (4.10)<br />

Suavização <strong>do</strong> Resíduo No algoritmo de suavização <strong>do</strong> resíduo (4.3.2) faz<strong>em</strong>-se <strong>do</strong>is<br />

produtos internos (2N multiplicações), duas multiplicações escalar-vector (2N multipli-<br />

cações) e quatro adições de vectores (4N adições). O número de operações para o MRS<br />

é, portanto:<br />

#op¢MRS¤¡4N©4N¨ (4.11)


4.3. ANÁLISE DO DESEMPENHO DO ALGORITMO MULTIGR<strong>ID</strong> 55<br />

Projecção Não é simples estimar o número exacto de operações correspondente à pro-<br />

jecção <strong>do</strong> resíduo, pois o número de el<strong>em</strong>entos não nulos <strong>do</strong> projector depende <strong>do</strong> proble-<br />

ma. No caso da projecção transposta, o opera<strong>do</strong>r de projecção é o transposto <strong>do</strong> opera<strong>do</strong>r<br />

de interpolação. Por sua vez, o opera<strong>do</strong>r de interpolação t<strong>em</strong> de reflectir a dependência<br />

de cada nó da grelha h de 26 nós da grelha 2h, pelo que cada linha <strong>do</strong> interpola<strong>do</strong>r terá<br />

no máximo 26 el<strong>em</strong>entos não nulos. Usan<strong>do</strong> este valor como sobrestimativa e saben<strong>do</strong><br />

que P 2h<br />

h ¡¢I<br />

h 2h¤T t<strong>em</strong>-se 26N multiplicações e 25N adições no produto b2h¡P 2h<br />

h rh. Na<br />

equação (4.12) apresenta-se o número de operações para o passo de projecção.<br />

#op¢pro j¤¡26N©25N¨ (4.12)<br />

Interpolação Pelo que foi exposta na subsecção anterior o cálculo <strong>do</strong> número de operações<br />

<strong>do</strong> passo de interpolação, eh¡I h 2h x2h, <strong>do</strong> Multigrid é:<br />

(4.13)<br />

#op¢inter¤¡26N©25N¨<br />

Ajuste da Solução O ajuste da solução, xh¡xheh, consta de N adições:<br />

#op¢a juste¤¡N¨ (4.14)<br />

Norma <strong>do</strong> Resíduo O cálculo da norma <strong>do</strong> resíduo é da<strong>do</strong> por:<br />

r¡r1 2r2 2rN 2£r¡r1£r2££rNT<br />

(4.15)<br />

pelo que comporta o equivalente a 2N multiplicações e 2N1 adições (desprezan<strong>do</strong> o<br />

cálculo da raiz quadrada). Logo:<br />

#op¢norma res¤¡2N©¢2N1¤¨<br />

(4.16)<br />

Total de operações <strong>do</strong> Multigrid Ciclo-V Pela estrutura <strong>do</strong> Multigrid, há que contabi-<br />

lizar as operações relativas a to<strong>do</strong>s os níveis. No nível h têm-se um sist<strong>em</strong>a de m n d.<br />

No nível 2h passa-se para um sist<strong>em</strong>a de m1 n1 d1<br />

2 2 2<br />

dade nos <strong>do</strong>is níveis é dada por:<br />

. A relação entre a complexi


56 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

m n d<br />

m1<br />

2 n1<br />

2 d1<br />

2 8 (4.17)<br />

Isto é, quan<strong>do</strong> se passa <strong>do</strong> nível superior para o segun<strong>do</strong> nível a complexidade com-<br />

putacional reduz-se <strong>em</strong> cerca de 8 vezes. Por sua vez, <strong>em</strong> relação ao primeiro nível o ter-<br />

ceiro nível t<strong>em</strong> uma complexidade cerca de 64 vezes inferior. Isto corresponde à seguinte<br />

série:<br />

l1<br />

∑<br />

i0<br />

1<br />

8i¦ 1<br />

(4.18)<br />

11<br />

8<br />

<strong>em</strong> que l é o número de níveis.<br />

Aproveitan<strong>do</strong> os resulta<strong>do</strong>s das anteriores t<strong>em</strong>-se para o primeiro nível <strong>do</strong> MG:<br />

se:<br />

(4.19)<br />

Consideran<strong>do</strong> que no primeiro nível a matriz principal t<strong>em</strong> 7 diagonais (D¡7) t<strong>em</strong>-<br />

#op¢MG1¤¢3D56¤N©¢2D56¤N¨2N<br />

(4.20)<br />

#op¢MG1¤77N©70N¨2N<br />

No segun<strong>do</strong> nível, e posteriores, verificou-se experimentalmente que para o caso da<br />

projecção transposta as matrizes de sist<strong>em</strong>a, A2h, A4h, etc., têm 27 1 diagonais, pelo que:<br />

#op¢MG2¤137 N<br />

8©110 N 8¨2 N<br />

(4.21)<br />

No total, e aproveitan<strong>do</strong> o resulta<strong>do</strong> da Equação (4.18), têm-se para o número de<br />

8<br />

operações <strong>do</strong> Multigrid Ciclo-V:<br />

(4.22)<br />

#op¢MG¤97N©86N¨2N<br />

Estes cálculos não são exactos, pois, além das aproximações já referidas, despreza-<br />

ram-se os t<strong>em</strong>pos de acesso aos el<strong>em</strong>entos das matrizes esparsas e fizeram-se aproximações<br />

assimptóticas.<br />

1 Este número está obviamente relaciona<strong>do</strong> com a dependência <strong>do</strong>s 26 nós circundantes quan<strong>do</strong> se pro-<br />

jecta o probl<strong>em</strong>a com a projecção transposta.


4.3. ANÁLISE DO DESEMPENHO DO ALGORITMO MULTIGR<strong>ID</strong> 57<br />

Complexidade <strong>do</strong> T<strong>em</strong>po de Setup O t<strong>em</strong>po de setup <strong>do</strong> MG é <strong>do</strong>mina<strong>do</strong> pelo t<strong>em</strong>po<br />

de obtenção das matrizes de sist<strong>em</strong>a nos níveis inferiores através da fórmula:<br />

A2h¡P 2h<br />

h AhI h 2h<br />

(4.23)<br />

Para o primeiro nível, as dimensões das matrizes usadas na equação anterior são as<br />

seguintes: N<br />

8 N<br />

N<br />

8¡ N NN 8 N N<br />

Em termos computacionais é mais vantajoso fazer primeiro o produto AI e multiplicar<br />

8<br />

(4.24)<br />

o resulta<strong>do</strong> por P <strong>do</strong> que calcular PA e somente depois multiplicar por I. Isto acontece<br />

porque o produto PA t<strong>em</strong> mais el<strong>em</strong>entos não nulos que o produto AI, pelo que seriam<br />

t<strong>em</strong>porariamente aloca<strong>do</strong>s mais el<strong>em</strong>entos no primeiro caso.<br />

Para o produto AI t<strong>em</strong>-se N 7 N 8¡7 8 N 2 multiplicações. Tanto a matriz que resulta<br />

<strong>do</strong> produto AI como P têm 27 diagonais, pelo que P AI consta de N 8 27 N 8¡27<br />

64 N 2<br />

multiplicações.<br />

No total, o produto PAI no primeiro nível engloba cerca de 83<br />

64 N2 multiplicações pelo<br />

que o t<strong>em</strong>po de setup <strong>do</strong> MG t<strong>em</strong> complexidade O¢N 2¤. Usan<strong>do</strong> novamente o resulta<strong>do</strong><br />

de 4.18 t<strong>em</strong>-se para o setup de to<strong>do</strong>s os níveis um número de operações:<br />

Complexidade de M<strong>em</strong>ória<br />

#op¢setup¤¡83<br />

56 N2<br />

(4.25)<br />

Tal como na análise da complexidade t<strong>em</strong>poral <strong>do</strong> Multigrid aqui assume-se que uma<br />

matriz com D diagonais t<strong>em</strong> D el<strong>em</strong>entos <strong>em</strong> qualquer das suas linhas. As estruturas<br />

mais relevantes <strong>em</strong> termos de ocupação de m<strong>em</strong>ória são as matrizes A, P, I e os vectores<br />

b, x, r e e.<br />

Para o primeiro nível, os requisitos de m<strong>em</strong>ória estão ilustra<strong>do</strong>s na Tabela 4.1. No<br />

segun<strong>do</strong> nível, e como já foi explica<strong>do</strong> anteriormente, a matriz A t<strong>em</strong> 27 diagonais. A<br />

m<strong>em</strong>ória ocupada neste nível pelas estruturas mais relevantes está na Tabela 4.2.<br />

No total, e usan<strong>do</strong> novamente o resulta<strong>do</strong> de (4.18), o Multigrid de Ciclo-V ocupa<br />

aproximadamente:


58 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

Estrutura Número de el<strong>em</strong>entos<br />

A 7N<br />

P 26N<br />

I 26N<br />

vectores 4N<br />

Total 63N<br />

Tabela 4.1: Requisitos de m<strong>em</strong>ória para o primeiro nível <strong>do</strong> Multigrid.<br />

Estrutura Número de el<strong>em</strong>entos<br />

A 27 N 8<br />

P 26 N 8<br />

I 26 N 8<br />

vectores 4 N 8<br />

Total 10N<br />

Tabela 4.2: Requisitos de m<strong>em</strong>ória para o segun<strong>do</strong> nível <strong>do</strong> Multigrid.<br />

m<strong>em</strong>¢MG¤75N el<strong>em</strong>entos (4.26)<br />

Um probl<strong>em</strong>a de 129 129 129 numa máquina de 64-bit ocupará, portanto:<br />

75 129 129 129 812GB (4.27)<br />

Experimentalmente verifica-se que este número se aproxima de 1.5 GB devi<strong>do</strong> à<br />

ocupação das estruturas de acesso às matrizes esparsas e outras estruturas auxiliares.<br />

Nas Tabelas 4.3 e 4.4 comparam-se o número de operações e os requisitos de m<strong>em</strong>ória<br />

para os diversos méto<strong>do</strong>s apresenta<strong>do</strong>s.<br />

Como foi visto, o méto<strong>do</strong> GE apresenta uma complexidade um pouco acima de qua-<br />

drática, sen<strong>do</strong> de prever que seja o pior méto<strong>do</strong> para resolver este probl<strong>em</strong>a. Segu<strong>em</strong>-se<br />

os méto<strong>do</strong>s de relaxação, que <strong>em</strong>bora ocup<strong>em</strong> dez vezes mais m<strong>em</strong>ória, possu<strong>em</strong> uma<br />

complexidade aproximadamente linear. Quanto ao GMRES, este apresenta uma complex-<br />

idade dependente <strong>do</strong> número de iterações <strong>do</strong> algoritmo, pelo que será somente vantajoso<br />

quan<strong>do</strong> se verificar que o probl<strong>em</strong>a é resolúvel num reduzi<strong>do</strong> número de iterações. O CG


4.3. ANÁLISE DO DESEMPENHO DO ALGORITMO MULTIGR<strong>ID</strong> 59<br />

Méto<strong>do</strong> Divisões Multiplicações Adições<br />

GE N 5 3 N 7 3 N 7 3<br />

Jacobi - 7N 6N<br />

GS N 6N 6N<br />

SOR N 7N 7N<br />

GMRES mN m¢m7¤Nm 3<br />

2<br />

3<br />

m¢m6¤Nm<br />

2<br />

CG - 13N 12N<br />

PCG 2N 19N 18N<br />

MG 2N 97N 86N<br />

Tabela 4.3: Número de operações para os diversos méto<strong>do</strong>s apresenta<strong>do</strong>s, consideran<strong>do</strong><br />

m¡n¡d¡3N.<br />

apresenta, por sua vez, uma complexidade na ord<strong>em</strong> de linear, <strong>em</strong>bora o peso por iteração<br />

e os requisitos de m<strong>em</strong>ória sejam superiores aos <strong>do</strong>s méto<strong>do</strong>s de relaxação. Os méto<strong>do</strong>s<br />

de Krylov pré-condiciona<strong>do</strong>s requer<strong>em</strong> a reserva adicional de m<strong>em</strong>ória para guardar a<br />

matriz de pré-condicionamento, mas espera-se que apresent<strong>em</strong> um número de iterações<br />

compensatório. Em relação ao MG é de notar que os valores apresenta<strong>do</strong>s tanto para o<br />

número de operações como para os requisitos de m<strong>em</strong>ória são sobre-estimativas, da<strong>do</strong><br />

que não é trivial calcular com exactidão o número de el<strong>em</strong>entos não nulos <strong>do</strong>s opera<strong>do</strong>res<br />

de projecção e interpolação, ten<strong>do</strong>-se usa<strong>do</strong> um majorante. Quanto maior for o número de<br />

el<strong>em</strong>entos não nulos destes opera<strong>do</strong>res, maiores são a quantidade de m<strong>em</strong>ória necessária<br />

pelo MG e o seu t<strong>em</strong>po de iteração. No entanto, não deixa de ser claro que o MG é de<br />

to<strong>do</strong>s o algoritmo com maiores requisitos de m<strong>em</strong>ória e t<strong>em</strong>po de iteração, mas devi<strong>do</strong><br />

à sua característica de convergência, espera-se que o seu t<strong>em</strong>po total de execução seja<br />

inferior ao <strong>do</strong>s outros algoritmos.<br />

4.3.2 Parâmetros e Factores que Afectam o Des<strong>em</strong>penho <strong>do</strong> Multi-<br />

grid<br />

De seguida são enumera<strong>do</strong>s os diferentes parâmetros e factores que influenciam o des<strong>em</strong>-<br />

penho <strong>do</strong> algoritmo Multigrid.<br />

Para se ilustrar o impacto que cada um <strong>do</strong>s parâmetros t<strong>em</strong> na execução <strong>do</strong> algoritmo,


60 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

Méto<strong>do</strong> Número de El<strong>em</strong>entos<br />

GE N 5 3<br />

Jacobi 10N<br />

GS 10N<br />

SOR 11N<br />

GMRES<br />

¢13m¤ Nm 2<br />

2<br />

CG 12N<br />

PGMRES<br />

¢20m¤ Nm 2<br />

2<br />

PCG 19N<br />

MG 75N<br />

Tabela 4.4: Requisitos de m<strong>em</strong>ória para os diversos méto<strong>do</strong>s apresenta<strong>do</strong>s, consideran<strong>do</strong><br />

m¡n¡d¡3N.<br />

apresentar-se-ão, quan<strong>do</strong> conveniente, resulta<strong>do</strong>s sobre a extracção <strong>do</strong> modelo <strong>do</strong> circuito<br />

cujo layout e perfil <strong>do</strong> substrato se apresentam nas Figuras 4.6 e 4.7.<br />

Discretização<br />

O número de cortes que se faz<strong>em</strong> no substrato <strong>em</strong> cada direcção está directamente rela-<br />

ciona<strong>do</strong> com a complexidade <strong>do</strong> probl<strong>em</strong>a a resolver, b<strong>em</strong> como com a precisão da<br />

solução obtida.<br />

Uma das principais limitações deste algoritmo basea<strong>do</strong> no méto<strong>do</strong> das diferenças fini-<br />

tas é, mesmo representan<strong>do</strong> as matrizes, esparsas, de forma compacta, a m<strong>em</strong>ória ocupada<br />

pelo mesmo. Isto verifica-se porque o FDM exige a discretização de to<strong>do</strong> o <strong>do</strong>mínio. Este<br />

probl<strong>em</strong>a é ainda acentua<strong>do</strong> pela necessidade <strong>do</strong> MG <strong>em</strong> manter <strong>em</strong> m<strong>em</strong>ória as estru-<br />

turas para as matrizes P, A e I para os vários níveis. Logo, uma discretização elevada pode<br />

inviabilizar a execução da ferramenta conforme os recursos computacionais disponíveis.<br />

Como já foi dito, um probl<strong>em</strong>a de 129 129 129 ocupa cerca de 1.5 GB de m<strong>em</strong>ória.<br />

No entanto, o número de cortes <strong>em</strong> z nunca é tão eleva<strong>do</strong> como o número de cortes <strong>em</strong><br />

x e y, da<strong>do</strong> que os contactos têm to<strong>do</strong>s a mesma profundidade, b<strong>em</strong> como os poços e<br />

guard-rings, e o substrato t<strong>em</strong> poucas camadas <strong>em</strong> relação ao número de dispositivos <strong>do</strong><br />

circuito. Admitin<strong>do</strong>, então, que apenas 9 cortes são necessários <strong>em</strong> z, pod<strong>em</strong>, com os


4.3. ANÁLISE DO DESEMPENHO DO ALGORITMO MULTIGR<strong>ID</strong> 61<br />

100<br />

100 100<br />

contacto<br />

2x2<br />

10<br />

100 100<br />

poço<br />

4x4<br />

100<br />

Figura 4.6: Vista de topo da configuração de teste 1.<br />

backplane<br />

Condutividade = 1 Ohm cm<br />

Condutividade = 15 Ohm cm<br />

1 4<br />

Figura 4.7: Vista lateral da configuração de teste 1.<br />

0<br />

-1<br />

-4<br />

-10<br />

-100


62 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

Discretização Resistência <strong>do</strong> contacto<br />

x y z para o backplane (Ω)<br />

9x9x9 3.247234e+02<br />

17x17x17 5.991128e+02<br />

33x33x33 7.255608e+02<br />

65x65x65 9.302068e+02<br />

129x129x129 1.062022e+03<br />

Tabela 4.5: Influência <strong>do</strong> nível de discretização não-uniforme na precisão <strong>do</strong> resulta<strong>do</strong><br />

obti<strong>do</strong>. Valores obti<strong>do</strong>s para a resistência entre o contacto e o backplane na configuração<br />

da Figura 4.6.<br />

Discretização Resistência <strong>do</strong> contacto<br />

x y z para o backplane (Ω)<br />

9x9x9 3.247234e+02<br />

17x17x17 4.967046e+02<br />

33x33x33 9.239664e+02<br />

65x65x65 1.164496e+03<br />

129x129x129 1.168738e+03<br />

Tabela 4.6: Influência <strong>do</strong> nível de discretização não-uniforme adaptável na precisão <strong>do</strong><br />

resulta<strong>do</strong> obti<strong>do</strong>. Valores obti<strong>do</strong>s para a resistência entre o contacto e o backplane na<br />

configuração da Figura 4.6.<br />

mesmos 1.5 GB de m<strong>em</strong>ória, resolver-se probl<strong>em</strong>as de complexidade 513 513 9.<br />

Aplican<strong>do</strong> os <strong>do</strong>is tipos de discretização, não-uniforme e não-uniforme adaptável, e<br />

varian<strong>do</strong> o nível de discretização, obtêm-se os resulta<strong>do</strong>s que se apresentam nas Tabelas<br />

4.5 e 4.6. Como se pode ver, para uma discretização de 17 17 17 a discretização<br />

não-uniforme apresenta um valor mais preciso que a discretização adaptável. Isto acon-<br />

tece, porque como ainda há poucos cortes para distribuir é praticamente irrelevante que<br />

algoritmo de discretização se está a usar. No entanto, conforme se vai discretizan<strong>do</strong> mais<br />

profusamente o substrato – e repare-se que este aumento não é linear – o méto<strong>do</strong> de<br />

discretização adaptável começa a produzir resulta<strong>do</strong>s melhores.


4.3. ANÁLISE DO DESEMPENHO DO ALGORITMO MULTIGR<strong>ID</strong> 63<br />

Valor da resistência extraída (Ohm)<br />

1200<br />

1100<br />

1000<br />

900<br />

800<br />

700<br />

600<br />

500<br />

400<br />

10 2<br />

300<br />

Discretização não−uniforme<br />

Discretização adaptável<br />

10 3<br />

10 4<br />

10 5<br />

Número de nós da grelha utilizada<br />

Figura 4.8: Evolução da resistência extraída com o nível de discretização.<br />

Não foi possível correr esta extracção com o nível seguinte de discretização (257<br />

257 257) por limitações de m<strong>em</strong>ória. No entanto, aplican<strong>do</strong> um algoritmo de extrapo-<br />

lação por aproximação a uma função racional [39] pode estimar-se o valor da resistência<br />

extraída para cada tipo de discretização, caso tivess<strong>em</strong> si<strong>do</strong> aplica<strong>do</strong>s 257 257 257<br />

cortes. Esses valores são:<br />

Discretização não-uniforme: 1.088406e+03 Ω<br />

Discretização adaptável: 1.174503e+03 Ω<br />

O méto<strong>do</strong> das diferenças finitas tende para precisão infinita (erro tende para zero) à<br />

medida que o espaçamento entre cortes tende para zero. O valor da resistência para o qual<br />

ambos os méto<strong>do</strong>s de discretização converg<strong>em</strong> é, teoricamente, o valor exacto, <strong>em</strong>bora se<br />

verifique que essa evolução é mais rápida quan<strong>do</strong> se usa a discretização adaptável, por se<br />

ter <strong>em</strong> conta a localização específica <strong>do</strong>s contactos.<br />

No entanto, a discretização adaptável não traz só vantagens. Devi<strong>do</strong> às diferenças de<br />

espaçamento entre os cortes <strong>em</strong> cada direcção, e como a condutividade <strong>do</strong> meio é con-<br />

siderada constante dentro de cada camada, este tipo de discretização origina entradas de<br />

valores muito diferentes na matriz de sist<strong>em</strong>a. T<strong>em</strong>-se, portanto, que o condicionamento<br />

da matriz de sist<strong>em</strong>a, A, <strong>em</strong> cada um <strong>do</strong>s méto<strong>do</strong>s de discretização, é significativamente<br />

diferente, como se pode ver pela Tabela 4.7.<br />

10 6<br />

10 7


64 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

Discretização Discretização<br />

Não-uniforme Adaptável<br />

Ah 2.2058e+04 3.6349e+05<br />

A2h 2.1370e+03 5.9661e+04<br />

A4h 452.7323 4.1168e+03<br />

A8h 170.3852 709.5211<br />

A16h 193.8273 10.6972<br />

Tabela 4.7: Condicionamento da matriz de sist<strong>em</strong>a consoante o méto<strong>do</strong> de discretização<br />

utiliza<strong>do</strong>. Quanto maior for o número de condição da matriz, maior é a dificuldade <strong>em</strong><br />

resolver o respectivo sist<strong>em</strong>a.<br />

Isto leva a que a utilização da discretização adaptável atrase ou impossibilite a con-<br />

vergência <strong>do</strong> MG, pelo que n<strong>em</strong> s<strong>em</strong>pre deve ser utilizada.<br />

Número de Níveis<br />

Na determinação <strong>do</strong> número de níveis a utilizar num algoritmo Multigrid há que ter <strong>em</strong><br />

conta que o sist<strong>em</strong>a irá ser resolvi<strong>do</strong> à precisão máxima no nível inferior. Se o número<br />

de níveis for diminuto, existe o risco de o probl<strong>em</strong>a de nível inferior ser ainda d<strong>em</strong>asia<strong>do</strong><br />

complexo e perder-se muito t<strong>em</strong>po nesse nível.<br />

Na Tabela 4.8, apresenta-se a evolução <strong>do</strong> t<strong>em</strong>po de execução <strong>do</strong> algoritmo face ao<br />

número de níveis escolhi<strong>do</strong>. O teste <strong>em</strong> questão foi efectua<strong>do</strong> sobre o ex<strong>em</strong>plo da Figura<br />

4.6 com uma discretização de 129 129 129, o que permite um máximo de 7 níveis.<br />

Conclui-se, pelos resulta<strong>do</strong>s apresenta<strong>do</strong>s na tabela, que é necessário descer 2 níveis,<br />

pelo menos, para que se obtenha um des<strong>em</strong>penho razoável. Não há desvantag<strong>em</strong> <strong>em</strong><br />

<strong>em</strong>pregar o número máximo de níveis, pois, como se pode ver, até é com ele que se<br />

obtém o menor t<strong>em</strong>po de execução.<br />

Tipo de Projecção<br />

Verifica-se que, para este tipo de aplicação <strong>do</strong> MG, apenas a projecção transposta é robus-<br />

ta. As outras duas pod<strong>em</strong> levar a resulta<strong>do</strong>s erróneos. A causa deste probl<strong>em</strong>a é explicada<br />

através <strong>do</strong> ex<strong>em</strong>plo que se segue.


4.3. ANÁLISE DO DESEMPENHO DO ALGORITMO MULTIGR<strong>ID</strong> 65<br />

Número de níveis T<strong>em</strong>po de execução (s)<br />

1 2101.88<br />

2 743.06<br />

3 650.65<br />

4 638.05<br />

5 638.92<br />

6 638.98<br />

7 635.44<br />

Tabela 4.8: Evolução <strong>do</strong> t<strong>em</strong>po de execução <strong>do</strong> Multigrid <strong>em</strong> função <strong>do</strong> número de níveis.<br />

21 22 23 24 25<br />

16 17 18 19 20<br />

11 12 13 14 15<br />

6 7 8 9 10<br />

1 2 3 4 5<br />

Figura 4.9: Probl<strong>em</strong>a das projecções directa e pesada.


66 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

A Figura 4.9 representa uma vista de topo da discretização de um substrato com ape-<br />

nas um contacto. A zona a traceja<strong>do</strong> representa o contacto, ou seja, uma zona de fontes<br />

de corrente correspondentes ao equivalente de Norton da tensão imposta no contacto. Se<br />

esta não existisse, o sist<strong>em</strong>a não teria solução única, que, como se verá adiante, é o que<br />

acontece <strong>em</strong> níveis inferiores caso se us<strong>em</strong> as projecções directa ou pesada.<br />

No segun<strong>do</strong> nível de MG, só os nós assinala<strong>do</strong>s com uma circunferência permanec<strong>em</strong>,<br />

no entanto, ainda existe um nó a impor corrente, o 13. Quan<strong>do</strong> se passa para o terceiro<br />

nível, o nó 13 desaparece, fican<strong>do</strong> apenas os nós duplamente assinala<strong>do</strong>s. Ora, neste nível,<br />

está-se perante um sist<strong>em</strong>a de: solução arbitrária, na ausência de backplane, ou solução<br />

nula (x¡0), na presença de backplane 2 , da<strong>do</strong> que este impõe o potencial de 0V <strong>em</strong> to<strong>do</strong>s<br />

os nós da grelha.<br />

É legítimo pensar que este probl<strong>em</strong>a só se verifica com a projecção directa, pois é a<br />

única que não t<strong>em</strong> <strong>em</strong> consideração os valores <strong>do</strong>s nós adjacentes aquan<strong>do</strong> da projecção,<br />

mas o probl<strong>em</strong>a existe também para a projecção pesada. Esta última, também chamada<br />

de half-weighting, padece da mesma deficiência porque t<strong>em</strong> apenas <strong>em</strong> consideração um<br />

sub-conjunto <strong>do</strong>s nós adjacentes ao nó projecta<strong>do</strong>. A projecção pesada funciona para um<br />

universo de probl<strong>em</strong>as que engloba os probl<strong>em</strong>as resolúveis com a projecção directa.<br />

Verifica-se que só a projecção transposta, por ter <strong>em</strong> conta to<strong>do</strong>s os 26 nós adjacentes<br />

ao nó projecta<strong>do</strong>, funciona para to<strong>do</strong> o tipo de probl<strong>em</strong>as testa<strong>do</strong>s.<br />

Na Tabela 4.9 apresentam-se os valores <strong>do</strong> des<strong>em</strong>penho de cada uma das projecções<br />

na resolução <strong>do</strong> probl<strong>em</strong>a da Figura 4.6. Como se pode observar a projecção transposta<br />

é a que apresenta a melhor convergência (menor número de iterações). No entanto, este<br />

tipo de projecção é também a que comporta um maior custo por iteração, pelo que não<br />

é óbvio que a projecção transposta apresente o menor t<strong>em</strong>po de execução. À parte <strong>do</strong><br />

facto de a projecção transposta ser a única que garante a preservação das características<br />

<strong>do</strong> sist<strong>em</strong>a nos vários níveis, ela só é vantajosa <strong>em</strong> termos de des<strong>em</strong>penho, quan<strong>do</strong> o<br />

respectivo número de iterações for baixo o suficiente para compensar o excesso de t<strong>em</strong>po<br />

gasto no setup e por iteração. No entanto, como a correcção da solução obtida é prioritária<br />

<strong>em</strong> relação ao des<strong>em</strong>penho <strong>do</strong> algoritmo, as projecções directa e pesada não têm aqui<br />

2 É de notar que, <strong>em</strong>bora alguns <strong>do</strong>s nós <strong>do</strong> backplane desapareçam devi<strong>do</strong> às operações de projecção,<br />

haverá s<strong>em</strong>pre pelo menos quatro nós liga<strong>do</strong>s à massa, por se tratar<strong>em</strong> de nós fronteira (cantos inferiores<br />

<strong>do</strong> substrato).


4.3. ANÁLISE DO DESEMPENHO DO ALGORITMO MULTIGR<strong>ID</strong> 67<br />

Tipo de Número de T<strong>em</strong>po de T<strong>em</strong>po de T<strong>em</strong>po por T<strong>em</strong>po<br />

projecção iterações setup resolução iteração total<br />

Directa 45 44.11 630.81 14.02 674.92<br />

Pesada 30 212.99 458.77 15.29 671.75<br />

Transposta 21 268.56 339.47 16.17 608.04<br />

Tabela 4.9: Des<strong>em</strong>penho <strong>do</strong> Multigrid face ao tipo de projecção utiliza<strong>do</strong>.<br />

utilidade prática.<br />

Número de Iterações T<strong>em</strong>po de execução<br />

Com Backplane 21 608.04<br />

S<strong>em</strong> Backplane 30 778.33<br />

Tabela 4.10: Influência <strong>do</strong> backplane no des<strong>em</strong>penho <strong>do</strong> Multigrid.<br />

Presença de Backplane<br />

A presença de um plano de metal liga<strong>do</strong> à massa no fun<strong>do</strong> <strong>do</strong> substrato, o backplane,<br />

possibilita uma maior rapidez de convergência na extracção <strong>do</strong> modelo, porque o número<br />

de incógnitas é menor, da<strong>do</strong> que o valor de to<strong>do</strong>s os nós <strong>do</strong> backplane é conheci<strong>do</strong> (0V)<br />

ou, dito de outra forma, há mais fontes de corrente, neste caso, de escoamento de corrente.<br />

Para ex<strong>em</strong>plificar a alteração na performance <strong>do</strong> algoritmo quan<strong>do</strong> se retira o back-<br />

plane veja-se a Tabela 4.10.<br />

Número de Iterações <strong>do</strong> Algoritmo de Relaxação Usa<strong>do</strong><br />

Este é um <strong>do</strong>s parâmetros mais importantes na obtenção de um MG eficiente. Se se es-<br />

colher um número de iterações de relaxação ν muito eleva<strong>do</strong>, o MG converge <strong>em</strong> poucas<br />

iterações, mas cada iteração é muito d<strong>em</strong>orada. Se, pelo contrário, se optar por um re-<br />

duzi<strong>do</strong> número de iterações de relaxação, cada iteração é rápida, mas o MG pode n<strong>em</strong><br />

chegar a convergir por dificuldade <strong>em</strong> eliminar as componentes de alta frequência <strong>do</strong> erro<br />

da solução.<br />

Normalmente escolhe-se ν¡2antes <strong>do</strong> passo recursivo <strong>do</strong> MG e ν¡2depois, ou<br />

seja, segun<strong>do</strong> a nomenclatura anteriormente usada, ν1¡2 e ν2¡2, que se verificou ser


68 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

Número de Iterações Número de iterações T<strong>em</strong>po por T<strong>em</strong>po de execução<br />

de relaxação <strong>do</strong> Multigrid iteração <strong>do</strong> Multigrid<br />

2 21 16.17 608.04<br />

4 12 29.06 630.83<br />

variável 20 25.84 801.50<br />

Tabela 4.11: Influência <strong>do</strong> número de iterações de relaxação no des<strong>em</strong>penho <strong>do</strong> Multigrid.<br />

uma boa escolha.<br />

É de notar que no caso <strong>do</strong> MG com apenas <strong>do</strong>is níveis é irrelevante fazer ν1 iterações<br />

antes e ν2 iterações depois. O único aspecto relevante é a soma ν0¡ν1ν2, da<strong>do</strong> que, a<br />

partir da primeira iteração os passos de relaxação ν2 e ν1 são, por esta ord<strong>em</strong>, executa<strong>do</strong>s<br />

sequencialmente.<br />

Exist<strong>em</strong> casos <strong>em</strong> que um número de iterações ν1¡ν2¡2 pode inviabilizar a con-<br />

vergência, devi<strong>do</strong> a dificuldades <strong>em</strong> eliminar a componentes de alta frequência <strong>do</strong> erro, o<br />

que sugere a utilização de uma estratégia acomodativa. Esta técnica consiste <strong>em</strong> calcular o<br />

resíduo após cada iteração de relaxação e caso a sua evolução não supere um determina<strong>do</strong><br />

factor pré-determina<strong>do</strong> termina-se o processo de relaxação (Equação 4.28). Verificou-se,<br />

no entanto, que esta técnica <strong>em</strong>bora faça diminuir o número de iterações <strong>do</strong> MG, aumenta<br />

bastante o custo t<strong>em</strong>poral por iteração, sen<strong>do</strong> que o seu uso não é vantajoso <strong>em</strong> termos de<br />

t<strong>em</strong>po de execução.<br />

Se¥rk¥§η¥rk1¥terminar a relaxação<br />

<strong>em</strong> caso contrário prosseguir<br />

(4.28)<br />

Na Equação (4.28) é usual escolher η¡06, o que significa que ou se melhora <strong>em</strong> 60<br />

% a qualidade da solução ou se sai. No entanto, é possível que, ajustan<strong>do</strong> o parâmetro η<br />

a cada caso, esta técnica produza resulta<strong>do</strong>s vantajosos.<br />

Na Tabela 4.11 ilustra-se o impacto que o número de iterações <strong>do</strong> algoritmo de relaxação<br />

t<strong>em</strong> no Multigrid. Foram corri<strong>do</strong>s testes com ν1¡ν2¡2, ν1¡ν2¡4 e com a estratégia<br />

acomodativa supra-referida, com η¡066.<br />

Quan<strong>do</strong> se passam de 2 para 4 iterações de relaxação é natural que se obtenha um<br />

decréscimo no número de iterações <strong>do</strong> MG, no entanto, esse ganho pode não ser sufi-<br />

ciente para compensar a carga de trabalho adicional que mais 4 iterações de relaxação por


4.3. ANÁLISE DO DESEMPENHO DO ALGORITMO MULTIGR<strong>ID</strong> 69<br />

Tolerância Número de iterações T<strong>em</strong>po de execução Resistência extraída<br />

109 30 905.29 1.062342e+03<br />

106 20 704.13 1.062342e+03<br />

103 10 505.94 1.062342e+03<br />

102 7 446.03 1.062342e+03<br />

101 4 383.57 1.062383e+03<br />

1 2 343.20 1.062028e+03<br />

Tabela 4.12: Influência da tolerância exigida ao Multigrid no seu des<strong>em</strong>penho.<br />

iteração de MG acrescentam. É exactamente isso que se verifica neste ex<strong>em</strong>plo.<br />

No que respeita à estratégia acomodativa, verifica-se que da<strong>do</strong> que se t<strong>em</strong> que calcular<br />

o resíduo <strong>em</strong> cada iteração para fazer o teste (4.28) o t<strong>em</strong>po por iteração de MG sobe<br />

muito e isso faz com que a estratégia acomodativa não seja vantajosa neste caso.<br />

Tolerância<br />

A tolerância a exigir <strong>do</strong> méto<strong>do</strong> deve ser tal que não impossibilite a sua convergência,<br />

devi<strong>do</strong> a erro numérico, e, simultaneamente, providencie uma boa solução. Como o ε de<br />

uma máquina 3 de 64 bits é normalmente de 1015 , é razoável utilizar uma tolerância de<br />

1012 . É óbvio que, dependen<strong>do</strong> <strong>do</strong> probl<strong>em</strong>a <strong>em</strong> análise, pode ser vantajoso aumentar a<br />

tolerância, caso se verifique que tal não prejudica a qualidade da solução, pois o t<strong>em</strong>po de<br />

execução <strong>do</strong> algoritmo é linearmente proporcional ao número de dígitos de precisão da<br />

solução. No caso da ferramenta de extracção desenvolvida, verificou-se que uma tolerân-<br />

cia de 104 é suficiente para que se obtenham resulta<strong>do</strong>s precisos.<br />

O critério de parag<strong>em</strong> utiliza<strong>do</strong> na ferramenta desenvolvida é que a norma <strong>do</strong> resíduo<br />

seja inferior à tolerância.<br />

Na Tabela 4.12 é apresentada a evolução <strong>do</strong> t<strong>em</strong>po de execução <strong>do</strong> algoritmo sobre o<br />

ex<strong>em</strong>plo da Figura 4.6, b<strong>em</strong> como a solução obtida, à medida que se diminui a tolerância<br />

imposta.<br />

3 O parâmetro ε de uma máquina computacional é um valor ε tal que xεx nessa máquina. Este valor<br />

é função da representação interna <strong>do</strong>s números na máquina e de outros parâmetros da sua arquitectura.


70 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

Méto<strong>do</strong> <strong>do</strong> nível inferior T<strong>em</strong>po de setup T<strong>em</strong>po de resolução T<strong>em</strong>po total<br />

GE 251.61 263.32 514.93<br />

CG 252.30 263.21 515.50<br />

GMRES 254.46 264.73 519.19<br />

PCG 255.74 267.16 522.90<br />

PGMRES 253.78 266.36 520.14<br />

Tabela 4.13: Des<strong>em</strong>penho <strong>do</strong> Multigrid face ao algoritmo utiliza<strong>do</strong> no nível inferior.<br />

Méto<strong>do</strong> Usa<strong>do</strong> no Nível Inferior<br />

No nível inferior <strong>do</strong> MG pode ser usa<strong>do</strong> um méto<strong>do</strong> directo, tal como o méto<strong>do</strong> de<br />

eliminação de Gauss, ou um méto<strong>do</strong> iterativo. A diferença de des<strong>em</strong>penho consoante<br />

o méto<strong>do</strong> utiliza<strong>do</strong> no nível inferior não é significativa se se impuser uma tolerância na<br />

ord<strong>em</strong> de 1012 , pois o GE resolve o sist<strong>em</strong>a de nível inferior à precisão da máquina e<br />

os méto<strong>do</strong>s iterativos à precisão imposta de 1012 e, deste mo<strong>do</strong>, a precisão da solução<br />

obtida é muito s<strong>em</strong>elhante. Isto quer dizer que não existe diferença entre o número de<br />

iterações de MG consoante se muda de méto<strong>do</strong> de nível inferior, o que pode haver é uma<br />

diferença <strong>em</strong> termos de t<strong>em</strong>po. Na Tabela 4.13 estão patentes as diferenças <strong>em</strong> termos <strong>do</strong><br />

t<strong>em</strong>po de setup e resolução <strong>do</strong> MG conforme se usam GE, CG, GMRES, PCG e PGMRES<br />

no nível inferior.<br />

As diferenças <strong>em</strong> termos de t<strong>em</strong>po de setup não são evidentes, mas <strong>em</strong> princípio seria<br />

de esperar que o setup <strong>do</strong>s <strong>do</strong>is méto<strong>do</strong>s pré-condiciona<strong>do</strong>s fosse ligeiramente superior,<br />

b<strong>em</strong> como o t<strong>em</strong>po de cálculo das factorizações relativas ao GE. Isto porque para os<br />

méto<strong>do</strong>s pré-condiciona<strong>do</strong>s t<strong>em</strong> que se calcular a matriz de pré-condicionamento para o<br />

nível inferior (factorização incompleta de Cholesky) e no caso de eliminação de Gauss<br />

t<strong>em</strong> que se calcular uma factorização LU. No entanto, como a matriz de nível inferior<br />

t<strong>em</strong> dimensões muito reduzidas (2 2 2, neste caso) o cálculo das factorizações ICH ou<br />

LU praticamente não acrescenta nada ao t<strong>em</strong>po de setup. No entanto, caso fosse usa<strong>do</strong><br />

um número de níveis inferior ao número máximo de níveis, o sist<strong>em</strong>a de nível inferior já<br />

não seria de apenas 2 2 2, mas sim de 3 3 3, 5 5 5, etc., e o t<strong>em</strong>po de cálculo<br />

de respectivo pré-condiciona<strong>do</strong>r tenderia a não ser desprezável. Isto, assumin<strong>do</strong> que o<br />

número de cortes <strong>em</strong> cada direcção é igual. Caso fosse diferente, podia ter-se no nível


4.3. ANÁLISE DO DESEMPENHO DO ALGORITMO MULTIGR<strong>ID</strong> 71<br />

s<strong>em</strong> MRS<br />

ν1¡ν2¡4<br />

com MRS<br />

ν1¡ν2¡2<br />

Número de iterações T<strong>em</strong>po de Execução<br />

50 1421.67<br />

17 514.70<br />

Tabela 4.14: Impacto da utilização de um méto<strong>do</strong> de suavização <strong>do</strong> resíduo no des<strong>em</strong>pen-<br />

ho <strong>do</strong> Multigrid.<br />

inferior um sist<strong>em</strong>a de, por ex<strong>em</strong>plo, 65 65 2, que implicaria igualmente um maior<br />

peso na escolha <strong>do</strong> méto<strong>do</strong> a utilizar no nível inferior.<br />

Em relação ao t<strong>em</strong>po de resolução é de esperar que os méto<strong>do</strong>s pré-condiciona<strong>do</strong>s<br />

não apresent<strong>em</strong> um des<strong>em</strong>penho tão bom, da<strong>do</strong> que o sist<strong>em</strong>a é, como já foi referi<strong>do</strong>,<br />

d<strong>em</strong>asia<strong>do</strong> simples. Ele é tão simples que o méto<strong>do</strong> de eliminação de Gauss oferece<br />

mesmo o melhor des<strong>em</strong>penho, como se pode ver na coluna <strong>do</strong> t<strong>em</strong>po total de execução.<br />

Novamente, se não se usass<strong>em</strong> to<strong>do</strong>s os níveis possíveis, o GE deixaria de ser tão eficiente<br />

no nível inferior e, nesse caso, os méto<strong>do</strong>s pré-condiciona<strong>do</strong>s seriam mais vantajosos.<br />

Como, no entanto, não há desvantag<strong>em</strong> <strong>em</strong> utilizar o número máximo de níveis pos-<br />

sível, pode concluir-se que o méto<strong>do</strong> mais eficiente no nível inferior é a eliminação gaus-<br />

siana.<br />

Suavização <strong>do</strong> Resíduo<br />

De mo<strong>do</strong> a acelerar a convergência <strong>do</strong> MG inclui-se no seu código um passo de suavização<br />

<strong>do</strong> resíduo <strong>em</strong> cada iteração. Este passo consiste numa extrapolação <strong>do</strong> méto<strong>do</strong> Minimal<br />

Residual, MRES [37, 38], e t<strong>em</strong> o nome de Minimal Residual Smoothing. O seu objectivo<br />

é esbater as componentes de alta frequência <strong>do</strong> resíduo, ou seja, <strong>do</strong> erro da solução.<br />

Verifica-se que a introdução deste passo no fluxo <strong>do</strong> MG acelera a sua convergência,<br />

sen<strong>do</strong> o custo adicional por iteração compensa<strong>do</strong> pelo menor número de iterações obti<strong>do</strong>.<br />

O pseu<strong>do</strong>-código desta técnica é apresenta<strong>do</strong> no Algoritmo 8.<br />

A comparação entre o des<strong>em</strong>penho <strong>do</strong> algoritmo com e s<strong>em</strong> MRS está patente na<br />

Tabela 4.14.<br />

No caso <strong>em</strong> que não se usou MRS teve que se alterar o número de iterações de


72 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

Algoritmo 8 MRS, Minimum Residual Smoothing.<br />

¢rk£xk¤¡MRS h¢rk1£rk£xk1£xk£b¤<br />

1. Se o nível for o primeiro (superior):<br />

(a) α¡rk1rk<br />

(b)<br />

(c)<br />

rkrk<br />

x¡xk1α¢xxk1¤<br />

r¡rr1α¢rrk1¤<br />

2. Em caso contrário:<br />

(a)<br />

(b) x¡αx rkrk<br />

α¡brkb<br />

(c)<br />

relaxação de 2 para 4, de mo<strong>do</strong> a viabilizar a convergência <strong>do</strong> algoritmo, i.e., possibi-<br />

rk¡bα¢rk1b¤<br />

litar a eliminação das componentes de alta frequência <strong>do</strong> erro. Isto acontece, porque ao<br />

ser retira<strong>do</strong> o passo de suavização <strong>do</strong> resíduo, há que compensar essa falta com algumas<br />

iterações de relaxação adicionais. No entanto, verifica-se que a presença <strong>do</strong> passo de<br />

suavização <strong>do</strong> resíduo é muito vantajosa, como se pode ver pelos resulta<strong>do</strong>s da Tabela<br />

4.14.<br />

Aproximação Inicial<br />

A utilização de uma aproximação inicial não t<strong>em</strong> impacto significativo no t<strong>em</strong>po de<br />

execução <strong>do</strong> algoritmo. Na presente impl<strong>em</strong>entação a aproximação inicial é obtida à<br />

custa de uma única iteração de MG com apenas uma iteração de relaxação antes e de-<br />

pois <strong>do</strong> passo recursivo (ν1¡ν2¡1). Verificou-se experimentalmente que este passo,<br />

pouco dispendioso <strong>em</strong> termos computacionais, obtém uma aproximação bastante boa à<br />

solução <strong>do</strong> probl<strong>em</strong>a, mas não permite poupar significativamente no t<strong>em</strong>po de execução<br />

<strong>do</strong> algoritmo, como se pode ver pela Tabela 4.15.<br />

A diferença no número de iterações não é efectiva, pois no caso <strong>em</strong> que é utilizada a<br />

aproximação inicial, isso pode ser considera<strong>do</strong> como mais uma iteração de MG.


4.3. ANÁLISE DO DESEMPENHO DO ALGORITMO MULTIGR<strong>ID</strong> 73<br />

s<strong>em</strong> aproximação<br />

inicial<br />

com aproximação<br />

inicial<br />

Número de iterações T<strong>em</strong>po de Execução<br />

18 521.60<br />

17 514.70<br />

Tabela 4.15: Importância da existência de uma aproximação inicial no des<strong>em</strong>penho <strong>do</strong><br />

Multigrid.<br />

ρepiρbulk Número de T<strong>em</strong>po de Resistência Condição da matriz<br />

iterações execução extraída de nível inferior<br />

15 17 514.70 1.062342e+03 587.9035<br />

200 20 583.23 1.210147e+02 1.5015e+03<br />

Tabela 4.16: Impacto da resistividade <strong>do</strong> substrato no condicionamento <strong>do</strong> sist<strong>em</strong>a a re-<br />

solver.<br />

Tecnologia<br />

As características tecnológicas relativas ao processo de fabrico <strong>do</strong> circuito <strong>em</strong> análise<br />

pod<strong>em</strong> ser mais importantes <strong>do</strong> que pode parecer à primeira vista. Se, por ex<strong>em</strong>plo,<br />

o substrato tiver mais <strong>do</strong> que uma camada e cada camada tiver condutividades muito<br />

diferentes, isso pode conduzir a uma matriz de sist<strong>em</strong>a mal condicionada, o que pode<br />

levar a que o algoritmo tenha mais dificuldades <strong>em</strong> convergir. Isto acontece porque os<br />

el<strong>em</strong>entos que a constitu<strong>em</strong> são, neste caso, muito diferentes.<br />

Além disto, o número de camadas <strong>do</strong> substrato e o facto de os contactos de polarização,<br />

difusões e poços poder<strong>em</strong> ter profundidades diferentes, obriga a que se façam mais cortes<br />

<strong>em</strong> z, o que limita o número de cortes disponíveis <strong>em</strong> x e y, face à m<strong>em</strong>ória de que se<br />

dispõe.<br />

Na Tabela 4.16 é compara<strong>do</strong> o des<strong>em</strong>penho <strong>do</strong> algoritmo na extracção <strong>do</strong> ex<strong>em</strong>plo da<br />

Figura 4.6, mas alteran<strong>do</strong> os valores das condutividades das duas camadas. No primeiro<br />

caso, usaram-se as condutividades descritas nessa figura, ρepi¡1Ωcm e ρbulk¡15Ωcm,<br />

e no segun<strong>do</strong> caso usaram-se ρepi¡01Ωcm e ρbulk¡20Ωcm.<br />

Quanto maior for o número de condição da matriz pior ela é condicionada e, conse-


74 CAPÍTULO 4. MÉTODOS MULTI-NÍVEL<br />

quent<strong>em</strong>ente, mais difícil é a resolução <strong>do</strong> sist<strong>em</strong>a. Pode ver-se que o facto de no segun<strong>do</strong><br />

caso as condutividades das duas camadas <strong>do</strong> substrato ser<strong>em</strong> mais díspares influencia neg-<br />

ativamente o des<strong>em</strong>penho <strong>do</strong> algoritmo.


Capítulo 5<br />

Validação <strong>do</strong> Modelo Extraí<strong>do</strong><br />

5.1 Meto<strong>do</strong>logia de Teste<br />

O SMX foi valida<strong>do</strong> da seguinte forma: numa primeira fase, que consiste nas duas<br />

primeiras experiências apresentadas neste capítulo, foram escolhidas configurações de<br />

teste muito simples <strong>em</strong> que é possível calcular as resistências de acoplamento manual-<br />

mente, possibilitan<strong>do</strong> a verificação <strong>do</strong> correcto funcionamento <strong>do</strong> SMX. Nas experiências<br />

seguintes, o modelo obti<strong>do</strong> pelo SMX foi compara<strong>do</strong> com o modelo obti<strong>do</strong> por outras<br />

quatro ferramentas de extracção. Na secção 5.3 faz-se um estu<strong>do</strong> sobre as características<br />

de acoplamento usan<strong>do</strong> o SMX e por último foi extraí<strong>do</strong> e compara<strong>do</strong> um modelo de<br />

um circuito mais complexo, de mo<strong>do</strong> a ilustrar a capacidade da ferramenta <strong>em</strong> lidar com<br />

circuitos de maior dimensão.<br />

5.2 Configurações de Teste<br />

Os resulta<strong>do</strong>s obti<strong>do</strong>s para as várias configurações de teste são apresenta<strong>do</strong>s nas secções<br />

seguintes. Os extractores utiliza<strong>do</strong>s para comparação de resulta<strong>do</strong>s com o SMX são:<br />

Xtract [4], desenvolvi<strong>do</strong> no âmbito <strong>do</strong> programa de Mestra<strong>do</strong> de João Paulo Costa<br />

no grupo ALGOS <strong>do</strong> <strong>INESC</strong> <strong>ID</strong>, Instituto Superior Técnico, Universidade Técnica<br />

de Lisboa;<br />

Subx [46], uma das ferramentas de extracção da Design Framework II da Cadence<br />

Design Syst<strong>em</strong>s<br />

75


76 CAPÍTULO 5. VAL<strong>ID</strong>AÇÃO DO MODELO EXTRAÍDO<br />

Space [45], desenvolvi<strong>do</strong> no grupo de <strong>Circuitos</strong> e Sist<strong>em</strong>as da Faculdade de Enge-<br />

nharia Electrotécnica da Universidade de Tecnologia de Delft, Holanda<br />

QuickSub [9], desenvolvi<strong>do</strong> no âmbito <strong>do</strong> programa de Doutoramento de Mike<br />

Chou no grupo VLSI-CAD <strong>do</strong> Laboratório de Investigação de Electrónica <strong>do</strong> Mas-<br />

sachusetts Institute of Technology, E.U.A.<br />

As duas primeiras experiências, <strong>em</strong> que é possível calcular as resistências de acopla-<br />

mento manualmente, não são, por razões diversas, concretizáveis por nenhum <strong>do</strong>s quatro<br />

extractores com os quais se compara o SMX. No entanto, elas são realizáveis com o<br />

SMX, da<strong>do</strong> que este se baseia numa abordag<strong>em</strong> FDM, <strong>em</strong> que se pod<strong>em</strong> especificar todas<br />

as características geométricas <strong>do</strong> probl<strong>em</strong>a. Os outros quatro extractores, por se basear<strong>em</strong><br />

numa aproximação BEM, faz<strong>em</strong> algumas aproximações. Uns assum<strong>em</strong> que o substrato<br />

é infinito <strong>em</strong> área, ou mesmo <strong>em</strong> profundidade, outros não permit<strong>em</strong> a especificação da<br />

profundidade <strong>do</strong>s contactos e por isso não é possível especificar as configurações de teste<br />

pretendidas.<br />

5.2.1 Condutância entre um contacto e o backplane<br />

Nesta configuração básica de teste, foram utiliza<strong>do</strong>s o layout e perfil de substrato apre-<br />

senta<strong>do</strong>s na Figura 5.1. Calculan<strong>do</strong> manualmente a resistência que liga o contacto ao<br />

backplane t<strong>em</strong>-se:<br />

R¡ρ l 100 1061 106<br />

(5.1)<br />

S015<br />

9999 1069999 106¡148529kΩ<br />

O SMX obtém o resulta<strong>do</strong> RSMX¡1484923 10 5¡148492 kΩ com a discretização<br />

mínima de 5 5 3. Esta configuração é tão simples que mesmo com discretizações mais<br />

finas a resistência extraída não se altera. A diferença para o valor calcula<strong>do</strong> manualmente<br />

deve-se a ligeiras aproximações feitas nos cálculos e na geometria <strong>do</strong> layout.<br />

5.2.2 Condutância entre <strong>do</strong>is contactos<br />

Nesta segunda configuração, o layout e o perfil de substrato usa<strong>do</strong>s estão apresenta<strong>do</strong>s na<br />

Figura 5.2. Neste caso não se utilizou backplane e a resistência que se extraiu entre os<br />

<strong>do</strong>is contactos é de:


5.2. CONFIGURAÇÕES DE TESTE 77<br />

10<br />

10<br />

10<br />

Contacto que ocupa praticamente toda<br />

a area <strong>do</strong> substrato (9.999 x 9.999)<br />

1<br />

Condutividade<br />

de 15 Ohm.cm<br />

100<br />

backplane<br />

Figura 5.1: Configuração de teste 1.<br />

Vista de topo Vista lateral<br />

10<br />

30<br />

Condutividade<br />

de 1 Ohm.cm<br />

Figura 5.2: Configuração de teste 2.<br />

10002 106<br />

R001<br />

(5.2)<br />

9999 1069999 106¡10004kΩ<br />

Para esta configuração, o SMX extraiu uma resistência RSMX¡1000100 103¡ 10001 kΩ entre os <strong>do</strong>is contactos.<br />

5.2.3 Variação da Profundidade <strong>do</strong>s Contactos<br />

O layout e perfil de substrato utiliza<strong>do</strong>s nas restantes experiências apresentam-se na Figu-<br />

ra 5.3. Nesta terceira experiência variou-se a profundidade <strong>do</strong>s contacto e retirou-se o<br />

valor da resistência <strong>do</strong> contacto para o backplane. Os resulta<strong>do</strong>s apresentam-se na Tabela<br />

5.1 para os vários extractores. As entradas assinaladas com (a) refer<strong>em</strong>-se a experiências<br />

irrealizáveis, da<strong>do</strong> que os extractores Xtract, Subx, Space e SubQuick não permit<strong>em</strong> a<br />

especificação <strong>do</strong> valor da profundidade <strong>do</strong>s contactos. Isto deve-se a que estas quatro<br />

ferramentas se baseiam numa formulação BEM, <strong>em</strong> que os contactos são apenas dis-<br />

cretiza<strong>do</strong>s na superfície <strong>do</strong> substrato e, como tal, é assumi<strong>do</strong> que a sua profundidade é<br />

10


78 CAPÍTULO 5. VAL<strong>ID</strong>AÇÃO DO MODELO EXTRAÍDO<br />

infinitesimal.<br />

2x2<br />

a x b backplane<br />

Figura 5.3: Configuração para Comparação <strong>do</strong>s Extractores.<br />

Pelos resulta<strong>do</strong>s apresenta<strong>do</strong>s, verifica-se que o extractor que apresenta resulta<strong>do</strong>s<br />

mais aproxima<strong>do</strong>s aos <strong>do</strong> SMX é o Xtract. Pode observar-se que à medida que se diminui<br />

a profundidade <strong>do</strong> contacto na experiência com o SMX, o valor obti<strong>do</strong> se aproxima <strong>do</strong><br />

valor obti<strong>do</strong> pelo Xtract, exactamente por este último considerar que os contactos têm<br />

profundidade infinitesimal.<br />

As diferenças de valores que se verificam neste ex<strong>em</strong>plo, b<strong>em</strong> como nos próximos, en-<br />

tre o SMX e o Xtract e os outros três extractores pod<strong>em</strong> ter várias explicações. Uma delas<br />

é que se tratam de ferramentas de abordagens diferentes. Todas elas, excepto o SMX,<br />

segu<strong>em</strong> abordagens BEM. No Xtract foram utilizadas a função de Green para caracterizar<br />

o substrato e uma discretização uniforme.<br />

5.2.4 Variação da Profundidade <strong>do</strong> <strong>Substrato</strong><br />

Nesta experiência variou-se a profundidade <strong>do</strong> substrato e retirou-se novamente a re-<br />

sistência de acoplamento para o backplane. Os resulta<strong>do</strong>s encontram-se na Tabela 5.2.<br />

As entradas preenchidas com (b) representam experiências impossíveis de realizar, da<strong>do</strong><br />

que o Space não permite a especificação de um valor para a profundidade máxima <strong>do</strong><br />

substrato, <strong>em</strong>bora permita a utilização de um máximo de duas camadas. Verifica-se que<br />

os valores obti<strong>do</strong>s mantêm a sua ord<strong>em</strong> de grandeza <strong>em</strong> relação à experiência anterior,<br />

haven<strong>do</strong> uma diferença aproximadamente constante entre os extractores SMX e Xtract.<br />

0<br />

d<br />

D


5.2. CONFIGURAÇÕES DE TESTE 79<br />

Profundidade <strong>do</strong> Contacto (µm) SMX Xtract Subx Space SubQuick<br />

infinitesimal - 264062 21759 4208228 1497415<br />

0.001 253077 (a) (a) (a) (a)<br />

0.01 252937 (a) (a) (a) (a)<br />

0.1 251687 (a) (a) (a) (a)<br />

1 244755 (a) (a) (a) (a)<br />

2 240920 (a) (a) (a) (a)<br />

4 237377 (a) (a) (a) (a)<br />

Tabela 5.1: Comparação entre os resulta<strong>do</strong>s <strong>do</strong>s vários extractores para diferentes pro-<br />

fundidades de contacto. Valores das resistências <strong>em</strong> Ω. As entradas assinaladas com (a)<br />

refer<strong>em</strong>-se a experiências irrealizáveis, da<strong>do</strong> que os extractores Xtract, Subx, Space e<br />

SubQuick não permit<strong>em</strong> a especificação <strong>do</strong> valor da profundidade <strong>do</strong>s contactos.<br />

Profundidade <strong>do</strong> <strong>Substrato</strong> (µm) SMX Xtract Subx Space SubQuick<br />

100 69253 88281 21635 (b) 1321633<br />

200 127645 146874 21717 (b) 1380227<br />

300 186281 205468 21745 (b) 1438821<br />

400 244755 264062 21759 (b) 1497415<br />

infinita - - - 4208228 -<br />

Tabela 5.2: Comparação entre os resulta<strong>do</strong>s <strong>do</strong>s vários extractores para diferentes pro-<br />

fundidades <strong>do</strong> substrato. Valores das resistências <strong>em</strong> Ω. As entradas preenchidas com<br />

(b) representam experiências impossíveis de realizar, da<strong>do</strong> que o Space não permite a<br />

especificação de um valor para a profundidade máxima <strong>do</strong> substrato, <strong>em</strong>bora permita a<br />

utilização de um máximo de duas camadas.


80 CAPÍTULO 5. VAL<strong>ID</strong>AÇÃO DO MODELO EXTRAÍDO<br />

Resistividade <strong>do</strong> <strong>Substrato</strong> (Ωcm) SMX Xtract Subx Space SubQuick<br />

0.001 16 18 1 281 100<br />

0.1 1632 1760 145 28055 9983<br />

1 16317 17604 1451 280550 99828<br />

15 244755 264062 21759 4208228 1497415<br />

20 326342 352083 29012 5610998 1996553<br />

Tabela 5.3: Comparação entre os resulta<strong>do</strong>s <strong>do</strong>s vários extractores para diferentes resis-<br />

tividades <strong>do</strong> substrato. Valores das resistências <strong>em</strong> Ω.<br />

5.2.5 Variação da Resistividade <strong>do</strong> <strong>Substrato</strong><br />

Nesta experiência variou-se a resistividade da única camada <strong>do</strong> substrato da configuração<br />

<strong>em</strong> análise. Todas as ferramentas permit<strong>em</strong>, obviamente, a especificação deste valor. Os<br />

resulta<strong>do</strong>s obti<strong>do</strong>s estão na Tabela 5.3. Tal como nas experiências anteriores, existe uma<br />

maior coerência entre os valores obti<strong>do</strong>s pelos extractores SMX e Xtract. No entanto,<br />

todas as ferramentas apresentam uma evolução linear com o aumento da resistividade <strong>do</strong><br />

substrato.<br />

5.2.6 Variação da Área <strong>do</strong> <strong>Substrato</strong><br />

Nesta experiência variou-se a dimensão da área <strong>do</strong> substrato. Os resulta<strong>do</strong>s encontram-se<br />

na Tabela 5.4. As entradas marcadas com (c) refer<strong>em</strong>-se a experiências que não se pude-<br />

ram realizar, da<strong>do</strong> que o Subx e o Space não permit<strong>em</strong> a especificação de valores para as<br />

dimensões x e y <strong>do</strong> substrato. Pelos resulta<strong>do</strong>s, observa-se que existe ainda uma conside-<br />

rável s<strong>em</strong>elhança entre os valores obti<strong>do</strong>s pelos extractores SMX e Xtract. Contu<strong>do</strong>, este<br />

último extractor t<strong>em</strong> tendência a cometer erros maiores quan<strong>do</strong> a dimensão <strong>do</strong>s contactos<br />

é consideravelmente inferior à área <strong>do</strong> substrato. Isto ocorre, porque o Xtract se baseia no<br />

cálculo da transformada discreta de co-seno, DCT, para obter a função de Green que des-<br />

creve o comportamento electromagnético <strong>do</strong> substrato. Quan<strong>do</strong> os contactos são muito<br />

pequenos face à área <strong>do</strong> substrato, as aproximações feitas <strong>em</strong> [4] são erróneas e a DCT<br />

(função de Green) é calculada com menor precisão. Devi<strong>do</strong> a isto, pensa-se que os va-<br />

lores obti<strong>do</strong>s pelo Xtract para dimensões da área <strong>do</strong> substrato sucessivamente maiores se<br />

afastam da realidade, ao contrário <strong>do</strong> que acontece com o SMX, como se parece verificar


5.2. CONFIGURAÇÕES DE TESTE 81<br />

Área <strong>do</strong> <strong>Substrato</strong> (µm 2 ) SMX Xtract Subx Space SubQuick<br />

16 16 244755 264062 (c) (c) 1497415<br />

32 32 70629 123354 (c) (c) 690114<br />

64 64 25580 68373 (c) (c) 330408<br />

128 128 12183 55561 (c) (c) 161542<br />

infinita - - 21759 4208228 -<br />

Tabela 5.4: Comparação entre os resulta<strong>do</strong>s <strong>do</strong>s vários extractores para diferentes di-<br />

mensões da área <strong>do</strong> substrato. Valores das resistências <strong>em</strong> Ω. As entradas marcadas com<br />

(c) refer<strong>em</strong>-se a experiências que não se puderam realizar, da<strong>do</strong> que o Subx e o Space não<br />

permit<strong>em</strong> a especificação de valores para as dimensões x e y <strong>do</strong> substrato.<br />

2x2<br />

d<br />

2x2<br />

64 x 32 um^2<br />

15 Ohm.cm<br />

0<br />

1 um<br />

400 um<br />

Figura 5.4: Configuração com <strong>do</strong>is contactos para comparação entre extractores.<br />

pela Tabela 5.4.<br />

5.2.7 Variação da Distância entre Contactos<br />

Para comparar os diferentes extractores na extracção <strong>do</strong> acoplamento entre <strong>do</strong>is contactos,<br />

foi usada a configuração da Figura 5.4. Na Tabela 5.5 são apresenta<strong>do</strong>s os valores das re-<br />

sistências de acoplamento entre os <strong>do</strong>is contactos, s<strong>em</strong> influência de backplane, conforme<br />

se varia a distância entre eles. As entradas assinaladas com (d) dev<strong>em</strong>-se a não ter si<strong>do</strong><br />

possível executar o SubQuick com backplane flutuante.<br />

Nesta experiência detecta-se algum desacor<strong>do</strong> entre o SMX e o Xtract, que anterior-<br />

mente apresentaram valores bastante coerentes, <strong>em</strong>bora todas as ferramentas apresent<strong>em</strong><br />

uma evolução s<strong>em</strong>elhante com a distância.


82 CAPÍTULO 5. VAL<strong>ID</strong>AÇÃO DO MODELO EXTRAÍDO<br />

Distância entre contactos (µm) SMX Xtract Subx Space SubQuick<br />

4 15179 692 76414 28763230 (d)<br />

8 21561 890 159295 58891010 (d)<br />

12 24058 1155 241972 88714460 (d)<br />

16 25188 1500 325550 118462100 (d)<br />

20 26014 1897 410214 148179600 (d)<br />

Tabela 5.5: Comparação entre os resulta<strong>do</strong>s <strong>do</strong>s vários extractores conforme a distância<br />

entre os <strong>do</strong>is contactos. Valores das resistências <strong>em</strong> Ω. As entradas assinaladas com (d)<br />

dev<strong>em</strong>-se a não ter si<strong>do</strong> possível executar o SubQuick com backplane flutuante.<br />

2x2<br />

d<br />

2x2<br />

220x200<br />

15 Ohm.cm<br />

Figura 5.5: Configuração de teste 3.<br />

5.3 Estu<strong>do</strong> Eléctrico <strong>do</strong>s Efeitos de <strong>Acoplamento</strong><br />

Nesta secção faz-se um estu<strong>do</strong> eléctrico <strong>do</strong>s efeitos de acoplamento usan<strong>do</strong> a ferramenta<br />

SMX. Este estu<strong>do</strong> t<strong>em</strong> como objectivos verificar a correcção e a precisão da ferramenta,<br />

e d<strong>em</strong>onstrar a sua utilidade como instrumento de auxílio ao projecto de circuitos <strong>em</strong> que<br />

o ruí<strong>do</strong> propaga<strong>do</strong> pelo substrato t<strong>em</strong> especial relevância.<br />

5.3.1 Posicionamento <strong>do</strong>s Contactos<br />

Para verificar como varia a resistência de acoplamento entre <strong>do</strong>is contactos à medida que<br />

se varia a distância entre eles foi usada a configuração da Figura 5.5. Variou-se a distância<br />

d entre 4 e 20 µm de 2 <strong>em</strong> 2 µm, estan<strong>do</strong> os resulta<strong>do</strong>s na Tabela 5.6. A evolução da<br />

resistência extraída pode observar-se melhor no gráfico da Figura 5.6.<br />

A equação que rege o campo eléctrico E a uma distância x de uma carga pontual q1<br />

0<br />

1<br />

100


5.3. ESTUDO ELÉCTRICO DOS EFEITOS DE ACOPLAMENTO 83<br />

Distância (µm) Resistência extraída (kΩ)<br />

4 21.530<br />

6 25.504<br />

8 27.358<br />

10 28.469<br />

12 29.241<br />

14 29.758<br />

16 30.110<br />

18 30.413<br />

20 30.690<br />

Tabela 5.6: Variação da resistência extraída entre <strong>do</strong>is contactos consoante a distância<br />

entre eles.<br />

situada <strong>em</strong> x1 é dada por [42, 43]:<br />

E¢x¤¡kq1<br />

xx1<br />

xx13<br />

(5.3)<br />

<strong>em</strong> que k é uma constante de proporcionalidade que depende <strong>do</strong> sist<strong>em</strong>a de unidades<br />

utiliza<strong>do</strong>. Como:<br />

φ¡∇ E<br />

(5.4)<br />

o potencial eléctrico varia com o inverso da distância. É, portanto, de esperar que a<br />

resistência de acoplamento entre os <strong>do</strong>is contactos aumente com a distância entre eles,<br />

como se pode confirmar pela Figura 5.6.<br />

5.3.2 Dimensão <strong>do</strong>s Contactos<br />

Para se verificar como varia a resistência de acoplamento entre <strong>do</strong>is contactos à medida<br />

que se varia a dimensão <strong>do</strong>s contactos, foi usada a configuração da Figura 5.7. Variou-se<br />

a dimensão D de cada contacto <strong>em</strong> cada dimensão entre 1 e 8 µm de 1 <strong>em</strong> 1 µm. Os<br />

resulta<strong>do</strong>s apresentam-se na Tabela 5.7. A evolução da resistência extraída pode obser-<br />

var-se melhor no gráfico da Figura 5.8.


84 CAPÍTULO 5. VAL<strong>ID</strong>AÇÃO DO MODELO EXTRAÍDO<br />

Resistência (Ohm)<br />

x 104<br />

3.1<br />

3<br />

2.9<br />

2.8<br />

2.7<br />

2.6<br />

2.5<br />

2.4<br />

2.3<br />

2.2<br />

2.1<br />

4 6 8 10 12<br />

Distância (um)<br />

14 16 18 20<br />

Figura 5.6: Evolução da resistência entre <strong>do</strong>is contactos conforme se varia a distância<br />

entre eles.<br />

Verifica-se que a resistência de acoplamento entre os <strong>do</strong>is contactos diminui à medida<br />

que a sua dimensão aumenta, tanto porque a sua distância relativa diminui, como porque<br />

há mais volume de injecção e recepção de corrente.<br />

5.3.3 Utilização de Backplane<br />

Para se ter uma noção da capacidade de escoamento <strong>do</strong> backplane utilizou-se a configu-<br />

ração da Figura 5.5. Os resulta<strong>do</strong>s, com e s<strong>em</strong> backplane encontram-se na Tabela 5.8.<br />

Pode ver-se <strong>em</strong> que medida é que o backplane pode intervir na diminuição <strong>do</strong> acopla-<br />

DxD<br />

20<br />

DxD<br />

220x200<br />

15 Ohm.cm<br />

Figura 5.7: Configuração de teste 4.<br />

0<br />

D<br />

100


5.3. ESTUDO ELÉCTRICO DOS EFEITOS DE ACOPLAMENTO 85<br />

Dimensão (µm) Resistência extraída (kΩ)<br />

1 46.960<br />

2 23.431<br />

3 15.083<br />

4 10.857<br />

5 8.287<br />

6 6.573<br />

7 5.357<br />

8 4.422<br />

Tabela 5.7: Variação da resistência extraída entre <strong>do</strong>is contactos consoante a dimensão<br />

<strong>do</strong>s contactos.<br />

Resistência (Ohm)<br />

50<br />

45<br />

40<br />

35<br />

30<br />

25<br />

20<br />

15<br />

10<br />

5<br />

0<br />

1 2 3 4 5 6 7 8<br />

Dimensão <strong>do</strong>s Contactos (um)<br />

Figura 5.8: Evolução da resistência entre <strong>do</strong>is contactos conforme se varia a dimensão de<br />

ambos.<br />

Resistência Resistência <strong>do</strong>s contactos<br />

entre contactos para o backplane<br />

S<strong>em</strong> backplane 3.069000e+04 -<br />

Com backplane 2.519797e+05 1.631595e+04<br />

Tabela 5.8: Variação da resistência extraída entre <strong>do</strong>is contactos com e s<strong>em</strong> backplane.


86 CAPÍTULO 5. VAL<strong>ID</strong>AÇÃO DO MODELO EXTRAÍDO<br />

1<br />

1<br />

2<br />

2<br />

2<br />

1<br />

20<br />

2x2 2x2<br />

220x200<br />

Figura 5.9: Configuração de teste 5a. O substrato t<strong>em</strong> 100 µm de profundidade e uma<br />

resistividade de 15 Ω cm.<br />

mento resistivo entre os <strong>do</strong>is contactos. Isto deve-se ao surgimento das resistências de<br />

escoamento de corrente. Neste caso, o backplane aumentou <strong>em</strong> mais de oito vezes o<br />

isolamento entre os <strong>do</strong>is contactos.<br />

5.3.4 Utilização de Guard-rings<br />

Para verificar a eficácia da utilização <strong>do</strong>s anéis de guarda na protecção de um contacto<br />

utilizou-se a configuração da Figura 5.9.<br />

Nesta primeira experiência não se fechou completamente o anel de guarda <strong>em</strong> torno<br />

<strong>do</strong> contacto. A palavra “anel” é, neste caso, um abuso de linguag<strong>em</strong>. Como se pode<br />

ver pela Tabela 5.9, este tipo de anel de guarda é relativamente eficaz no resguar<strong>do</strong> <strong>do</strong><br />

contacto da esquerda. Para uma profundidade <strong>do</strong> anel de cerca de 5 µm o isolamento é<br />

praticamente perfeito.<br />

Para testar a eficácia de um anel de guarda totalmente fecha<strong>do</strong> <strong>em</strong> torno <strong>do</strong> contacto<br />

a resguardar usou-se a configuração da Figura 5.10. Com este tipo de anel, como se<br />

pode ver pela Tabela 5.10, o isolamento com uma profundidade de 3 µm é já superior ao<br />

isolamento com o anel de 10 µm <strong>do</strong> ex<strong>em</strong>plo anterior.<br />

Conclui-se que com uma fronteira de resguarda não totalmente fechada <strong>em</strong> torno <strong>do</strong><br />

contacto a proteger, ainda há linhas de força que contornam a barreira e consegu<strong>em</strong><br />

alcançar o contacto s<strong>em</strong>i-protegi<strong>do</strong>. Um anel de guarda concêntrico é, como foi visto,


5.3. ESTUDO ELÉCTRICO DOS EFEITOS DE ACOPLAMENTO 87<br />

Profundidade <strong>do</strong> Resistência<br />

guard-ring entre contactos<br />

1 2.982312e+05<br />

2 1.878022e+06<br />

3 3.558823e+07<br />

4 7.655636e+08<br />

5 1.475346e+09<br />

6 4.306491e+09<br />

7 5.278579e+09<br />

8 5.476009e+09<br />

9 1.093519e+10<br />

10 9.999258e+09<br />

Tabela 5.9: Variação da resistência extraída entre <strong>do</strong>is contactos consoante a profundidade<br />

da barreira de resguarda usada.<br />

1<br />

1<br />

2<br />

2<br />

2<br />

1<br />

20<br />

2x2 2x2<br />

220x200<br />

Figura 5.10: Configuração de teste 5b. O substrato t<strong>em</strong> 100 µm de profundidade e uma<br />

resistividade de 15 Ω cm.


88 CAPÍTULO 5. VAL<strong>ID</strong>AÇÃO DO MODELO EXTRAÍDO<br />

Profundidade <strong>do</strong> Resistência<br />

guard-ring entre contactos<br />

1 3.986418e+05<br />

2 5.615993e+08<br />

3 1.263709e+11<br />

4 1.860408e+12<br />

Tabela 5.10: Variação da resistência extraída entre <strong>do</strong>is contactos consoante a profundi-<br />

dade <strong>do</strong> guard ring usa<strong>do</strong>.<br />

Perfil <strong>do</strong> Resistência Resistência de cada contacto<br />

<strong>Substrato</strong> entre contactos para o backplane<br />

A 3.055971e+02 3.128384e+02<br />

B 8.570429e+03 9.855343e+02<br />

C 3.210020e+04 1.078632e+04<br />

Tabela 5.11: Comparação das resistências extraídas para três perfis de substrato difer-<br />

entes.<br />

mais vantajoso, pois permite ter um isolamento superior para uma profundidade mais<br />

reduzida.<br />

Pelo gráfico da Figura 5.11 percebe-se ainda que existe uma profundidade <strong>do</strong> guard-<br />

ring a partir da qual pouco se ganha <strong>em</strong> termos de isolamento. No caso <strong>em</strong> análise essa<br />

profundidade é de cerca de 4 µm.<br />

5.3.5 Perfil <strong>do</strong> <strong>Substrato</strong><br />

Para verificar a influência <strong>do</strong>s vários perfis possíveis para o substrato utilizaram-se três<br />

perfis diferentes, ilustra<strong>do</strong>s na Figura 5.12, to<strong>do</strong>s eles com backplane. Sobre estes três<br />

tipos de substrato utilizou-se a configuração da Figura 5.5 com d¡20 µm e extraiu-se<br />

a resistência de acoplamento entre os <strong>do</strong>is contactos. Os resulta<strong>do</strong>s apresentam-se na<br />

Tabela 5.11.<br />

Na análise <strong>do</strong>s resulta<strong>do</strong>s obti<strong>do</strong>s nesta experiência, pode ser engana<strong>do</strong>r comparar as<br />

resistências de acoplamento entre diferentes perfis <strong>do</strong> substrato. A diferença de carac-


5.3. ESTUDO ELÉCTRICO DOS EFEITOS DE ACOPLAMENTO 89<br />

Resistência (Ohm)<br />

10 11<br />

10 10<br />

10 9<br />

10 8<br />

10 7<br />

10 6<br />

10<br />

1 2 3 4 5 6 7 8 9 10<br />

5<br />

Profundidade <strong>do</strong> guard−ring (um)<br />

Figura 5.11: Evolução da resistência entre <strong>do</strong>is contactos conforme se varia a profundi-<br />

dade <strong>do</strong> guard-ring.<br />

1u<br />

400u<br />

0.1 Ohm.cm<br />

20 Ohm.cm<br />

1u<br />

10u<br />

300u<br />

1 Ohm.cm<br />

15 Ohm.cm<br />

1 mOhm.cm<br />

400u<br />

15 Ohm.cm<br />

A B C<br />

Figura 5.12: Perfis de substrato.


90 CAPÍTULO 5. VAL<strong>ID</strong>AÇÃO DO MODELO EXTRAÍDO<br />

terísticas <strong>do</strong>s vários tipos de substrato origina diferenças de valor que tornam a compa-<br />

ração, por isso mesmo, difícil. No entanto, pode s<strong>em</strong>pre comparar-se a resistência entre<br />

contactos com a resistência para o backplane <strong>em</strong> cada caso isoladamente. Fazen<strong>do</strong> isso,<br />

verifica-se que no caso <strong>do</strong> perfil A, a corrente injectada num contacto distribui-se de for-<br />

ma aproximadamente uniforme entre o outro contacto e o backplane, pois as resistências<br />

têm valores s<strong>em</strong>elhantes. Por outro la<strong>do</strong>, no caso <strong>do</strong> perfil B, a resistência entre contac-<br />

tos é cerca de dez vezes superior à resistência para o backplane, o que indica que, neste<br />

substrato, a corrente tenda a ser facilmente escoada para o backplane e, como tal, o isola-<br />

mento entre os contactos é melhor. Esta melhoria no isolamento entre contactos, deve-se<br />

ao facto de o substrato ser de baixa resistividade. Em relação ao perfil C, a tendência<br />

mantém-se: a resistência entre contactos é cerca de três vezes superior à resistência para<br />

o backplane, pelo que este perfil apresenta um isolamento não tão bom como o perfil C,<br />

mas melhor que o perfil A.<br />

Em conclusão, observa-se o melhor isolamento no caso <strong>do</strong> substrato <strong>do</strong> tipo B, sen<strong>do</strong><br />

também o mais dispendioso de fabricar. A camada superior nos perfis A e B t<strong>em</strong> como<br />

objectivo impedir a formação de canal entre contactos de transístores distintos (channel-<br />

stop region), mas <strong>em</strong> termos de acoplamento contribui para um menor isolamento entre<br />

contactos. É portanto uma técnica com vantagens e desvantagens, sen<strong>do</strong> a desvantag<strong>em</strong><br />

<strong>em</strong> termos de acoplamento suplantada no caso <strong>do</strong> perfil B, uma vez que se utiliza um<br />

substrato de baixa resistividade.<br />

5.3.6 Distância de um contacto aos limites <strong>do</strong> substrato<br />

A existência de dispositivos para efeitos de protecção de circuitos contra Electrical Over-<br />

stress e Electrostatic Discharge comporta o implante <strong>do</strong>s dispositivos de protecção junto<br />

aos pads <strong>do</strong> circuitos, i.e., junto ao limite <strong>do</strong> substrato. De mo<strong>do</strong> a poder analisar o efeitos<br />

das linhas de força relativas a um contacto perto da orla <strong>do</strong> substrato, utilizou-se o layout<br />

da Figura 5.13.<br />

Nesta configuração variou-se a distância e de 2 a 20 µm de 1 <strong>em</strong> 1 µm, extrain<strong>do</strong>-se<br />

para cada caso o valor da resistência entre os contactos. Os resulta<strong>do</strong>s apresentam-se na<br />

Tabela 5.12.<br />

Como se pode ver, a resistência de acoplamento entre os <strong>do</strong>is contactos altera-se si-


5.3. ESTUDO ELÉCTRICO DOS EFEITOS DE ACOPLAMENTO 91<br />

e<br />

2x2<br />

20<br />

2x2<br />

220x200<br />

15 Ohm.cm<br />

Figura 5.13: Configuração de teste 6.<br />

Distância ao Resistência<br />

limite <strong>do</strong> substrato entre contactos<br />

2 2.166849e+04<br />

3 2.043893e+04<br />

4 1.957601e+04<br />

6 1.881332e+04<br />

8 1.852323e+04<br />

10 1.825810e+04<br />

12 1.806643e+04<br />

Tabela 5.12: Evolução da resistência entre <strong>do</strong>is contactos face à proximidade de um deles<br />

<strong>do</strong> limite geométrico <strong>do</strong> substrato.<br />

0<br />

1<br />

100


92 CAPÍTULO 5. VAL<strong>ID</strong>AÇÃO DO MODELO EXTRAÍDO<br />

gnificativamente (mais de 20%) conforme a distância a que o contacto se encontra <strong>do</strong><br />

limite <strong>do</strong> substrato. Isto revela que os méto<strong>do</strong>s de extracção que assum<strong>em</strong> que o substrato<br />

é infinito <strong>em</strong> x e y (Subx e Space) não são eficazes <strong>em</strong> tratar probl<strong>em</strong>as <strong>em</strong> que exist<strong>em</strong><br />

contactos junto à orla <strong>do</strong> substrato. Probl<strong>em</strong>as <strong>em</strong> que exist<strong>em</strong> contactos perto <strong>do</strong> substra-<br />

to são comuns, pelo que nestes casos é de esperar que o SMX produza resulta<strong>do</strong>s muito<br />

mais precisos que o Subx, o Space e ferramentas que assumam os limites <strong>do</strong> substrato<br />

como sen<strong>do</strong> infinitos.<br />

5.4 Ex<strong>em</strong>plo de Circuito de Complexidade Industrial<br />

Com o objectivo de experimentar a aplicação da ferramenta desenvolvida na extracção<br />

<strong>do</strong> modelo de um circuito de complexidade industrial, foi utilizada a PLL cujo layout<br />

se apresenta na Figura 5.14. Este circuito foi anteriormente apresenta<strong>do</strong> e utiliza<strong>do</strong> <strong>em</strong><br />

[30, 4, 8, 9]. Os valores obti<strong>do</strong>s para o acoplamento entre os quatro primeiros contactos<br />

<strong>do</strong> layout analisa<strong>do</strong> apresentam-se na Tabela 5.13. As medidas relativas aos recursos<br />

computacionais necessários para a extracção deste modelo encontram-se na Tabela 5.14.<br />

Fez-se uma estimativa <strong>do</strong> custo total de extracção <strong>do</strong>s 471 contactos <strong>do</strong> circuito e<br />

prevê-se que este poderia exigir entre 5 e 6 dias. No entanto, a discretização utiliza-<br />

da é extr<strong>em</strong>amente elevada (513 257 5). Pelos requisitos de m<strong>em</strong>ória exigi<strong>do</strong>s pela<br />

discretização <strong>em</strong>pregue, conclui-se que não seria possível aumentar o número de cortes<br />

<strong>em</strong> qualquer uma das três dimensões, da<strong>do</strong> que nesse caso a m<strong>em</strong>ória necessária dupli-<br />

caria e a quantidade de m<strong>em</strong>ória disponível nas máquinas de teste era de somente 1.5<br />

GB.<br />

Naturalmente, esta extracção, pelo eleva<strong>do</strong> custo t<strong>em</strong>poral que acarreta, só faz senti-<br />

<strong>do</strong> ser executada sobre o circuito final. Em fases de projecto anteriores, utilizar-se-iam<br />

discretizações menos finas, obten<strong>do</strong>-se uma menor precisão, mas uma extracção bastante<br />

mais rápida. Por outro la<strong>do</strong>, presume-se que, caso fosse possível aumentar a discretização,<br />

sobretu<strong>do</strong> na direcção z, o modelo final teria ainda uma maior precisão.


5.4. EXEMPLO DE CIRCUITO DE COMPLEX<strong>ID</strong>ADE INDUSTRIAL 93<br />

Figura 5.14: Layout <strong>do</strong> circuito de complexidade industrial (PLL) utiliza<strong>do</strong> para teste.<br />

Nome da Contacto Contacto Valor da<br />

Resistência 1 2 Resistência (Ω)<br />

R10 1 backplane 5042.5<br />

R20 2 backplane 163.4154<br />

R12 1 2 259.3659<br />

R30 3 backplane 712.7910<br />

R13 1 3 4170.0<br />

R23 2 3 181.6250<br />

R40 4 backplane 1145.2<br />

R14 1 4 7485.0<br />

R24 2 4 200.3673<br />

R34 3 4 10967<br />

Tabela 5.13: Conjunto selecciona<strong>do</strong> de resistências de acoplamento para o circuito da<br />

PLL obtidas com o SMX.


94 CAPÍTULO 5. VAL<strong>ID</strong>AÇÃO DO MODELO EXTRAÍDO<br />

Extracção <strong>do</strong> <strong>Acoplamento</strong> pelo <strong>Substrato</strong> da PLL<br />

Discretização 513 257 5<br />

Dimensão <strong>do</strong> Sist<strong>em</strong>a 659205<br />

T<strong>em</strong>po de Setup 452.10 s<br />

T<strong>em</strong>po de Extracção (10 contactos) 9854.49 s<br />

T<strong>em</strong>po Total de Execução (10 contactos) 10309.76 s<br />

Requisitos de M<strong>em</strong>ória 846420 kB<br />

Estimativa <strong>do</strong> T<strong>em</strong>po Total de Execução (471 contactos) 5 dias e 9 horas<br />

Tabela 5.14: Recursos computacionais necessários para a extracção <strong>do</strong> modelo de acopla-<br />

mento pelo substrato relativo ao circuito da PLL. Valores obti<strong>do</strong>s num Pentium III a 1200<br />

MHz com 256 kB de cache e 1.5 GB de RAM.


Capítulo 6<br />

Comparação Entre Méto<strong>do</strong>s<br />

Para efeitos de comparação <strong>do</strong> des<strong>em</strong>penho <strong>do</strong>s méto<strong>do</strong>s numéricos experimenta<strong>do</strong>s neste<br />

trabalho, elaboraram-se <strong>do</strong>is probl<strong>em</strong>as de configuração simples. Sobre estes probl<strong>em</strong>as<br />

foram testa<strong>do</strong>s os diferentes algoritmos para vários níveis de discretização.<br />

As figuras de mérito utilizadas para qualificar o des<strong>em</strong>penho <strong>do</strong>s algoritmos foram:<br />

número de iterações, m<strong>em</strong>ória máxima utilizada e t<strong>em</strong>po total de execução. Foram também<br />

analisa<strong>do</strong>s os t<strong>em</strong>pos por iteração e de setup de cada algoritmo e feito um estu<strong>do</strong> sobre a<br />

evolução da norma <strong>do</strong> resíduo e a complexidade experimental obtida para alguns méto<strong>do</strong>s.<br />

6.1 Configurações de Teste<br />

6.1.1 Um Contacto Com Backplane<br />

Na Figura 6.1 representa-se a vista superior <strong>do</strong> layout usa<strong>do</strong> neste primeiro probl<strong>em</strong>a,<br />

sen<strong>do</strong> o correspondente perfil <strong>do</strong> substrato esqu<strong>em</strong>atiza<strong>do</strong> na Figura 6.2. O des<strong>em</strong>penho<br />

<strong>do</strong>s algoritmos testa<strong>do</strong>s está sumaria<strong>do</strong> nas Tabelas 6.1, 6.2, 6.3 e 6.4.<br />

Os algoritmos basea<strong>do</strong>s <strong>em</strong> Multigrid são de longe os que apresentam o menor número<br />

de iterações. O custo deste tipo de algoritmos está no t<strong>em</strong>po de cada iteração e não no<br />

número total de iterações <strong>do</strong> algoritmo. Por outro la<strong>do</strong>, os restantes méto<strong>do</strong>s são de<br />

iteração rápida (exig<strong>em</strong> basicamente uma multiplicação matriz-vector), mas apresentam<br />

um relativamente eleva<strong>do</strong> número de iterações.<br />

Em termos de t<strong>em</strong>po de execução, verifica-se que o reduzi<strong>do</strong> número de iterações<br />

que os algoritmos MG apresentam é, neste caso, acima de compensatório. Mesmo ten<strong>do</strong><br />

95


96 CAPÍTULO 6. COMPARAÇÃO ENTRE MÉTODOS<br />

100<br />

Figura 6.1: Layout da configuração de um contacto com backplane.<br />

1<br />

100<br />

2x2<br />

100<br />

100<br />

condutividade = 20 Ohm.cm<br />

100<br />

backplane<br />

Figura 6.2: Perfil <strong>do</strong> substrato da configuração de um contacto com backplane.<br />

Méto<strong>do</strong> 9 9 5 17 17 9 33 33 17 65 65 33 129 129 65<br />

GE (405) (2601) (18513) (139425) (1081665)<br />

GS 1437 1876 3646 10188 32647<br />

GMRES 62 83 104 183 348<br />

CG 75 96 132 189 290<br />

PGMRES 11 17 29 47 87<br />

PCG 10 16 29 46 88<br />

MG 21 13 7 4 3<br />

FMG 25 14 7 4 3<br />

MGPCG 7 5 4 3 3<br />

Tabela 6.1: Comparação <strong>do</strong> número de iterações <strong>do</strong>s diversos méto<strong>do</strong>s testa<strong>do</strong>s para<br />

uma configuração com um contacto. Os valores entre parênteses refer<strong>em</strong>-se ao número<br />

de passos <strong>do</strong> processo de eliminação gaussiana, sen<strong>do</strong> numericamente iguais à dimensão<br />

<strong>do</strong> sist<strong>em</strong>a para cada caso.


6.1. CONFIGURAÇÕES DE TESTE 97<br />

Méto<strong>do</strong> 9 9 5 17 17 9 33 33 17 65 65 33 129 129 65<br />

GE 0.17 38.25 4386.39 - -<br />

GS 0.11 4.67 82.62 1803.37 45299.01<br />

GMRES 0.02 0.27 7.09 144.27 2125.82<br />

CG 0.01 0.19 2.55 31.20 369.14<br />

PGMRES 0.00 0.09 1.46 29.85 617.18<br />

PCG 0.01 0.08 1.09 13.52 189.30<br />

MG 0.03 0.38 2.65 18.55 140.20<br />

FMG 0.04 0.44 2.87 19.14 142.24<br />

MGPCG 0.03 0.29 2.26 17.09 136.08<br />

Tabela 6.2: Comparação <strong>do</strong> t<strong>em</strong>po de execução (s) <strong>do</strong>s diversos méto<strong>do</strong>s testa<strong>do</strong>s para<br />

uma configuração com um contacto. As entradas não preenchidas refer<strong>em</strong>-se a ex-<br />

periências que não se realizaram por ser<strong>em</strong> d<strong>em</strong>asia<strong>do</strong> d<strong>em</strong>oradas e não ter<strong>em</strong> grande<br />

interesse prático.<br />

um custo de t<strong>em</strong>po por iteração muito superior ao <strong>do</strong> PCG (Tabela 6.3), o MG consegue<br />

superá-lo <strong>em</strong> termos de t<strong>em</strong>po total de execução.<br />

Verifica-se que o MG é, neste caso, um bom pré-condiciona<strong>do</strong>r para o PCG, pois o<br />

MGPCG é de to<strong>do</strong>s os algoritmos o mais rápi<strong>do</strong>, apresentan<strong>do</strong> um ganho de aproximada-<br />

mente 28% face ao PCG.<br />

A mais valia <strong>em</strong> termos de t<strong>em</strong>po de execução <strong>do</strong> MG é paga à custa de uma maior<br />

quantidade de m<strong>em</strong>ória necessária para correr o algoritmo (Tabela 6.4). É de rel<strong>em</strong>brar<br />

que o MG precisa de uma representação <strong>em</strong> m<strong>em</strong>ória <strong>do</strong>s sist<strong>em</strong>as Ahxh¡bh <strong>em</strong> to<strong>do</strong>s<br />

os níveis h, se b<strong>em</strong> que, à medida que se progride de nível para nível, a complexidade<br />

<strong>do</strong> sist<strong>em</strong>a se vai reduzin<strong>do</strong> <strong>em</strong> cerca de 8 vezes por nível. Além disto, há que guardar<br />

para cada nível, excepto para o inferior, os opera<strong>do</strong>res de projecção e interpolação. Estas<br />

razões levam a que os algoritmos basea<strong>do</strong>s <strong>em</strong> MG apresent<strong>em</strong> uma ocupação de m<strong>em</strong>ória<br />

que é cerca <strong>do</strong> <strong>do</strong>bro da necessária pelo PCG e cerca <strong>do</strong> quádruplo da necessária pelo GS.<br />

Esta é, de facto, a maior desvantag<strong>em</strong> <strong>do</strong> MG, da<strong>do</strong> que tipicamente os recursos de<br />

m<strong>em</strong>ória das estações de trabalho actuais não ultrapassam os 3 GB e isso restringe a<br />

utilização de MG a discretizações de 257 129 129 ou equivalentes.


98 CAPÍTULO 6. COMPARAÇÃO ENTRE MÉTODOS<br />

Méto<strong>do</strong> 33 33 17 65 65 33 129 129 65<br />

GS 0.02 0.18 1.39<br />

GMRES 0.07 0.78 6.09<br />

CG 0.02 0.16 1.24<br />

PGMRES 0.04 0.60 6.95<br />

PCG 0.03 0.26 2.01<br />

MG 0.14 1.27 10.82<br />

FMG 0.17 1.43 11.51<br />

MGPCG 0.15 1.28 9.88<br />

Tabela 6.3: Comparação <strong>do</strong> t<strong>em</strong>po de iteração (s) <strong>do</strong>s diversos méto<strong>do</strong>s testa<strong>do</strong>s para<br />

uma configuração com um contacto.<br />

Méto<strong>do</strong> 9 9 5 17 17 9 33 33 17 65 65 33 129 129 65<br />

GE 2848 29144 755760 - -<br />

GS 1740 2264 5476 29756 216792<br />

GMRES 2160 4476 21100 146572 1121744<br />

CG 1756 2392 6784 39572 292860<br />

PGMRES 2224 4916 24256 170412 1307140<br />

PCG 1800 2692 8924 55776 419088<br />

MG 1944 3660 15632 105876 802676<br />

FMG 1944 3660 15632 105876 802676<br />

MGPCG 1944 3660 15632 105876 802676<br />

Tabela 6.4: Comparação da m<strong>em</strong>ória (kB) ocupada pelos diversos méto<strong>do</strong>s testa<strong>do</strong>s<br />

para uma configuração com um contacto. As entradas não preenchidas refer<strong>em</strong>-se a ex-<br />

periências que não se realizaram por ser<strong>em</strong> d<strong>em</strong>asia<strong>do</strong> d<strong>em</strong>oradas e não ter<strong>em</strong> grande<br />

interesse prático.


6.1. CONFIGURAÇÕES DE TESTE 99<br />

Os GMRES e PGMRES apresentam ainda valores de ocupação de m<strong>em</strong>ória superiores<br />

aos <strong>do</strong>s algoritmos basea<strong>do</strong>s <strong>em</strong> MG, da<strong>do</strong> que reservam, no caso da impl<strong>em</strong>entação<br />

utilizada, uma sobrestimativa de m<strong>em</strong>ória necessária para os vectores de ortogonalização<br />

ao longo das várias iterações.<br />

Em relação às versões pré-condicionadas <strong>do</strong>s algoritmos GMRES e CG, verifica-se<br />

que estas introduz<strong>em</strong> um acréscimo no t<strong>em</strong>po gasto por iteração, mas proporcionam um<br />

menor número de iterações. Esta troca é vantajosa <strong>em</strong> termos de t<strong>em</strong>po, pois o PGMRES<br />

resolve o probl<strong>em</strong>a <strong>em</strong> cerca de 29% <strong>do</strong> t<strong>em</strong>po <strong>do</strong> GMRES e o PCG <strong>em</strong> cerca de 51% <strong>do</strong><br />

t<strong>em</strong>po <strong>do</strong> CG.<br />

O facto <strong>do</strong>s GMRES e PGMRES apresentar<strong>em</strong> números de iterações e t<strong>em</strong>pos bas-<br />

tante piores que os correspondentes CG e PCG, está relaciona<strong>do</strong> com o processo de<br />

recomeço (restarting) <strong>do</strong>s algoritmos basea<strong>do</strong>s <strong>em</strong> GMRES [41]. Nesta impl<strong>em</strong>entação<br />

<strong>do</strong> GMRES faz-se o recomeço <strong>do</strong> algoritmo de m <strong>em</strong> m iterações, sen<strong>do</strong> este parâmetro m<br />

especifica<strong>do</strong> à priori. Caso se escolha um parâmetro m eleva<strong>do</strong>, pode não existir m<strong>em</strong>ória<br />

suficiente para o GMRES correr, da<strong>do</strong> que ele aloca uma matriz densa de m N en-<br />

tradas, <strong>em</strong> que N é a dimensão <strong>do</strong> sist<strong>em</strong>a. Se, pelo contrário, se escolher um valor<br />

reduzi<strong>do</strong> para m, o algoritmo faz recomeços frequentes, o que pode piorar a sua con-<br />

vergência. Nos testes apresenta<strong>do</strong>s usou-se m¡100, o que pareceu ser um valor razoável.<br />

Verificou-se experimentalmente que diferentes valores de m conduz<strong>em</strong> a diferentes t<strong>em</strong>-<br />

pos de execução, como se pode ver pela Tabela 6.5. Contrariamente ao que se possa<br />

pensar, a experiência com m¡50 revela o melhor t<strong>em</strong>po de execução, pois a pesquisa da<br />

solução é feita por ortogonalização com uma máximo de 50 vectores, enquanto que com<br />

m¡150 é necessário fazer as contas com to<strong>do</strong>s os vectores obti<strong>do</strong>s até então (150 nas<br />

pior das hipóteses). Isto faz com que com o menor valor de m se tenha o menor custo por<br />

iteração e, como tal, mesmo com um número de iterações superior, o t<strong>em</strong>po de execução<br />

é menor. No entanto, há-de existir um limite inferior para m, para o qual o algoritmo não<br />

convergirá, da<strong>do</strong> que o GMRES só é garanti<strong>do</strong> convergir caso não haja restart.<br />

Os t<strong>em</strong>pos de setup <strong>do</strong>s vários algoritmos apresentam-se na Tabela 6.6, onde se pode<br />

ver que os algoritmos basea<strong>do</strong>s <strong>em</strong> MG apresentam t<strong>em</strong>pos de setup quase dez vezes<br />

superiores aos <strong>do</strong>s outros méto<strong>do</strong>s. Estes eleva<strong>do</strong>s t<strong>em</strong>pos de setup dev<strong>em</strong>-se aos cálculos<br />

<strong>do</strong>s opera<strong>do</strong>res de projecção e interpolação e das matrizes de sist<strong>em</strong>a nos vários níveis.


100 CAPÍTULO 6. COMPARAÇÃO ENTRE MÉTODOS<br />

Número de iterações Número total T<strong>em</strong>po de M<strong>em</strong>ória<br />

antes <strong>do</strong> restart de iterações execução (s) ocupada (kB)<br />

50 235 108.79 84244<br />

100 183 148.79 138768<br />

150 144 175.56 193336<br />

Tabela 6.5: Influência <strong>do</strong> processo de restarting no des<strong>em</strong>penho <strong>do</strong> GMRES.<br />

Méto<strong>do</strong> 17 17 9 33 33 17 65 65 33 129 129 65<br />

PGMRES 0.03 0.21 1.61 12.53<br />

PCG 0.03 0.22 1.62 12.67<br />

MG 0.21 1.70 13.47 107.73<br />

FMG 0.21 1.70 13.44 107.71<br />

MGPCG 0.21 1.65 13.25 106.43<br />

Tabela 6.6: Comparação <strong>do</strong> t<strong>em</strong>po de setup (s) <strong>do</strong>s diversos méto<strong>do</strong>s testa<strong>do</strong>s para a<br />

configuração com um contacto. Para os méto<strong>do</strong>s PGMRES e PCG a fase de setup com-<br />

preende o cálculo da matriz de pré-condicionamento. No caso <strong>do</strong> MGPCG trata-se <strong>do</strong><br />

t<strong>em</strong>po de setup <strong>do</strong> MG.<br />

Os méto<strong>do</strong>s pré-condiciona<strong>do</strong>s apresentam ainda um acréscimo no t<strong>em</strong>po de setup <strong>em</strong><br />

relação aos méto<strong>do</strong>s não pré-condiciona<strong>do</strong>s devi<strong>do</strong> ao t<strong>em</strong>po de cálculo da matriz de<br />

pré-condicionamento, que, neste trabalho, corresponde a uma factorização incompleta de<br />

Cholesky.<br />

6.1.2 Dois Contactos S<strong>em</strong> Backplane<br />

Na Figura 6.3 apresenta-se a vista superior <strong>do</strong> layout correspondente a esta segunda<br />

configuração de teste, sen<strong>do</strong> o perfil <strong>do</strong> substrato representa<strong>do</strong> na Figura 6.4. O de-<br />

s<strong>em</strong>penho <strong>do</strong>s algoritmos testa<strong>do</strong>s está patente nas Tabelas 6.7, 6.8, 6.9. As entradas<br />

preenchidas com um traço correspond<strong>em</strong> a experiências de execução muito d<strong>em</strong>orada e<br />

s<strong>em</strong> grande interesse prático, pelo qual não foram concluídas.<br />

No que toca ao número de iterações, o MG e afins voltam a ser os algoritmos que<br />

detêm os melhores resulta<strong>do</strong>s. Estes algoritmos apresentam, aliás, um número de iterações


6.1. CONFIGURAÇÕES DE TESTE 101<br />

100<br />

100<br />

100<br />

20<br />

100<br />

2x2 2x2<br />

Figura 6.3: Layout da configuração de <strong>do</strong>is contactos s<strong>em</strong> backplane.<br />

1 1<br />

100<br />

condutividade = 20 Ohm.cm<br />

100<br />

100<br />

backplane<br />

Figura 6.4: Perfil <strong>do</strong> substrato da configuração de <strong>do</strong>is contactos s<strong>em</strong> backplane.<br />

Méto<strong>do</strong> 17 9 5 33 17 9 65 33 17 129 65 33 257 129 65<br />

GE (765) (5049) (36465) (276705) (2154945)<br />

GS 191 1262 5466.5 16726 -<br />

GMRES 76 92.5 121 190 -<br />

CG 94.5 120.5 149 248.5 441<br />

PGMRES 12.5 21 34.5 62.5 114.5<br />

PCG 12 20 34 64 119.5<br />

MG 22.5 14 7 5 24<br />

FMG 23.5 14 8 6 10<br />

MGPCG 7 6 4.5 4 10<br />

Tabela 6.7: Comparação <strong>do</strong> número médio de iterações <strong>do</strong>s diversos méto<strong>do</strong>s testa<strong>do</strong>s<br />

para uma configuração com <strong>do</strong>is contactos. As entradas não preenchidas refer<strong>em</strong>-se a<br />

experiências que não se realizaram por ser<strong>em</strong> d<strong>em</strong>asia<strong>do</strong> d<strong>em</strong>oradas e não ter<strong>em</strong> grande<br />

interesse prático.


102 CAPÍTULO 6. COMPARAÇÃO ENTRE MÉTODOS<br />

Méto<strong>do</strong> 17 9 5 33 17 9 65 33 17 129 65 33 257 129 65<br />

GE 2.27 284.31 40160.03 - -<br />

GS 0.06 14.42 502.06 11728.21 -<br />

GMRES 0.12 1.46 55.22 1064.31 -<br />

CG 0.03 0.99 11.72 157.64 2121.89<br />

PGMRES 0.02 0.39 8.73 186.35 3137.77<br />

PCG 0.01 0.33 4.77 67.23 935.43<br />

MG 0.26 5.60 218.70 51.18 924.41<br />

FMG 0.16 1.52 8.78 60.16 630.72<br />

MGPCG 0.08 0.84 6.05 45.51 533.32<br />

Tabela 6.8: Comparação <strong>do</strong> t<strong>em</strong>po de execução (s) <strong>do</strong>s diversos méto<strong>do</strong>s testa<strong>do</strong>s para<br />

uma configuração com <strong>do</strong>is contactos. As entradas não preenchidas refer<strong>em</strong>-se a ex-<br />

periências que não se realizaram por ser<strong>em</strong> d<strong>em</strong>asia<strong>do</strong> d<strong>em</strong>oradas e não ter<strong>em</strong> grande<br />

interesse prático.<br />

praticamente constante. Repare-se que a complexidade <strong>do</strong> probl<strong>em</strong>a aumenta <strong>em</strong> cerca de<br />

8 vezes de nível de discretização para nível de discretização, enquanto que os algoritmos<br />

basea<strong>do</strong>s <strong>em</strong> MG apresentam uma evolução abaixo de linear (na ord<strong>em</strong> de constante).<br />

Em termos de t<strong>em</strong>po de execução, para este ex<strong>em</strong>plo, o MG apresenta resulta<strong>do</strong>s na<br />

ord<strong>em</strong> <strong>do</strong> PCG, ainda que ligeiramente melhores. No entanto, o FMG continua a ser<br />

bastante melhor que o PCG. O MGPCG mantém-se claramente como o mais rápi<strong>do</strong> de<br />

to<strong>do</strong>s os méto<strong>do</strong>s para probl<strong>em</strong>as de elevada complexidade.<br />

6.2 Característica de Convergência <strong>do</strong>s Méto<strong>do</strong>s<br />

Nesta secção apresenta-se a evolução da norma <strong>do</strong> resíduo para os algoritmos mais im-<br />

portantes. Pode ver-se pela Figura 6.5 que o Multigrid possui uma taxa de convergência,<br />

<strong>em</strong> termos práticos, constante.<br />

Na Figura 6.6 pode ver-se com maior pormenor a evolução da norma <strong>do</strong> resíduo para<br />

os algoritmos basea<strong>do</strong>s <strong>em</strong> MG e para o PCG. Enquanto que os algoritmos Multigrid<br />

consegu<strong>em</strong> resolver o probl<strong>em</strong>a <strong>em</strong> cerca de 15 iterações, o PCG <strong>em</strong> igual número de


6.3. ANÁLISE EXPERIMENTAL DA COMPLEX<strong>ID</strong>ADE DOS MÉTODOS 103<br />

Méto<strong>do</strong> 17 9 5 33 17 9 65 33 17 129 65 33 257 129 65<br />

GE 5696 103840 2951376 - -<br />

GS 1860 3024 11284 72888 -<br />

GMRES 3380 11240 68584 505560 -<br />

CG 1916 3380 13860 92356 700944<br />

PGMRES 2672 7904 46064 336444 336444<br />

PCG 2000 3956 18064 124512 952428<br />

MG 2440 6980 39712 286060 2207428<br />

FMG 2440 6980 39712 286060 2207428<br />

MGPCG 2488 7300 42016 303372 2342116<br />

Tabela 6.9: Comparação da m<strong>em</strong>ória (kB) ocupada pelos diversos méto<strong>do</strong>s testa<strong>do</strong>s para<br />

uma configuração com <strong>do</strong>is contactos. As entradas não preenchidas refer<strong>em</strong>-se a ex-<br />

periências que não se realizaram por ser<strong>em</strong> d<strong>em</strong>asia<strong>do</strong> d<strong>em</strong>oradas e não ter<strong>em</strong> grande<br />

interesse prático.<br />

iterações atingiu apenas uma norma de resíduo entre 1 e 0.1. No entanto, isto não significa<br />

que o MG seja s<strong>em</strong>pre melhor que o PCG, da<strong>do</strong> que o factor t<strong>em</strong>po é também muito<br />

importante e cada iteração MG, como se viu, é muito d<strong>em</strong>orada.<br />

O Multigrid Full-Cycle, ou Full Multigrid, apresenta a melhor evolução da norma<br />

<strong>do</strong> resíduo, sen<strong>do</strong> segui<strong>do</strong> pelo MG e só depois pelo MGPCG, que t<strong>em</strong> já bastante <strong>em</strong><br />

comum com o PCG. Verifica-se, no entanto, que o facto de o PCG ser pré-condiciona<strong>do</strong><br />

pelo MG faz com que a sua característica de convergência seja muito mais parecida com<br />

a <strong>do</strong> MG <strong>do</strong> que com a <strong>do</strong> PCG.<br />

6.3 Análise Experimental da Complexidade <strong>do</strong>s Méto<strong>do</strong>s<br />

6.3.1 Complexidade <strong>do</strong> Número de Iterações<br />

Na Figura 6.7 apresenta-se a evolução <strong>do</strong> t<strong>em</strong>po de execução <strong>do</strong>s méto<strong>do</strong>s CG, PCG e<br />

MG segun<strong>do</strong> a complexidade <strong>do</strong> probl<strong>em</strong>a. Verifica-se que o CG apresenta uma evolução<br />

quadrática, enquanto que o PCG cresce linearmente. Por sua vez, o MG apresenta um<br />

número de iterações aproximadamente constante.


104 CAPÍTULO 6. COMPARAÇÃO ENTRE MÉTODOS<br />

Conclui-se que o número de iterações <strong>do</strong> MG é independente da complexidade <strong>do</strong><br />

probl<strong>em</strong>a [17, 18]. O aparente decréscimo <strong>do</strong> número de iterações <strong>do</strong> MG deve-se a<br />

variações geométricas originadas pelo aumento da discretização.<br />

6.3.2 Complexidade <strong>do</strong> T<strong>em</strong>po de Execução<br />

A Figura 6.8 mostra a evolução <strong>do</strong> t<strong>em</strong>po de execução <strong>do</strong>s méto<strong>do</strong>s CG, PCG e MG<br />

conforme o número de nós da grelha. Os declives das rectas <strong>do</strong> gráfico são de 36<br />

104 para o CG, 19 104 para o PCG e 13 104 para o MG. Como tal, é o MG<br />

que apresenta o melhor des<strong>em</strong>penho <strong>em</strong> termos de t<strong>em</strong>po para complexidades elevadas.<br />

Quanto maior for a complexidade <strong>do</strong> probl<strong>em</strong>a a resolver, maior é a vantag<strong>em</strong> <strong>em</strong> termos<br />

de t<strong>em</strong>po <strong>em</strong> usar MG.<br />

6.3.3 Complexidade <strong>do</strong> T<strong>em</strong>po de Iteração<br />

Na Figura 6.9 pode ver-se a evolução <strong>do</strong> t<strong>em</strong>po gasto por iteração consoante a complexi-<br />

dade <strong>do</strong> probl<strong>em</strong>a a resolver. As curvas apresentadas na figura estão de acor<strong>do</strong> com os va-<br />

lores teóricos obti<strong>do</strong>s anteriormente: 13N para o CG, 19N para o PCG e 97N para o MG.<br />

O valor previsto para o MG é uma sobre-estimativa, da<strong>do</strong> que foram feitas aproximações<br />

por excesso no cálculo <strong>do</strong> número de operações aritméticas envolvidas nas operações de<br />

transferência inter-grelha.<br />

6.3.4 Complexidade <strong>do</strong>s Requisitos de M<strong>em</strong>ória<br />

A evolução da quantidade de m<strong>em</strong>ória necessária pelos méto<strong>do</strong>s consoante a dimensão<br />

<strong>do</strong> sist<strong>em</strong>a a resolver, encontra-se representada na Figura 6.10. Constata-se que é neste<br />

aspecto que o MG t<strong>em</strong> o seu ponto fraco. A m<strong>em</strong>ória por ele ocupada excede os requisitos<br />

tanto <strong>do</strong> CG com <strong>do</strong> PCG.<br />

A m<strong>em</strong>ória ocupada pelo MG aumenta de forma mais brusca devi<strong>do</strong> aos requisitos de<br />

m<strong>em</strong>ória adicionais para os opera<strong>do</strong>res de projecção e interpolação. Os declives das rectas<br />

<strong>do</strong> gráfico são de 0.27 para o CG, 0.39 para o PCG e 0.74 para o MG. Estes resulta<strong>do</strong>s<br />

confirmam os resulta<strong>do</strong>s teóricos obti<strong>do</strong>s anteriormente, <strong>em</strong> que se previram os seguintes<br />

valores para os requisitos de m<strong>em</strong>ória: 12N para o CG, 19N para o PCG e 75N para o MG.


6.3. ANÁLISE EXPERIMENTAL DA COMPLEX<strong>ID</strong>ADE DOS MÉTODOS 105<br />

Novamente, o valor previsto para o MG é exagera<strong>do</strong>, pois, tal como foi dito, baseia-se <strong>em</strong><br />

sobrestimativas <strong>do</strong> número de el<strong>em</strong>entos <strong>do</strong>s opera<strong>do</strong>res de projecção e interpolação e das<br />

matrizes de sist<strong>em</strong>a.


106 CAPÍTULO 6. COMPARAÇÃO ENTRE MÉTODOS<br />

Norma <strong>do</strong> Resíduo<br />

10 2<br />

10 0<br />

10 −2<br />

10 −4<br />

10 −6<br />

10 −8<br />

10 −10<br />

GMRES<br />

CG<br />

PCG<br />

MG<br />

MGPCG<br />

10<br />

0 10 20 30 40 50 60 70 80 90 100<br />

−12<br />

Número de Iterações<br />

Norma <strong>do</strong> Resíduo<br />

10 2<br />

10 0<br />

10 −2<br />

10 −4<br />

10 −6<br />

10 −8<br />

10 −10<br />

(a)<br />

GMRES<br />

CG<br />

PCG<br />

MG<br />

MGPCG<br />

10<br />

0 10 20 30 40 50 60 70 80 90 100<br />

−12<br />

Número de Iterações<br />

Norma <strong>do</strong> Resíduo<br />

10 2<br />

10 0<br />

10 −2<br />

10 −4<br />

10 −6<br />

10 −8<br />

10 −10<br />

(b)<br />

GMRES<br />

CG<br />

PCG<br />

MG<br />

MGPCG<br />

10<br />

0 10 20 30 40 50 60 70 80 90 100<br />

−12<br />

Número de Iterações<br />

(c)<br />

Figura 6.5: Evolução da norma <strong>do</strong> resíduo ao longo <strong>do</strong> número de iterações para<br />

discretizações de 33 33 17 (a), 65 65 33 (b) e 129 129 65 (c).


6.3. ANÁLISE EXPERIMENTAL DA COMPLEX<strong>ID</strong>ADE DOS MÉTODOS 107<br />

Norma <strong>do</strong> resíduo<br />

10 2<br />

10 0<br />

10 −2<br />

10 −4<br />

10 −6<br />

10 −8<br />

10 −10<br />

MG<br />

FMG<br />

MGPCG<br />

PCG<br />

10<br />

0 2 4 6 8 10 12 14 16<br />

−12<br />

Número de iterações<br />

Figura 6.6: Evolução da norma <strong>do</strong> resíduo conforme o número de iterações.<br />

Número de Iterações<br />

300<br />

250<br />

200<br />

150<br />

100<br />

50<br />

10 2<br />

0<br />

10 3<br />

10 4<br />

10 5<br />

Número de Nós da Grelha<br />

10 6<br />

CG<br />

PCG<br />

MG<br />

Figura 6.7: Complexidade <strong>do</strong> número de iterações.<br />

10 7


108 CAPÍTULO 6. COMPARAÇÃO ENTRE MÉTODOS<br />

T<strong>em</strong>po de Execução (s)<br />

T<strong>em</strong>po de Iteração (s)<br />

10 3<br />

10 2<br />

10 1<br />

10 0<br />

10 −1<br />

10 −2<br />

10 2<br />

10 1<br />

10 0<br />

10 −1<br />

10 −2<br />

10 −3<br />

10 2<br />

10 3<br />

10 4<br />

10 5<br />

Número de Nós da Grelha<br />

Figura 6.8: Complexidade <strong>do</strong> t<strong>em</strong>po de execução.<br />

10 3<br />

10 4<br />

10 5<br />

Número de Nós da Grelha<br />

Figura 6.9: Complexidade <strong>do</strong> t<strong>em</strong>po de iteração.<br />

10 6<br />

10 6<br />

CG<br />

PCG<br />

MG<br />

CG<br />

PCG<br />

MG<br />

10 7<br />

10 7


6.3. ANÁLISE EXPERIMENTAL DA COMPLEX<strong>ID</strong>ADE DOS MÉTODOS 109<br />

Requisitos de M<strong>em</strong>ória (kB)<br />

10 6<br />

10 5<br />

10 4<br />

10 2<br />

10 3<br />

10 3<br />

10 4<br />

10 5<br />

Número de Nós da Grelha<br />

Figura 6.10: Complexidade de m<strong>em</strong>ória.<br />

10 6<br />

CG<br />

PCG<br />

MG<br />

10 7


110 CAPÍTULO 6. COMPARAÇÃO ENTRE MÉTODOS


Capítulo 7<br />

Extracção de Modelos Dinâmicos<br />

Capacitivos<br />

A aproximação quase-estacionária feita no capítulo 2 é tradicionalmente aceite como<br />

sen<strong>do</strong> válida apenas para frequências de operação até cerca de 10 GHz, da<strong>do</strong> que o t<strong>em</strong>-<br />

po de relaxação <strong>do</strong> substrato é na ord<strong>em</strong> de 1012 s [15]. Dada a evolução tecnológica,<br />

verifica-se no entanto que se começa a tornar frequente o projecto de circuitos a operar a<br />

frequências mais elevadas. Coloca-se portanto, a questão sobre a validade <strong>do</strong>s modelos<br />

actualmente utiliza<strong>do</strong>s para o acoplamento pelo substrato e qual deverá ser a evolução <strong>do</strong>s<br />

mesmos. Para se obter um modelo preciso para frequências mais elevadas há que conside-<br />

rar as capacidades intrínsecas <strong>do</strong> substrato. É importante rel<strong>em</strong>brar que se assumiu neste<br />

trabalho que os el<strong>em</strong>entos capacitivos entre dispositivos e substrato, entre dispositivos e<br />

poços, e entre poços e substrato são obti<strong>do</strong>s por uma ferramenta externa e, portanto, são<br />

s<strong>em</strong>pre ti<strong>do</strong>s <strong>em</strong> consideração na simulação acoplada <strong>do</strong> circuito com o substrato. É ape-<br />

nas no que respeita ao modelo intrínseco de acoplamento pelo substrato que a questão se<br />

coloca. Embora a obtenção de modelos dinâmicos capacitivos caia fora <strong>do</strong> âmbito deste<br />

trabalho, será de seguida delineada e validada a forma como tal poderia ser realiza<strong>do</strong>.<br />

7.1 Modelos RC<br />

Não se desprezan<strong>do</strong> os efeitos capacitivos intrínsecos à propagação de correntes através<br />

<strong>do</strong> substrato, o modelo de acoplamento deseja<strong>do</strong> é o que se ex<strong>em</strong>plifica na Figura 7.1<br />

111


112 CAPÍTULO 7. EXTRACÇÃO DE MODELOS DINÂMICOS CAPACITIVOS<br />

para uma configuração com três contactos. O sist<strong>em</strong>a correspondente a este modelo é<br />

representa<strong>do</strong> por:<br />

R10<br />

dvc¢t¤<br />

Cc<br />

(7.1)<br />

dt Gcvc¢t¤¡ic¢t¤<br />

1 R12 2 R23<br />

3<br />

C10<br />

C12<br />

R20<br />

R13<br />

C20<br />

C13<br />

C23<br />

R30 C30<br />

Figura 7.1: Modelo RC para uma configuração de três contactos.<br />

<strong>em</strong> que Gc e Cc são, respectivamente, as matrizes de condutâncias e de capacidades de<br />

acoplamento entre contactos e ic e vc, respectivamente, as correntes e tensões nos contac-<br />

tos.<br />

De forma análoga ao que foi feito para os modelos puramente resistivos, a obtenção<br />

<strong>do</strong>s parâmetros <strong>do</strong> modelo deseja<strong>do</strong>, Gc e Cc (matrizes de dimensão igual ao número de<br />

contactos), será feita utilizan<strong>do</strong> o méto<strong>do</strong> das diferenças finitas. Neste méto<strong>do</strong> procede-se<br />

a uma discretização <strong>em</strong> volume que conduz a um sist<strong>em</strong>a cuja resolução, utilizan<strong>do</strong> fontes<br />

de excitação apropriadas, permite obter Gc e Cc. O modelo RC obti<strong>do</strong> desta forma é um<br />

modelo linear de primeira ord<strong>em</strong> que é exactamente aquilo com que os simula<strong>do</strong>res de<br />

circuitos estão habitua<strong>do</strong>s a lidar.<br />

Com o objectivo de considerar as capacidades intrínsecas <strong>do</strong> substrato, este passaria a<br />

ser modela<strong>do</strong> por uma rede tridimensional de resistências <strong>em</strong> paralelo com capacidades,<br />

i.e., uma malha RC, tal como está ilustra<strong>do</strong> na Figura 7.2 e como foi visto na equação<br />

(2.14). Utilizan<strong>do</strong> a formulação <strong>do</strong> méto<strong>do</strong> nodal, o sist<strong>em</strong>a tridimensional a resolver<br />

passaria então a ser:<br />

C dv¢t¤<br />

(7.2)<br />

dt<br />

obviamente s<strong>em</strong>elhante a (7.1), mas <strong>em</strong> que C e G são as matrizes com os el<strong>em</strong>entos<br />

Gv¢t¤¡i¢t¤<br />

capacitivos e resistivos da malha tridimensional representada na Figura 7.2 e v e i, respec-


7.1. MODELOS RC 113<br />

Figura 7.2: Modelo resistivo-capacitivo <strong>do</strong> substrato.<br />

tivamente, as tensões nos nós da malha e as correntes eventualmente injectadas nestes.<br />

Em regime alterna<strong>do</strong> sinusoidal:<br />

<strong>do</strong> qual resulta:<br />

v¢t¤¡ReVejω1t¡Vejω1tφ1<br />

i¢t¤¡ReIejω2t¡Iejω2tφ2<br />

(7.3)<br />

¢GjωC¤Ve jω1tφ1¡Ie jω2tφ2 (7.4)<br />

Como o sist<strong>em</strong>a é linear, ω1¡ω2ω, pelo que:<br />

¢GjωC¤Ve φ1¡Ie φ2¢GjωC¤V¡I (7.5)<br />

Tal como foi feito anteriormente, os parâmetros <strong>do</strong> modelo <strong>do</strong> substrato serão obti<strong>do</strong>s<br />

resolven<strong>do</strong> (7.5) com excitações apropriadas. As tensões impostas nos nós <strong>do</strong>s contactos<br />

são transformadas pelo equivalente de Norton <strong>em</strong> correntes injectadas nos nós adjacentes<br />

aos contactos. Este processo é ilustra<strong>do</strong> na Figura 7.3 e é s<strong>em</strong>elhante ao que foi feito para<br />

os modelos resistivos. Para simplificar os cálculos, e analogamente ao que foi feito aquan-<br />

<strong>do</strong> da obtenção <strong>do</strong>s modelos puramente resistivos, são impostas nos contactos tensões<br />

sinusoidais de frequência fixa ω, amplitude de 1V e desfasag<strong>em</strong> nula, que correspond<strong>em</strong><br />

a correntes dadas por Ii¡¢Gi jjωCi j¤Vj¡¢Gi jjωCi j¤(Figura 7.3). As tensões <strong>do</strong>s<br />

nós i adjacentes aos nós j que pertenc<strong>em</strong> aos contactos serão genericamente designadas<br />

por Vad j.


114 CAPÍTULO 7. EXTRACÇÃO DE MODELOS DINÂMICOS CAPACITIVOS<br />

i<br />

Gij<br />

Cij<br />

j<br />

+<br />

-<br />

Vj<br />

Gij<br />

i<br />

Cij<br />

Ii=(Gij+jwCij)Vj<br />

Figura 7.3: Esqu<strong>em</strong>a <strong>do</strong> equivalente de Norton para modelos resistivo-capacitivos.<br />

Assim sen<strong>do</strong>, a grandeza complexa I, que é a parte direita <strong>do</strong> sist<strong>em</strong>a a resolver, é<br />

constituída por el<strong>em</strong>entos nulos, correspondentes a nós s<strong>em</strong> fontes de corrente, e por<br />

el<strong>em</strong>entos complexos, obti<strong>do</strong>s pelo equivalente de Norton e relativos aos nós da grelha<br />

tridimensional que estão directamente liga<strong>do</strong>s aos contactos.<br />

Pode reescrever-se então o sist<strong>em</strong>a tridimensional como sen<strong>do</strong>:<br />

¢GjωC¤¢VGjωVC¤¡IGjωIC<br />

(7.6)<br />

<strong>em</strong> que VG e ωVC são as partes real e imaginária de V e IG e ωIC as partes real e imag-<br />

inária de I. É importante notar a analogia de (7.6) com (2.14) caso se despreze o efeito<br />

capacitivo.<br />

Este sist<strong>em</strong>a pode ser resolvi<strong>do</strong> da mesma forma pela qual o sist<strong>em</strong>a (2.15) era re-<br />

solvi<strong>do</strong> anteriormente, haven<strong>do</strong>, no entanto, a necessidade de tratar to<strong>do</strong>s os números<br />

como sen<strong>do</strong> complexos e de usar funções de factorização e resolução que trat<strong>em</strong> números<br />

complexos. Em alternativa, pode dividir-se a equação (7.6) nas suas partes real e imagi-<br />

nária, fican<strong>do</strong> com <strong>do</strong>is sist<strong>em</strong>as reais:<br />

GVGω 2CVC¡IG CVGGVC¡IC<br />

(7.7)<br />

No entanto, esta segunda forma de resolução de um sist<strong>em</strong>a complexo é menos efi-<br />

ciente que a primeira [39] (basta observar que o sist<strong>em</strong>a terá uma maior dimensão, com<br />

as consequentes repercussões nas propriedades numéricas das estruturas intervenientes e,<br />

claro, nos requisitos de recursos computacionais).<br />

Como foi visto anteriormente, o méto<strong>do</strong> usa<strong>do</strong> para retirar a coluna i da matriz<br />

jωCc, que modela o acoplamento, é colocar o contacto i a uma tensão sinusoidal de am- Gc<br />

plitude fixa e recolher as correntes que entram nos outros contactos (e no backplane).


7.2. MODELOS RC PARA SUBSTRATOS COM APENAS UMA CAMADA 115<br />

Utilizan<strong>do</strong> este processo, e depois de resolver o sist<strong>em</strong>a (7.6), obtêm-se as tensões<br />

<strong>em</strong> to<strong>do</strong>s os nós <strong>do</strong> substrato, pelo que se pode retirar as tensões nos nós adjacentes aos<br />

contactos, Vad j. Feito isto, calculam-se as correntes que entram <strong>em</strong> cada contacto através<br />

da fórmula:<br />

Ic¡Yad jVad j¡¢Gad jjωCad j¤Vad j<br />

(7.8)<br />

<strong>em</strong> que Yad j são as admitâncias correspondentes aos nós adjacentes aos contactos. Depois<br />

de determina<strong>do</strong> Ic pode retirar-se o modelo de acoplamento para o contacto i. Como o<br />

único contacto com tensão imposta não nula é o contacto i (vci¢t¤¡Vci e jωt , com Vci¡1V)<br />

da Equação (7.1) surge que as colunas i de Gc e Cc são obtidas por:<br />

ω<br />

Gci¡ReIc<br />

Cci¡ImIc<br />

(7.9)<br />

Ao contrário <strong>do</strong> caso <strong>do</strong>s modelos resistivos, neste caso as correntes que entram /<br />

sa<strong>em</strong> de cada contacto são grandezas complexas, pelo que quan<strong>do</strong> se forma a matriz de<br />

acoplamento, se obtêm uma condutância <strong>em</strong> paralelo com uma capacidade. A parte real<br />

das correntes <strong>do</strong>s contactos representa as condutâncias de acoplamento entre contactos,<br />

enquanto que a parte imaginária representa as capacidades.<br />

7.2 Modelos RC para <strong>Substrato</strong>s com Apenas Uma Ca-<br />

mada<br />

No caso particular da análise <strong>do</strong> acoplamento <strong>em</strong> substratos com apenas uma camada,<br />

pod<strong>em</strong> fazer-se algumas aproximações na resolução <strong>do</strong> sist<strong>em</strong>a complexo a resolver. Os<br />

el<strong>em</strong>entos de G pod<strong>em</strong> ser calcula<strong>do</strong>s da seguinte forma:<br />

Quanto aos el<strong>em</strong>entos de C t<strong>em</strong>-se:<br />

gi j¡σ Si j<br />

li j<br />

ci j¡ε Si j<br />

li j<br />

(7.10)<br />

(7.11)


116 CAPÍTULO 7. EXTRACÇÃO DE MODELOS DINÂMICOS CAPACITIVOS<br />

Nos substratos com uma única camada, os parâmetros σ e ε pod<strong>em</strong> considerar-se<br />

constantes <strong>em</strong> to<strong>do</strong> o substrato, pelo que para cada volume da malha tridimensional que<br />

discretiza o substrato:<br />

Deste resulta<strong>do</strong> pode retirar-se que, no sist<strong>em</strong>a (7.6):<br />

ci j<br />

(7.12)<br />

gi j¡σ<br />

εα<br />

C¡αG<br />

IC¡αIG<br />

(7.13)<br />

O sist<strong>em</strong>a a resolver transforma-se então <strong>em</strong> (novamente com i¢t¤¡Ie jωt ,<br />

V e v¢t¤¡<br />

jωt e I¡IGjIC):<br />

¢GjωαG¤V¡IGjωαIGGV¡IG (7.14)<br />

Como se pode ver, não é necessário sequer criar a matriz C, da<strong>do</strong> que esta é igual à<br />

matriz G à parte o factor α (igual <strong>em</strong> senti<strong>do</strong> numérico; a interpretação física e as unidades<br />

são, naturalmente, diversas). A vantag<strong>em</strong> está no facto de que calcular V, neste caso<br />

particular, corresponde a resolver o sist<strong>em</strong>a real (7.14), ao invés de um sist<strong>em</strong>a complexo.<br />

Isto é um resulta<strong>do</strong> extr<strong>em</strong>amente vantajoso para substratos com uma camada, pois<br />

significa que com apenas uma resolução de um sist<strong>em</strong>a real, tal como se fazia para a<br />

obtenção <strong>do</strong> modelo resistivo, obtém-se, praticamente s<strong>em</strong> custo adicional, um modelo<br />

resistivo-capacitivo.<br />

Depois de obter a matriz de condutâncias entre contactos, Gc, basta multiplicá-la por<br />

α, de mo<strong>do</strong> a obter a matriz de capacidades entre contactos, Cc. Isto verifica-se, pois<br />

como Ic¡Yad jVad j e Yad j¡Gad jjωCad j:<br />

Gci¡ReIc¡Gad jVad j<br />

Cci¡ImIc<br />

ω<br />

¡Cad jVad j¡αGad jVad j¡αGci<br />

(7.15)<br />

Infelizmente, este resulta<strong>do</strong> só se aplica a substratos de camada única, que não são os<br />

mais usa<strong>do</strong>s hoje <strong>em</strong> dia.


7.3. GAMA DE VAL<strong>ID</strong>ADE DO MODELO RC 117<br />

7.3 Gama de Validade <strong>do</strong> Modelo RC<br />

Nesta secção averigua-se sobre a gama de frequências para a qual os modelos dinâmicos<br />

propostos são váli<strong>do</strong>s, b<strong>em</strong> como sobre a sua relevância e precisão.<br />

7.3.1 Relevância <strong>do</strong>s Modelos Dinâmicos<br />

Esta secção t<strong>em</strong> como objectivo verificar de forma simplificada a necessidade de utilização<br />

<strong>do</strong> modelo dinâmico proposto neste capítulo. Pretende-se, simultaneamente, mostrar que,<br />

no caso de substratos de camada única, é possível a obtenção <strong>do</strong> modelo de acoplamento<br />

com apenas uma resolução de sist<strong>em</strong>a real <strong>do</strong> tipo GV¡IG. Para estes efeitos foi extraí<strong>do</strong><br />

o modelo RC <strong>do</strong> substrato <strong>do</strong> circuito apresenta<strong>do</strong> na Figura 7.4. O modelo a obter é o<br />

que se ilustrou na Figura 7.1.<br />

10<br />

10<br />

1x1<br />

10<br />

10 10<br />

2x2<br />

3x3<br />

10<br />

40x20<br />

15 Ohm.cm<br />

1.054 pF/cm<br />

Figura 7.4: Layout e perfil <strong>do</strong> substrato para o circuito de teste com três contactos.<br />

Os valores das resistências e capacidades apresentadas na figura foram obti<strong>do</strong>s de duas<br />

formas distintas, mas com resulta<strong>do</strong>s iguais, como seria de esperar. Inicialmente foi usa<strong>do</strong><br />

o SMX para produzir as estruturas G, C, IG, IC, b<strong>em</strong> como o vector das admitâncias ad-<br />

jacentes Yad j. O primeiro méto<strong>do</strong> de obtenção <strong>do</strong> modelo consistiu <strong>em</strong> resolver o sist<strong>em</strong>a<br />

GV¡IG no SMX obten<strong>do</strong>-se a parte resistiva <strong>do</strong> modelo e, no final, multiplicar os valores<br />

das condutâncias obtidas por α, obten<strong>do</strong>-se, desta forma, a parte capacitiva <strong>do</strong> modelo.<br />

Quanto ao segun<strong>do</strong> méto<strong>do</strong>, utilizan<strong>do</strong> os valores das estruturas obtidas com o SMX, foi<br />

resolvi<strong>do</strong> o sist<strong>em</strong>a complexo (7.6) no Matlab [50] e de uma só vez extraídas as partes<br />

resistiva e capacitiva <strong>do</strong> modelo. Os valores obti<strong>do</strong>s, que se confirma ser<strong>em</strong> os mesmos<br />

<strong>em</strong> ambos os méto<strong>do</strong>s, apresentam-se na Tabela 7.1.<br />

Analisan<strong>do</strong> o modelo tridimensional de admitâncias inerente à discretização tridimen-<br />

0<br />

1<br />

10


118 CAPÍTULO 7. EXTRACÇÃO DE MODELOS DINÂMICOS CAPACITIVOS<br />

Contacto 1 Contacto 2 Resistência Capacidade<br />

1 backplane 23 kΩ 687 aF<br />

1 2 243 kΩ 65.0 aF<br />

1 3 1.6 MΩ 9.91 aF<br />

2 backplane 16.3 kΩ 970 aF<br />

2 3 113 kΩ 139 aF<br />

3 backplane 11.4 kΩ 1.38 fF<br />

Tabela 7.1: Valores das resistências e capacidades <strong>do</strong> modelo de acoplamento pelo sub-<br />

strato para a configuração de três contactos.<br />

sional <strong>do</strong> substrato, pode avaliar-se o peso da componente capacitiva <strong>em</strong> relação à com-<br />

ponente condutiva. Neste caso, t<strong>em</strong>-se entre <strong>do</strong>is nós genéricos, i e j, uma condutância<br />

gi j <strong>em</strong> paralelo com uma capacitância ci j. Esta componente capacitiva assume um valor<br />

significativo quan<strong>do</strong> corresponder a uma percentag<strong>em</strong> significativa da componente con-<br />

dutiva. Admitin<strong>do</strong>, por ex<strong>em</strong>plo, 10% como relevante:<br />

ωci j01gi jωε Si j<br />

li j01σ Si j<br />

li jω01 σ<br />

(7.16)<br />

Para a tecnologia utilizada neste ex<strong>em</strong>plo, a frequência ω para a qual a componente ca-<br />

ε<br />

pacitiva da malha que modela o substrato começa a ser relevante é ω¡633Grads<br />

de<br />

f1GHz.<br />

Usan<strong>do</strong> os valores obti<strong>do</strong>s na extracção, e ten<strong>do</strong> <strong>em</strong> mente o modelo reduzi<strong>do</strong> apre-<br />

senta<strong>do</strong> na Figura 7.1, pode calcular-se o valor de frequência a partir <strong>do</strong> qual os el<strong>em</strong>entos<br />

capacitivos deste modelo começam a ter relevância face aos el<strong>em</strong>entos resistivos. Neste<br />

ex<strong>em</strong>plo, utilizan<strong>do</strong> os valores de R10 e C10, verifica-se que:<br />

ωC1001G10ω633Gradsf1GHz (7.17)<br />

utilizan<strong>do</strong> como ex<strong>em</strong>plo um factor de 10%.<br />

Neste caso, a frequência é a mesma para qualquer par RC, da<strong>do</strong> que a condutividade<br />

e a permitividade têm a mesma relação <strong>em</strong> to<strong>do</strong> o substrato. Este valor de frequência<br />

condiz com o resulta<strong>do</strong> obti<strong>do</strong> para os el<strong>em</strong>entos da malha de admitâncias, exactamente<br />

porque o substrato usa<strong>do</strong> neste ex<strong>em</strong>plo é de camada única.


7.3. GAMA DE VAL<strong>ID</strong>ADE DO MODELO RC 119<br />

Os resulta<strong>do</strong>s desta secção vêm confirmar a aproximação feita neste e noutros trabal-<br />

hos quanto à validade <strong>do</strong>s modelos resistivos, <strong>em</strong> que se considera que estes são váli<strong>do</strong>s<br />

para frequências de operação até alguns GHz, dependen<strong>do</strong> da tecnologia.<br />

7.3.2 Precisão <strong>do</strong> Modelo RC<br />

Como foi visto na secção anterior, torna-se necessário, para frequências superiores a al-<br />

guns GHz, a utilização de um modelo dinâmico de acoplamento. O modelo proposto<br />

neste capítulo pretende resolver este probl<strong>em</strong>a, sen<strong>do</strong> no entanto igualmente importante<br />

verificar a sua precisão e gama de validade. Para obviar esta questão serão analisadas <strong>em</strong><br />

detalhe algumas características essenciais <strong>do</strong> modelo proposto.<br />

Escreven<strong>do</strong> a equação (7.2) sob a transformada de Laplace, obtém-se:<br />

¢GsC¤V¡I (7.18)<br />

que representa as propriedades electromagnéticas da malha tridimensional que modela o<br />

substrato.<br />

No caso <strong>do</strong> probl<strong>em</strong>a de acoplamento pelo substrato a entrada é a tensão fixa im-<br />

posta no único contacto que está “activo” e a saída é a corrente injectada <strong>em</strong> cada um<br />

<strong>do</strong>s outros contactos. No entanto, e como foi explica<strong>do</strong> anteriormente, da<strong>do</strong> utilizar-se<br />

a formulação nodal simples, não é a tensão de excitação que é imposta nos nós <strong>do</strong> con-<br />

tacto “activo”, sen<strong>do</strong> sim injectadas nos nós adjacentes as correntes correspondentes ao<br />

respectivo equivalente de Norton. Supon<strong>do</strong>, por ex<strong>em</strong>plo, que se impõe uma tensão sinu-<br />

soidal de amplitude e frequência fixas, V1, no contacto 1, esta tensão é transformada <strong>em</strong><br />

correntes da seguinte forma:<br />

I¡Yad j1 V1<br />

i1<br />

i2<br />

.<br />

iN<br />

y21<br />

.<br />

¡ y11<br />

yN1<br />

V1 (7.19)<br />

<strong>em</strong> que I é o vector de todas as correntes injectadas nos nós da malha tridimensional,<br />

cujas únicas entradas não nulas correspond<strong>em</strong> às correntes injectadas nos nós <strong>do</strong> contacto<br />

activo e Yad j1 as admitâncias a eles adjacentes.


120 CAPÍTULO 7. EXTRACÇÃO DE MODELOS DINÂMICOS CAPACITIVOS<br />

Em relação à saída, a corrente num outro contacto 2, por ex<strong>em</strong>plo, I2, esta é obtida<br />

através <strong>do</strong> vector das tensões de to<strong>do</strong>s os nós da malha que discretiza o substrato, por:<br />

I2¡Y T ad j2VI2¡y12 y22<br />

<br />

yN2 v1<br />

v2<br />

.<br />

vN<br />

(7.20)<br />

Pode então reescrever-se a equação (7.18) de mo<strong>do</strong> a reflectir a relação entre a entrada,<br />

V1, e a saída, I2, da seguinte forma:<br />

I2<br />

V1¡Y T ad j2C¢GsC¤1 Yad j1<br />

onde Yad j2 representa as admitâncias adjacentes ao contacto 2.<br />

(7.21)<br />

Como as admitâncias adjacentes, usadas para efectuar as transformações supra-referidas,<br />

operam no interior da primeira camada <strong>do</strong> substrato, da<strong>do</strong> que é aí que se encontram to-<br />

<strong>do</strong>s os contactos, existe uma proporcionalidade constante entre as suas partes real (con-<br />

dutância) e imaginária (capacitância). Verifica-se então que, sen<strong>do</strong> α¡σ1<br />

ε1 , <strong>em</strong> que ε1 é a<br />

permitividade da primeira camada e σ1 a sua condutividade, e Cad j¡αGad j:<br />

Yad j1¡¢1sα¤Gad j1<br />

Yad j2¡¢1sα¤Gad j2<br />

Posto isto, pode reescrever-se a função de transferência obtida <strong>em</strong> (7.21) como:<br />

I2<br />

T<br />

Gad j2 V1¡¢1sα¤2 C¢GsC¤1 Gad j1<br />

<br />

Hs <br />

(7.22)<br />

(7.23)<br />

Nesta equação, H¢s¤ass<strong>em</strong>elha-se à matriz de transferência de um sist<strong>em</strong>a linear cujo<br />

modelo de esta<strong>do</strong>s é de obtenção trivial [44]. De [44] sabe-se que os pólos da matriz de<br />

transferência são da<strong>do</strong>s pelos valores próprios da matrizC1 G no presente caso.<br />

Verifica-se experimentalmente que o sist<strong>em</strong>a da<strong>do</strong> por H¢s¤t<strong>em</strong> N pólos, <strong>em</strong> que N é o<br />

número de nós da malha de discretização, e N1 zeros, que anulam to<strong>do</strong>s os pólos menos<br />

um, pelo que o seu diagrama de Bode de ganho será s<strong>em</strong>elhante ao que se apresenta na<br />

Figura 7.5.


7.3. GAMA DE VAL<strong>ID</strong>ADE DO MODELO RC 121<br />

Ganho [dB]<br />

190<br />

180<br />

170<br />

160<br />

150<br />

140<br />

130<br />

10 4<br />

120<br />

10 6<br />

10 8<br />

10 10<br />

10 12<br />

Frequencia [rad/s]<br />

Figura 7.5: Diagrama de Bode <strong>do</strong> ganho da função H(s).<br />

Em relação à componente¢1sα¤2 , ela insere um duplo zero no sist<strong>em</strong>a, sen<strong>do</strong> a sua<br />

localização dada por α1 . Como esta componente é relativa ao equivalente de Norton das<br />

excitações nos contactos, refere-se à primeira camada <strong>do</strong> substrato, pelo que α1¡ε1<br />

σ1 .<br />

Após um conjunto de experiências com diversos perfis e parâmetros tecnológicos,<br />

chegou-se à conclusão de que a frequência de corte <strong>do</strong> modelo tridimensional é aproxi-<br />

madamente dada pela relação ε1<br />

σ1<br />

10 14<br />

relativa à primeira camada. Isto acontece, pois estan<strong>do</strong><br />

os contactos (entradas e saídas) <strong>do</strong> sist<strong>em</strong>a localiza<strong>do</strong>s no topo <strong>do</strong> substrato, é a dinâmica<br />

da primeira camada que determina efectivamente a dinâmica <strong>do</strong> sist<strong>em</strong>a <strong>do</strong> ponto de vista<br />

<strong>do</strong>s seus terminais.<br />

Apresentam-se na Figura 7.6, os diagramas de Bode para o ganho <strong>do</strong>s modelos tridi-<br />

mensional e reduzi<strong>do</strong>, para o perfil C da Figura 5.12.<br />

Os parâmetros <strong>do</strong> modelo reduzi<strong>do</strong> da Figura 7.1 foram obti<strong>do</strong>s por resolução de (7.5)<br />

a uma frequência fixa de ε1<br />

σ1¢¡9491 10 11 rads¤.<br />

Como se pode ver pelo diagrama de Bode, o modelo reduzi<strong>do</strong> representa uma boa<br />

aproximação ao modelo tridimensional. Na gama de frequências apresentada o erro não<br />

supera os 3 dB.<br />

Conclui-se que o modelo dinâmico proposto é váli<strong>do</strong> para uma alargada gama de fre-<br />

quências, oferecen<strong>do</strong> adicionalmente uma elevada precisão. É de salientar ainda, que para<br />

10 16<br />

10 18


122 CAPÍTULO 7. EXTRACÇÃO DE MODELOS DINÂMICOS CAPACITIVOS<br />

Ganho [dB]<br />

140<br />

120<br />

100<br />

80<br />

60<br />

40<br />

20<br />

0<br />

10 0<br />

−20<br />

Modelo 3D<br />

Modelo Reduzi<strong>do</strong><br />

10 5<br />

10 10<br />

Frequencia [rad/s]<br />

Figura 7.6: Diagrama de Bode comparativo entre os modelos reduzi<strong>do</strong> e tridimensional.<br />

frequências ainda mais elevadas, a aproximação quase-estacionária deixaria de ser válida,<br />

pelo que o méto<strong>do</strong> de obtenção <strong>do</strong> modelo de acoplamento teria que ser reformula<strong>do</strong>, algo<br />

que cairia fora <strong>do</strong> âmbito desta dissertação.<br />

10 15<br />

10 20


Capítulo 8<br />

Conclusões e Trabalho Futuro<br />

Durante o trabalho subjacente à presente dissertação foi desenvolvida uma ferramenta<br />

de extracção, o SMX, com a capacidade de obter um modelo resistivo <strong>do</strong> acoplamento<br />

através <strong>do</strong> substrato de um circuito integra<strong>do</strong> genérico. O modelo obti<strong>do</strong> foi valida<strong>do</strong><br />

através de experiências fisicamente comprováveis e por comparação com modelos obti<strong>do</strong>s<br />

por outros extractores.<br />

Na aproximação utilizada na discretização <strong>do</strong> substrato <strong>do</strong> circuito a analisar utilizou-<br />

-se o méto<strong>do</strong> de diferenças finitas (FDM), o que faz com que a ferramenta tenha capaci-<br />

dade de analisar substratos com quaisquer dimensões e número de camadas sen<strong>do</strong> por isso<br />

extr<strong>em</strong>amente versátil. Além disto, é possível especificar a profundidade <strong>do</strong>s poços, con-<br />

tactos e guard-rings, ao contrário <strong>do</strong> que acontece com outras ferramentas de extracção.<br />

Verificou-se que estas propriedades geométricas <strong>do</strong> circuito n<strong>em</strong> s<strong>em</strong>pre são desprezáveis<br />

e é de esperar que, nesses casos, o SMX apresente uma precisão superior <strong>em</strong> relação a<br />

outros extractores.<br />

Um <strong>do</strong>s factores mais importantes que influenciam a precisão e o des<strong>em</strong>penho da fer-<br />

ramenta é a discretização. É necessário que esta seja correctamente elaborada de forma a<br />

conduzir a matrizes b<strong>em</strong> condicionadas (que permit<strong>em</strong> uma resolução rápida <strong>do</strong> proble-<br />

ma) e a soluções com uma boa precisão.<br />

Face à dimensão elevada <strong>do</strong>s sist<strong>em</strong>as a resolver torna-se necessário o recurso a<br />

méto<strong>do</strong>s iterativos. No probl<strong>em</strong>a <strong>em</strong> análise o algoritmo PCG (Preconditioned Conju-<br />

gate Gradient) surge como uma solução equilibrada, dada a sua reduzida ocupação de<br />

m<strong>em</strong>ória e um bom t<strong>em</strong>po de execução. Neste trabalho, verificou-se que a inclusão de<br />

123


124 CAPÍTULO 8. CONCLUSÕES E TRABALHO FUTURO<br />

algoritmos basea<strong>do</strong>s <strong>em</strong> Multigrid (MG, FMG e MGPCG) na ferramenta desenvolvida<br />

permite a redução significativa <strong>do</strong> t<strong>em</strong>po de cálculo <strong>do</strong> modelo, <strong>em</strong> comparação com o<br />

PCG, <strong>em</strong>bora os seus requisitos de m<strong>em</strong>ória sejam superiores.<br />

O modelo obti<strong>do</strong> é resistivo e verifica-se ser suficient<strong>em</strong>ente preciso para modelar com<br />

exactidão o acoplamento via substrato <strong>em</strong> circuitos a operar a frequências até à dezena de<br />

GHz. Embora a grande maioria <strong>do</strong>s circuitos actuais funcione ainda a frequências abaixo<br />

desse valor, assiste-se à proliferação de circuitos de telecomunicações <strong>em</strong> que esse limite<br />

de frequência de operação está a ser ultrapassa<strong>do</strong>. Ten<strong>do</strong> isto <strong>em</strong> mente, no capítulo 7<br />

dissertou-se sobre a obtenção de modelos dinâmicos capacitivos, ten<strong>do</strong>-se inclusive ver-<br />

ifica<strong>do</strong> que o SMX pode ser directamente usa<strong>do</strong> para extrair modelos RC no caso de<br />

substratos de camada única. Para outro tipo de substratos, a ferramenta poderia igual-<br />

mente ser utilizada, mas teria que ser modificada de mo<strong>do</strong> a poder trabalhar com número<br />

complexos.<br />

A integração da ferramenta desenvolvida, por ex<strong>em</strong>plo, no ambiente de projecto Ca-<br />

dence Design Framework II da Cadence Design Syst<strong>em</strong>s seria de realização relativamente<br />

fácil. Seria apenas necessário fazer uma interface de entrada com o formato SIPP [48],<br />

ao invés <strong>do</strong> formato CIF usa<strong>do</strong>, e fazer uma interface de saída <strong>em</strong> sintaxe <strong>do</strong> simula<strong>do</strong>r<br />

Spectre. Feito isto, poderia substituir-se a ferramenta Subx [46] da Cadence pelo SMX.<br />

Em termos de comparação com as ferramentas comerciais existentes no merca<strong>do</strong>, o<br />

Space [45] e o Subx, por ex<strong>em</strong>plo, pode concluir-se que o modelo obti<strong>do</strong> pelo SMX,<br />

é mais preciso, da<strong>do</strong> que não assume que o substrato é infinito <strong>em</strong> termos de área, entre<br />

outras aproximações, e terá vantag<strong>em</strong> <strong>em</strong> ser utiliza<strong>do</strong> <strong>em</strong> circuitos de modesta dimensão.<br />

O SMX é uma ferramenta <strong>em</strong> que se valoriza a precisão da solução obtida, com t<strong>em</strong>pos<br />

de execução bastante reduzi<strong>do</strong>s face a essa precisão, mas <strong>em</strong> que, no entanto, a m<strong>em</strong>ória<br />

ocupada pode ser uma limitação.<br />

Há, portanto, vários campos <strong>em</strong> que se pode investir no futuro. Sen<strong>do</strong> a principal<br />

limitação da ferramenta a m<strong>em</strong>ória, é natural enveredar por uma aproximação paralela<br />

ao probl<strong>em</strong>a. Uma solução de computação numa arquitectura tipo cluster, com m<strong>em</strong>ória<br />

distribuída, permite, simultaneamente, a resolução de probl<strong>em</strong>as de maior dimensão e<br />

a diminuição <strong>do</strong> t<strong>em</strong>po de execução <strong>do</strong> algoritmo. Um <strong>do</strong>s principais entraves a es-<br />

ta aproximação de computação paralela é o facto de o probl<strong>em</strong>a físico ser dificilmente


dividi<strong>do</strong> <strong>em</strong> partições, da<strong>do</strong> que na rede tridimensional de resistências to<strong>do</strong>s os nós de-<br />

pend<strong>em</strong> directamente <strong>do</strong>s nós adjacentes. Existe trabalho já feito nessa área [18, 47] <strong>em</strong><br />

que a abordag<strong>em</strong> passa por paralelizar os processos de relaxação, cálculo <strong>do</strong> resíduo e<br />

transferências inter-grelha, ao invés de dividir o probl<strong>em</strong>a <strong>em</strong> sub-<strong>do</strong>mínios.<br />

125<br />

Outra hipótese de investir no futuro será a da obtenção de modelos resistivo-capacitivos,<br />

tal como foi explica<strong>do</strong> no capítulo 7. Para tal, basta modificar o código <strong>do</strong> SMX de mo<strong>do</strong> a<br />

utilizar as estruturas de da<strong>do</strong>s e funções complexas da biblioteca utilizada (MESCHACH<br />

[49]). Isto permitiria a extracção de um modelo completo <strong>do</strong> substrato, permitin<strong>do</strong> a<br />

utilização da ferramenta na simulação de circuitos de radio-frequência.<br />

Uma igualmente interessante possibilidade de trabalho futuro, seria a da integração<br />

da ferramenta SMX num ambiente de projecto standard, de mo<strong>do</strong> a explorar de forma<br />

mais completa as suas capacidades. O facto de o SMX não estar integra<strong>do</strong> num fluxo<br />

de projecto convencional, torna difícil a validação <strong>do</strong>s modelos por ele obti<strong>do</strong>s. Seria<br />

também conveniente desenvolver protótipos de circuitos de teste de mo<strong>do</strong> a poder<strong>em</strong><br />

fazer-se medidas e verificar a precisão <strong>do</strong> modelo obti<strong>do</strong>. Os circuitos de teste poderi-<br />

am ser simula<strong>do</strong>s, para tal usan<strong>do</strong> os modelos obti<strong>do</strong>s por vários extractores, incluin<strong>do</strong><br />

o SMX, e os resulta<strong>do</strong>s compara<strong>do</strong>s com medições feitas no circuito real. Desta forma,<br />

poder-se-ia deliberar sobre a exactidão de cada uma das ferramentas utilizadas para extrair<br />

os modelos.<br />

Em suma, as avenidas de trabalho futuro são, entre outras:<br />

Impl<strong>em</strong>entação paralela da ferramenta;<br />

Obtenção de modelos dinâmicos capacitivos;<br />

Integração da ferramenta num ambiente de projecto convencional;<br />

Em caso de uma impl<strong>em</strong>entação stand-alone:<br />

– Elaboração de uma interface gráfica para melhor interacção com o utiliza<strong>do</strong>r;<br />

– Adição da possibilidade de visualização tridimensional <strong>do</strong> substrato, b<strong>em</strong> co-<br />

mo <strong>do</strong> modelo obti<strong>do</strong> pela ferramenta, de mo<strong>do</strong> a fornecer uma maior sensi-<br />

bilidade ao projectista;


126 CAPÍTULO 8. CONCLUSÕES E TRABALHO FUTURO<br />

Desenvolvimento de um circuito de teste para efeitos de verificação <strong>do</strong> modelo<br />

obti<strong>do</strong> pelo SMX e sua comparação com modelos obti<strong>do</strong>s por outros extractores.


Apêndice A<br />

Manual <strong>do</strong> SMX<br />

A.1 Instalação<br />

O SMX, Substrate Model Extractor, foi programa<strong>do</strong> <strong>em</strong> ANSI C, ten<strong>do</strong>-se utiliza<strong>do</strong> a<br />

versão 3.0 para a apresentação de resulta<strong>do</strong>s nesta dissertação. Este programa corre<br />

<strong>em</strong> Linux ou <strong>em</strong> qualquer tipo de sist<strong>em</strong>a operativo basea<strong>do</strong> no Unix. Para instalar o<br />

SMX deve obter-se o pacote com a biblioteca de méto<strong>do</strong>s numéricos e matrizes esparsas<br />

MESCHACH [49].<br />

Após instalação da biblioteca MESCHACH, os seguintes passos dev<strong>em</strong> ser executa<strong>do</strong>s<br />

de mo<strong>do</strong> a instalar o SMX, por ex<strong>em</strong>plo sob o directório /usr/local/src:<br />

prompt> cp smx-3.0.tar.gz /usr/local/src<br />

prompt> cd /usr/local/src<br />

prompt> tar zxvf smx-3.0.tar.gz<br />

prompt> cd smx-3.0<br />

prompt> make<br />

Isto cria um o executável smx no sub-directório smx-3.0.<br />

A.2 Execução<br />

Para executar o SMX basta fazer:<br />

127


128 APÊNDICE A. MANUAL DO SMX<br />

prompt> smx<br />

smx: No input file<br />

syntax: smx [-ge | -mg | -pcg | -gs | -gmres |<br />

-lsqr | -mgcr | -cg | -pgmres]<br />

switches:<br />

-mg: use Multi-Grid V-Cycle iterative method (default)<br />

-f: use Multi-Grid Full-Cycle iterative method<br />

-ge: use Gaussian Elimination direct method<br />

-pcg: use Pre-conditioned Conjugate Gradient iterative method<br />

-gs: use Gauss-Seidel iterative method<br />

-gmres: use Generalized Minimum RESidual iterative method<br />

-lsqr: use Least SQuaRes iterative method<br />

-mgcr: use Modified Generalized Conjugate Residual iterative<br />

method<br />

-cg: use Conjugate Gradient iterative method<br />

-pgmres: use Pre-conditioned Generalized Minimum RESidual it-<br />

erative method<br />

Como se pode observar, o número mínimo de parâmetros é de 1 e trata-se <strong>do</strong> nome <strong>do</strong><br />

ficheiro <strong>em</strong> formato CIF (Caltech Interchange Format) que contém a descrição <strong>do</strong> layout<br />

a ser analisa<strong>do</strong>.<br />

Um ex<strong>em</strong>plo de um ficheiro <strong>em</strong> formato CIF apresenta-se de seguida:<br />

L diff<br />

B 2 2 100 100<br />

L well<br />

B 4 4 110 100<br />

O segun<strong>do</strong> parâmetro, opcional, permite especificar o méto<strong>do</strong> a ser utiliza<strong>do</strong>: MG,<br />

MGPCG, FMG, PCG, GMRES, para mencionar os mais conheci<strong>do</strong>s. Em caso de omissão<br />

deste parâmetro será usa<strong>do</strong> o méto<strong>do</strong> Multigrid.<br />

É também necessário dispor, no directório onde se está a executar o SMX, de três


A.2. EXECUÇÃO 129<br />

ficheiros de tecnologia, nomeadamente:<br />

3 1<br />

4<br />

1<br />

4<br />

depths.tec<br />

layercuts.tec<br />

substdim.tec<br />

O primeiro ficheiro t<strong>em</strong> um conteú<strong>do</strong> s<strong>em</strong>elhante ao seguinte:<br />

Os primeiros <strong>do</strong>is números especificam o número de linhas e colunas <strong>do</strong> resto <strong>do</strong><br />

ficheiro, respectivamente. O terceiro número especifica a profundidade <strong>do</strong>s poços, o quar-<br />

to a profundidade das difusões e o último número a profundidade <strong>do</strong>s guard-rings.<br />

2 2<br />

Quanto ao ficheiro layercuts.tec, o seu conteú<strong>do</strong> é algo como:<br />

10 100<br />

100 6.667<br />

Neste ficheiro defin<strong>em</strong>-se as várias camadas <strong>do</strong> substrato. Os números na primeira<br />

linha têm o mesmo significa<strong>do</strong> que no ficheiro anterior. Segu<strong>em</strong>-se os pares de valor<br />

de profundidade e condutividade de cada camada. No ex<strong>em</strong>plo apresenta<strong>do</strong> existe uma<br />

camada (epitaxial) com 10 µm de profundidade e condutividade 100 S/m sobre o corpo<br />

<strong>do</strong> substrato que vai desde a profundidade de 10 µm até à profundidade de 100 µm (90<br />

µm de espessura) e t<strong>em</strong> uma condutividade de 6.667 S/m.<br />

O último ficheiro contém somente os limites <strong>do</strong> substrato <strong>em</strong> x e y, respectivamente.<br />

O limite <strong>em</strong> z é implicitamente defini<strong>do</strong> no ficheiro layercuts.tec. Um ex<strong>em</strong>plo de<br />

substdim.tec é:<br />

210 200


130 APÊNDICE A. MANUAL DO SMX<br />

A.3 Fluxograma <strong>do</strong> SMX<br />

Na Figura A.1 apresenta-se o fluxograma de alto nível da ferramenta de extracção desen-<br />

volvida.<br />

Ler ficheiros de layout<br />

e de tecnologia<br />

Efectuar<br />

discretização mínima<br />

Inserir cortes adicionais<br />

Calcular condutâncias<br />

entre pontos da grelha<br />

Formar matriz de<br />

condutâncias, A<br />

Aplicar equivalente de<br />

Norton aos nós <strong>do</strong>s contactos<br />

R<strong>em</strong>over nós <strong>do</strong>s poços<br />

Calcular opera<strong>do</strong>res de<br />

projecção e interpolação<br />

Figura A.1: Fluxograma <strong>do</strong> SMX<br />

Calcular matrizes de<br />

condutâncias <strong>do</strong>s níveis<br />

inferiores<br />

Calcular vector b<br />

Calcular factorizações<br />

necessárias (LU, ICH)<br />

Para to<strong>do</strong>s os<br />

nós de k = 1...N<br />

Colocar nós <strong>do</strong><br />

contacto k a 1V<br />

Resolver o sist<strong>em</strong>a Ax=b<br />

Recolher correntes que<br />

entram nos outros contactos<br />

Formar coluna k da matriz<br />

que relaciona os contactos


Apêndice B<br />

Análise da Complexidade <strong>do</strong>s Méto<strong>do</strong>s<br />

Iterativos<br />

B.1 Méto<strong>do</strong> de Jacobi<br />

A multiplicação da matriz LU de 6 diagonais por xk1consiste <strong>em</strong> 6N multiplicações<br />

e 5N adições. A subtracção b¢LU¤xk1consta de N adições. Quanto ao passo<br />

D1b¢LU¤xk1émais eficiente ter a matriz diagonal D1 previamente calculada,<br />

pelo que se trata simplesmente <strong>do</strong> equivalente a uma multiplicação vector-vector, ou seja,<br />

N multiplicações. Na Tabela B.1 resum<strong>em</strong>-se estes cálculos.<br />

Este méto<strong>do</strong> necessita de reserva de m<strong>em</strong>ória para as estruturas: L, D1 , U, b, x e um<br />

vector auxiliar, no total de 10N el<strong>em</strong>entos.<br />

Operação Número de Multiplicações Número de Adições<br />

5N<br />

N<br />

-<br />

¢LU¤xk1<br />

D1b¢LU¤xk1 b¢LU¤xk1 6N<br />

-<br />

N<br />

Total 7N 6N<br />

Tabela B.1: Número de operações para a iteração de Jacobi.<br />

131


132APÊNDICE B. ANÁLISE DA COMPLEX<strong>ID</strong>ADE DOS MÉTODOS ITERATIVOS<br />

Operação<br />

Número de Número de Número de<br />

Multiplicações Adições Divisões<br />

Uxk1<br />

bUxk1 ¢LD¤1bUxk1<br />

3N 2N -<br />

- N -<br />

3N 3N N<br />

Total 6N 6N N<br />

Tabela B.2: Número de operações para a iteração de Gauss-Seidel.<br />

Operação<br />

Número de Número de Número de<br />

Multiplicações Adições Divisões<br />

3N -<br />

N -<br />

4N<br />

- ¢ωLD¤1<br />

ωU¢1ω¤Dxk1<br />

3N 3N N<br />

Total 7N 7N N<br />

ωbωU¢1ω¤Dxk1<br />

ωbωU¢1ω¤Dxk1<br />

Tabela B.3: Número de operações para a iteração <strong>do</strong> méto<strong>do</strong> SOR.<br />

B.2 Méto<strong>do</strong> de Gauss-Seidel<br />

No méto<strong>do</strong> de Gauss-Seidel multiplica-se a parte estritamente superior de A por x, pelo<br />

que se têm 3N multiplicações e 2N adições. O passo de subtracção consta novamente <strong>do</strong><br />

equivalente a N adições e no passo de substituição descendente,¢LD¤1bUxk1,<br />

têm-se 3N multiplicações, 3N adições e N divisões. Estes resulta<strong>do</strong>s estão sumaria<strong>do</strong>s na<br />

Tabela B.2.<br />

Para o méto<strong>do</strong> de Gauss-Seidel há que reservar m<strong>em</strong>ória para as estruturas: L, D, U,<br />

b, x e um vector auxiliar, no total de 10N el<strong>em</strong>entos.<br />

B.3 Méto<strong>do</strong> de Sobre-Relaxação Sucessiva, SOR<br />

Neste méto<strong>do</strong> assume-se que o peso ω é constante. Como tal, t<strong>em</strong>-se multiplicação¢D<br />

a<br />

U¤xk1que consiste <strong>em</strong> 4N multiplicações e 3N adições. A subtração de vectores conta<br />

com N adições e a substituição descendente, como foi visto, consta de 3N multiplicações,<br />

3N adições e N divisões. Na Tabela B.3 apresentam-se estes resulta<strong>do</strong>s.


B.4. MÉTODO GMRES 133<br />

No caso <strong>do</strong> SOR os requisitos de m<strong>em</strong>ória são as estruturas: ωL,¢1ω¤D, D, ωU,<br />

ωb, x e um vector auxiliar, no total de 11N el<strong>em</strong>entos.<br />

B.4 Méto<strong>do</strong> GMRES<br />

O número de operações aritméticas para cada cálculo <strong>do</strong> algoritmo GMRES está sumari-<br />

a<strong>do</strong> na Tabela B.4. No GMRES exist<strong>em</strong> <strong>do</strong>is ciclos: um, externo, que é repeti<strong>do</strong> 1£2££m vezes e outro, interno, que é executa<strong>do</strong> i¡1£2££j vezes. No total, o ciclo<br />

interno é executa<strong>do</strong><br />

j¡<br />

mm1vezes,<br />

ten<strong>do</strong>-se portanto os seguintes números de operações:<br />

2<br />

Multiplicações: m ¢NN¤m 2 ¢7NN¤mm1<br />

Adições: m 2 6N¢N1¤mm1<br />

Divisões: m N<br />

2N ¢N1¤Nm 2N Minimização Final: m3<br />

2 (méto<strong>do</strong> Least Squares, O¢N 3¤, aplica<strong>do</strong> à matriz de Hes-<br />

senberg)<br />

O número de operações <strong>do</strong> méto<strong>do</strong> GMRES é <strong>do</strong>mina<strong>do</strong> pelo número de operações<br />

de multiplicação, ten<strong>do</strong> o méto<strong>do</strong> uma complexidade de O¢m 2 N¤, <strong>em</strong> que m é o número<br />

de iterações.<br />

Em relação à complexidade de m<strong>em</strong>ória, o méto<strong>do</strong> comporta as seguintes estruturas:<br />

A, b, x, r, e, Vm, w, ym e H. A matriz Vm vai conten<strong>do</strong> os vectores v ao longo das iterações<br />

<strong>do</strong> algoritmo. Quanto à matriz de Hessenberg, ela vai crescen<strong>do</strong> conforme o número de<br />

iterações, ten<strong>do</strong>¢m1¤ m el<strong>em</strong>entos. T<strong>em</strong>-se, portanto, que este algoritmo ocupa cerca<br />

de 13NmNm1m<br />

2<br />

mN el<strong>em</strong>entos, sen<strong>do</strong> m o número de iterações <strong>do</strong> algoritmo.<br />

B.5 Méto<strong>do</strong> <strong>do</strong> Gradiente Conjuga<strong>do</strong>, CG<br />

No CG há três produtos internos (3N multiplicações e 3¢N1¤adições, três multiplicações<br />

escalar-vector (3N multiplicações), três ajustes de vector (3N adições) e, sen<strong>do</strong> o cálculo<br />

mais dispendioso, a multiplicação Ap (7N multiplicações e 6N adições). O resumo destes<br />

valores encontra-se na Tabela B.5.


134APÊNDICE B. ANÁLISE DA COMPLEX<strong>ID</strong>ADE DOS MÉTODOS ITERATIVOS<br />

Número de Número de Número de<br />

Operação Multiplicações Adições Divisões<br />

Av j 7N 6N -<br />

¦w N j£vi§<br />

N1 -<br />

j¥ w jhi jvi N N -<br />

¥w N N1 -<br />

w jh j1j - - N<br />

Tabela B.4: Número de operações para a iteração <strong>do</strong> méto<strong>do</strong> GMRES.<br />

Operação Número de Multiplicações Número de Adições<br />

¦r j£r N j§<br />

N1<br />

Ap 7N 6N<br />

¦Ap j£p N j§<br />

N1<br />

α j p j N -<br />

x j1¡x jα j p j - N<br />

α jAp j N -<br />

j1§ r j1¡r jα jAp j - N<br />

¦r j1£r N N1<br />

β j p j N -<br />

p j1¡r j1β j p j - N<br />

Total 13N 12N<br />

Tabela B.5: Número de operações para a iteração <strong>do</strong> méto<strong>do</strong> CG.


B.6. MÉTODO DO GRADIENTE CONJUGADO PRÉ-CONDICIONADO, PCG 135<br />

Os requisitos de m<strong>em</strong>ória <strong>do</strong> CG são: A, x, b, r, p e Ap, que correspond<strong>em</strong> a 12N<br />

el<strong>em</strong>entos.<br />

B.6 Méto<strong>do</strong> <strong>do</strong> Gradiente Conjuga<strong>do</strong> Pré-condiciona<strong>do</strong>,<br />

PCG<br />

Em relação ao CG, este méto<strong>do</strong> acrescenta apenas um passo: a resolução <strong>do</strong> sist<strong>em</strong>a<br />

Mz j1¡r j1. Como na impl<strong>em</strong>entação utilizada a matriz M corresponde à factorização<br />

incompleta de Cholesky:<br />

M¡LL T<br />

(B.1)<br />

<strong>em</strong> que L é uma matriz triangular inferior. O referi<strong>do</strong> sist<strong>em</strong>a pode escrever-se então sob<br />

a forma:<br />

ou seja, resolve-se <strong>em</strong> primeiro lugar:<br />

e posteriormente:<br />

LL T z j1¡r j1<br />

Lu¡r j1<br />

(B.2)<br />

(B.3)<br />

L T z j1¡u (B.4)<br />

A resolução <strong>do</strong> primeiro sist<strong>em</strong>a corresponde a substituição descendente, pelo que<br />

comporta 3N multiplicações, 3N adições e N divisões. Quanto ao segun<strong>do</strong> sist<strong>em</strong>a, o<br />

número de operações é igual, tratan<strong>do</strong>-se, no entanto, de uma substituição ascendente.<br />

Em resumo, o número de operações aritméticas gastas no PCG está patente na Tabela<br />

B.6.<br />

Os requisitos de m<strong>em</strong>ória <strong>do</strong> PCG são s<strong>em</strong>elhantes aos <strong>do</strong> CG com a adição da matriz<br />

de pré-condicionamento, LL T , o que corresponde a 127¡19N el<strong>em</strong>entos.


136APÊNDICE B. ANÁLISE DA COMPLEX<strong>ID</strong>ADE DOS MÉTODOS ITERATIVOS<br />

Operação<br />

Número de Número de Número de<br />

Multiplicações Adições Divisões<br />

Passos <strong>em</strong> comum com o CG 13N 12N -<br />

Mz j1¡r j1 6N 6N 2N<br />

Total 19N 18N 2N<br />

Tabela B.6: Número de operações para a iteração <strong>do</strong> méto<strong>do</strong> PCG.


Bibliografia<br />

[1] B. M. J. Kup, E. C. Dijkmans, P. J. A. Naus e J. Sneep, ”A bit stream digital-to-<br />

analog converter with 18-b resolution”, IEEE J. Solid State Circuits, vol. 26, n o 12,<br />

págs. 1757-1763, Dez<strong>em</strong>bro de 1991.<br />

[2] François J. R. Cl<strong>em</strong>ent, Eytan Zysman, Mather Kayal e Michel Declercq, ”Layin:<br />

Toward a Global Solution for Parasitic Coupling Modeling and Visualization”, IEEE<br />

Custom Integrated Circuits Conference, 1994.<br />

[3] Adil Koukab, Catherine Dehollain e Michel Declercq, ”HSpeedEx: A High-Speed<br />

Extractor for Substrate Noise Analysis in Complex Mixed-Signal SOC”, IEEE De-<br />

sign Automation Conference, 2002.<br />

[4] João Paulo Costa, ”Técnicas Eficientes para Análise e <strong>Modelaç</strong>ão de Efeitos de<br />

<strong>Acoplamento</strong> <strong>Via</strong> <strong>Substrato</strong> <strong>em</strong> <strong>Circuitos</strong> Integra<strong>do</strong>s Mistos”, dissertação para<br />

obtenção <strong>do</strong> grau de Mestre <strong>em</strong> Engenharia Electrotécnica e de Computa<strong>do</strong>res, Uni-<br />

versidade Técnica de Lisboa, 1998.<br />

[5] João Paulo Costa, Mike Chou e L. Miguel Silveira, ”Efficient Techniques for Accu-<br />

rate Extraction and Modeling of Substrate Coupling in Mixed-Signal IC’s”, Design<br />

Automation and Test in Europe, 1999.<br />

[6] João Paulo Costa, Mike Chou e L. Miguel Silveira, ”Efficient Techniques for Accu-<br />

rate Modeling and Simulation of Mixed Signal IC’s”, IEEE Transactions on CAD,<br />

1999.<br />

[7] João Paulo Costa, Mike Chou e L. Miguel Silveira, ”Precorrected-DCT Techniques<br />

for Modeling and Simulation of Substrate Coupling in Mixed-Signal IC’s”.<br />

137


138 BIBLIOGRAFIA<br />

[8] Mike Chou, Jacob White, ”Multilevel Integral Equation Methods for the Extrac-<br />

tion of Substrate Coupling Parameters in Mixed-Signal IC’s”, Design Automation<br />

Conference, 1998.<br />

[9] Mike Chuan Chou, ”Fast Algorithms for Ill-Conditioned Dense-Matrix Probl<strong>em</strong>s in<br />

VLSI Interconnect and Substrate Modeling”, dissertação para obtenção <strong>do</strong> grau de<br />

Doutor <strong>em</strong> Electrical Engineering and Computer Science, Massachusetts Institute<br />

of Technology, 1998.<br />

[10] Joe Kanapka, Joel Phillips, Jacob White, ”Fast Methods for Extraction and Sparsifi-<br />

cation of Substrate Coupling”, Design Automation Conference, 2000.<br />

[11] T. Smedes, N. P. van der Meijs e A. J. van Genderen, ”Extraction of Circuit for<br />

Substrate Cross-talk”, IEEE International Conference on Computer-Aided Design,<br />

1995.<br />

[12] A. J. van Genderen, N. P. van der Meijs e T. Smedes, ”Fast Computation of Substrate<br />

Resistances in Large Circuits”, in Proc. European Design and Test Conference, págs.<br />

560-565, 1996.<br />

[13] E. Schrik e N. P. van der Meijs, ”Combined BEM/FEM Substrate Resistance Mod-<br />

eling”, Design Automation Conference, 2002.<br />

[14] Nishath K. Verghese e David J. Allstot, ”Subtract: A Program for the Efficient Eval-<br />

uation of Substrate Parasitics in Integrated Circuits”, IEEE International Conference<br />

in Computer-Aided Design, 1995.<br />

[15] Balsha R. Stanisic, Nishath K. Verghese, Rob. A. Rutenbar, L. Richard Carley e<br />

David J. Allstot, ”Addressing Substrate Coupling in Mixed-Mode IC’s: Simulation<br />

and Power Distribution Synthesis”, IEEE Journal of Solid-State Circuits, 1994.<br />

[16] Achi Brandt, “Guide to Multigrid Development”, in Multigrid Methods, edita<strong>do</strong> por<br />

W. Hackbusch e U. Trottenberg, 1982.<br />

[17] William L. Briggs, Van Emden Henson e Steve F. McCormick, ”A Multigrid Tuto-<br />

rial”, 2 a edição, Society for Industrial and Applied Math<strong>em</strong>atics, 2000.


BIBLIOGRAFIA 139<br />

[18] Ulrich Trottenberg, Cornelis Oosterlee e Anton Schüller, ”Multigrid”, Acad<strong>em</strong>ic<br />

Press, 2001.<br />

[19] David K. Su, Marc J. Loinaz, Shoichi Masui e Bruce A. Wooley, ”Experimental<br />

Results and Modeling Techniques for Substrate Noise in Mixed-Signal Integrated<br />

Circuits”, IEEE Journal of Solid-State Circuits, vol. 28, n o 4, Abril de 1993.<br />

[20] T. A. Johnson, R. W. Knepper, V. Marcellu e W. Wang, ”Chip Substrate Resis-<br />

tance Modeling Technique for Integrated Circuit Design”, IEEE Transactions on<br />

Computer-Aided Design of Integrated Circuits”, 1984.<br />

[21] Sujoy Mitra, R. A. Rutenbar, L. R. Carley e D. J. Allstot, ”A Metho<strong>do</strong>logy for<br />

Rapid Estimation of Substrate-Coupled Switching Noise”, IEEE Custom Integrated<br />

Circuits Conference, 1995.<br />

[22] Joel R. Phillips e L. Miguel Silveira, ”Simulation Approaches for Strongly Intercon-<br />

nect Syst<strong>em</strong>s”.<br />

[23] M.R. Pinto, PISCES IIB, Stanford University, 1985.<br />

[24] Ranjit Gharpurey e Robert G. Meyer, ”Modeling and Analysis of Substrate Coupling<br />

in Integrated Circuits”, IEEE International Conference in Computer-Aided Design,<br />

1996.<br />

[25] Nishath K. Verghese, ”Extraction and Simulation Techniques for Substrate-Coupled<br />

Noise in Mixed-Signal Integrated Circuits”, dissertação para obtenção <strong>do</strong> grau de<br />

Doutor <strong>em</strong> Electrical and Computer Engineering, Carnegie Mellon University,<br />

1995.<br />

[26] Kuntal Joardar, ”A Simple Approach to Modeling Cross-Talk in Integrated Cir-<br />

cuits”, 1994.<br />

[27] J. C. Tipper, ”A straightforward Iterative Algorithm for the Planar Voronoi Dia-<br />

gram”, Information Processing Letters 34, Elsevier, págs. 155-160, 1990.<br />

[28] Ivan L. W<strong>em</strong>ple e Andrew T. Yang, ”Integrated Circuit Substrate Coupling Models<br />

Based on Voronoi Tesselation”, IEEE Transactions on Computer-Aided Design of<br />

Integrated Circuits and Syst<strong>em</strong>s, 1995.


140 BIBLIOGRAFIA<br />

[29] E<strong>do</strong>ar<strong>do</strong> Charbon, Luís Miguel Silveira e Paolo Miliozzi, ”A Benchmark Suite for<br />

Substrate Analysis”.<br />

[30] E<strong>do</strong>ar<strong>do</strong> Charbon, Ranjit Gharpurey, Robert G. Meyer, Sangiovanni Vincentelli,<br />

”S<strong>em</strong>ianalytical Techniques for Substrate Characterization in the Design of Mixed-<br />

Signal ICs”, International Conference on Computer Aided Design, págs. 455-462,<br />

Nov<strong>em</strong>bro de 1996.<br />

[31] L. Miguel Silveira e Nuno Vargas, ”Multilevel Finite Difference Methods for the<br />

Characterization of Substrate Coupling in Deep Sub-Micron Designs”, IEEE Design<br />

and Test of Computers.<br />

[32] J. Pedro Amaro, Joel R. Phillips e L. Miguel Silveira, ”A Framework for Analysis<br />

of Substrate Coupling Models for Mixed-Signal Circuits”, Design Automation and<br />

Test in Europe, 2002.<br />

[33] Thomas Brandtner e Robert Weigel, ”Hierarchical Simulation of Substrate Coupling<br />

in Mixed-Signal ICs Considering the Power Supply Network”.<br />

[34] Michel P. J. Carpentier, ”Análise Numérica – Teoria”, Departamento de Mat<strong>em</strong>ática<br />

<strong>do</strong> Instituto Superior Técnico, 1993.<br />

[35] Luís T. Magalhães, ”Álgebra Linear Como Introdução à Mat<strong>em</strong>ática Aplicada”, Tex-<br />

to Editora, 1993.<br />

[36] Richard Barrett, Michael Berry, Tony Chan, James D<strong>em</strong>mel, June Donato, Jack<br />

Dongarra et al., ”T<strong>em</strong>plates for the Solution of Linear Syst<strong>em</strong>s: Building Blocks for<br />

Iterative Methods”.<br />

[37] Yousef Saad, ”Iterative Methods for Sparse Linear Syst<strong>em</strong>s”, PWS Publishing Com-<br />

pany, 1996.<br />

[38] Lloyd N. Trefethen e David Bau III, ”Numerical Linear Algebra”, Society for In-<br />

dustrial and Applied Math<strong>em</strong>atics, 1997.<br />

[39] William H. Press, Saul A. Teukolsky, Willian T. Vetterling e Brian P Flannery, ”Nu-<br />

merical Recipies in C: the Art of Scientific Computing”, 2 a edição, Cambridge Uni-<br />

versity Press, 1992.


BIBLIOGRAFIA 141<br />

[40] Golub and Van Loan, “Matrix Computations”, Johns Hopkins University Press,<br />

1993.<br />

[41] Youcef Saad e Martin H. Schultz, ”GMRES: A Generalized Minimal Residual Al-<br />

gorithm for Solving Nonsymmetric Linear Syst<strong>em</strong>s”, SIAM J. Sci. Stat. Comput.,<br />

1986.<br />

[42] John David Jackson, ”Classical Electrodynamics”, John Wiley & Sons, 2 a edição.<br />

[43] Edward M. Purcell, ”Electricity and Magnetism – Berkeley Physics Course – vol-<br />

ume 2”, McGraw-Hill, 1965.<br />

[44] Eduar<strong>do</strong> J. R. Morga<strong>do</strong>, “Controlo”, Secção de Folhas <strong>do</strong> Instituto Superior Técnico,<br />

1997<br />

[45] Nick van der Meijs et al., ”VLSI Physical Design Modeling and Verification”, The<br />

SPACE Project, http://cas.et.tudelft.nl/˜space.<br />

[46] Cadence Design Syst<strong>em</strong>s, http://www.cadence.com/datasheets/dat pdf/sca446apn.pdf<br />

[47] MGNet, http://www.mgnet.org<br />

[48] Silicon Integration Initiative, Inc., “Standard Interconnect Performance Parameters”,<br />

http://www.si2.org<br />

[49] MESCHACH, http://www.netlib.org/c/meschach/<br />

[50] The MathWorks, “Matlab”, http://www.mathworks.com/

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!