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