• Nenhum resultado encontrado

Statistically Enhanced Analog Design

N/A
N/A
Protected

Academic year: 2021

Share "Statistically Enhanced Analog Design"

Copied!
68
0
0

Texto

(1)

F

ACULDADE DE

E

NGENHARIA DA

U

NIVERSIDADE DO

P

ORTO

Statistically Enhanced Analog Design

José Diogo Queiroz de Athayde Agorreta de Alpuim

Mestrado Integrado em Engenharia Eletrotécnica e de Computadores

Orientador: José Alberto Peixoto Machado da Silva Co-orientador: Maria Paula Macedo Rocha Malonek

(2)

c

(3)

Resumo

Este documento consiste no relatório final da Dissertação do 5o ano do Mestrado Integrado em Engenharia Electrotécnica e Computadores da Faculdade de Engenharia da Universidade do Porto do ano lectivo de 2016/2017 e tem como propósito apresentar detalhadamente o trabalho de estudo, análise e implementação relativos ao tema da dissertação: estudo de métodos de inferência estatística para análise e optimização do comportamento de circuitos analógicos face a variações de parâmetros de fabrico.

Primeiramente, é feita uma análise dos métodos utilizados para estudar a sensibilidade do desempenho de circuitos analógicos mistos às variações dos parâmetros de fabrico dos seus com-ponentes. São apresentados os métodos estatísticos e outros modelos não-estatísticos e tecnologias utilizados actualmente na indústria de semicondutores que permitem prever e minimizar os efeitos destas variações no desempenho dos circuitos e consequentemente na rentabilidade do seu fabrico. São estudados os seus defeitos face às tendências de evolução apresentadas pelas tecnologias de fabrico de semicondutores.

De seguida, são estudados métodos estatísticos alternativos que podem ser aplicados ao de-sign e análise de tolerâncias dos circuitos à variabilidade das características dos seus componentes básicos. São explorados os estudos e implementações destes métodos já existentes no domínio do fabrico de circuitos analógicos e mistos e potenciais vantagens destes métodos em novas aborda-gens.

São descritos os procedimentos e resultados da aplicação do algoritmo Expectation Maximi-zationpara a estimação das funções de densidade de probabilidade do desempenho de um ciruito de teste e comparados com o método padrão de Monte Carlo. Em função dos resultados obtidos é descrita a implementação de uma ferramenta de optimização dos parâmetros de circuitos analógi-cos mistos que tem por base a aplicação do algoritmo EM. É ainda feita uma análise comparativa entre diferentes metodologias utilizadas para a implementação desta ferramenta. Por último, são discutidas as vantagens e limitações da ferramenta desenhada, os aspectos onde pode ser melho-rada e futuras aplicações possíveis.

(4)
(5)

Abstract

This document presents the final report for the fifth year’s Dissertation of the integrated mas-ters in Compumas-ters and Electrical Engineering of the Faculty of Engineering of the University of Porto. Its purpose is to describe with detail the study, analysis and implementation done about the dissertations’ subject: Statistical inference methods applied to the analysis and optimization of the behaviour of analog-mixed signal circuits based on the variability of its components.

Firstly, an extensive analysis is done of the methods currently used to describe the sensibility of the circuits’ performance with respect to the variability of the fabrication technologies. Statistical methods and other non-statistical models and technologies currently used in the semiconductor industry which allow engineers to predict and minimze the effects of such variations are presented. These methods disadvantages were studied taking into consideration the latest trends and advances in the technological processes.

Secondly, alternative statistical methods with characteristics suitable to be applied to the des-cribed subject are presented. Applications already implemented in the industry and possible new uses are discussed.

The proceedings and results of the Expectation-Maximization algorithm applied to the es-timation of probability density fucntions of the performance variables of a test circuit are also presented. These results are then compared with the commonly used method of Monte Carlo.

Furthermore, an optimization tool for analog-mixed signal circuits based on the previous ap-plication of the EM algorithm is proposed. The implementation, measurements and results of this tool are presented, discussed and compared with a similar implementation based on the Particle Swarm Optimization algorithm.

Finally, the overall advantages and limitations of this implementation are assessed as well as possible improvements and future applications.

(6)
(7)

Agradecimentos

Quero deixar aqui expressos os meus agradecimentos ao Professor Doutor José Alberto Pei-xoto Machado da Silva, sob o qual tive o privilégio de ser orientado, pelos seus conselhos, críticas e sugestões durante este trabalho e também pela sua contribuição para o enriquecimento do meu conhecimento na área da electrónica e de circuitos analógicos. Agradeço também à Professora Doutora Maria Paula Macedo Rocha Malonek pela ajuda e suporte indispensáveis que deu à rea-lização deste trabalho.

Agradeço ainda ao Departamento de Engenharia Electrotécnica e Computadores da Facul-dade de Engenharia que me proporcionou a oportuniFacul-dade e apoio material para a realização desta dissertação.

Por último, tenho que agradecer ao meus colegas e amigos que me acompanharam ao longo deste desafio e que criaram um ambiente sem o qual não seria possível ter realizado este trabalho.

(8)
(9)

Conteúdo

1 Introdução 1

2 Projecto de Circuitos e Variabilidade dos Processos de Fabrico 5

2.1 Motivação e enquadramento . . . 5

2.2 Métodos de simulação da variabilidade dos parâmetros . . . 9

2.2.1 Método de Monte Carlo . . . 9

2.2.2 Alternativas ao método de Monte Carlo . . . 12

2.2.3 Latin Hypercube Sampling . . . 13

2.3 Métodos de Otimização do Projeto . . . 14

3 Expectation Maximization 17 3.1 Definição . . . 17

3.1.1 EM aplicado a misturas de gaussianas . . . 18

3.1.2 Vantagens desta aplicação . . . 19

3.2 Procedimento e Resultados . . . 20

3.2.1 Circuito usado como caso de estudo . . . 21

3.2.2 Definição da variabilidade do circuito de teste . . . 22

3.2.3 Resultados . . . 23

3.2.4 Resultados recorrendo ao LHS . . . 24

4 Método de Optimização 27 4.1 Escolha dos parâmetros a optimizar . . . 27

4.2 Descrição do Método . . . 28

4.3 Resultados . . . 30

4.4 Alternativa: Particle Swarm Optimization . . . 30

4.5 Discussão e comparação de resultados . . . 34

5 Conclusões 37

A Funções de Densidade de Probabilidade obtidas através da amostragem LH 39

B Funções de Densidade de Probabilidade obtidas através do algoritmo EM 43

C Conceitos Elementares de Probabilidades e Estatística 49

Referências 51

(10)
(11)

Lista de Figuras

2.1 Possíveis funções de densidade de probabilidade do valor de um componente. . . 6

2.2 Efeito da variação dos componentes sobre o desempenho [1]. . . 7

2.3 Exemplo a duas dimensões do modelo de cantos versus abordagem de 3σ . . . 8

2.4 Análise de tolerâncias pelo método de Monte Carlo [1]. . . 10

2.5 Definição de Yield e respectiva estimação de Monte Carlo [1]. . . 11

2.6 Desvio na distribuição de amostragem para IS [2]. . . 12

2.7 Exemplo de amostragem LH de dimensão 5 [3]. . . 14

3.1 Comparação das curvas de fdp [4]. . . 20

3.2 Esquema eléctrico do amplificador. . . 21

4.1 Optimização das larguras dos transístores em malha fechada. . . 30

4.2 Valores de F(W) por iteração da largura do transístor 7. . . 31

4.3 Valores de F(W) por iteração da largura do transístor 5. . . 31

4.4 Valores de F(W) por iteração da largura do transístor 3. . . 32

4.5 Evolução do valor de F(W ) de cada partícula do algoritmo PSO. . . 35

A.1 Comparação das fdps do ganho obtidas através de LHS de 1000 amostras e MC referência. . . 40

A.2 Comparação das fdps do ganho obtidas através de LHS de 5000 amostras e MC referência. . . 40

A.3 Comparação das fdps do ganho obtidas através de 10 x LHS de 500 amostras e MC referência. . . 41

A.4 Comparação das fdps da frequência de corte através de LHS de 1000 amostras e MC referência. . . 41

A.5 Comparação das fdps da frequência de corte obtidas através de LHS de 5000 amos-tras e MC referência. . . 42

A.6 Comparação das fdps da frequência de corte obtidas através de 10 x LHS de 500 amostras e MC referência. . . 42

B.1 Comparação das fdps do ganho obtidas através de EM (2 gaussianas) e MC refe-rência. . . 44

B.2 Comparação das fdps do ganho obtidas através de EM (3 gaussianas) e MC refe-rência. . . 44

B.3 Comparação das fdps do ganho obtidas através de EM (4 gaussianas) e MC refe-rência. . . 45

B.4 Comparação das fdps do ganho obtidas através de EM (5 gaussianas) e MC refe-rência. . . 45

(12)

x LISTA DE FIGURAS

B.5 Comparação das fdps da frequência de corte obtidas através de EM (2 gaussianas) e MC referência. . . 46

B.6 Comparação das fdps da frequência de corte obtidas através de EM (3 gaussianas) e MC referência. . . 46

B.7 Comparação das fdps da frequência de corte obtidas através de EM (4 gaussianas) e MC referência. . . 47

B.8 Comparação das fdps da frequência de corte obtidas através de EM (5 gaussianas) e MC referência. . . 47

(13)

Lista de Tabelas

2.1 Variabilidade da tensão de threshold normalizada versus tecnologia de processo CMOS [5]. . . 7

3.1 Dimensões dos transístores. . . 22

3.2 Comparação das fdps empíricas do ganho obtidas através de MC e EM. . . 24

3.3 Comparação das fdps empíricas da freq. de corte a -3 dB obtidas através de MC e EM. . . 24

3.4 Comparação das fdps empíricas do ganho obtidas através de MC e LHS. . . 25

3.5 Comparação das fdps empíricas da freq. de corte a -3 dB obtidas através de MC e LHS. . . 25

4.1 AC Match Analysisà frequência de 509, 11 Hz. . . 28

4.2 Tabela comparativa dos resultados de ambas as abordagens. . . 35

(14)
(15)

Abreviaturas e Símbolos

CAD Computer-Aided Design

CMOS Complementary Metal–Oxide–Semiconductor EM Expectation-Maximization

f3dB Frequência de corte a 3 dB

fdp Função densidade de probabilidade GMM Gaussian Mixture Model

IS Importance Sampling LHS Latin Hypercube Sampling LH Latin Hypercube

KL Kullback-Leibler MC Monte Carlo

MOSFET Metal-Oxide-Semiconductor Field-Effect Transistor PCA Principal Component Analysis

PSO Particle Swarm Optimization QMC Quasi Monte Carlo

SPICE Simulation Program with Integrated Circuit Emphasis SRAM Static Random Access Memory

(16)
(17)

Capítulo 1

Introdução

Os sistemas e componentes electrónicos são elementos essenciais da indústria de informação e comunicação. O rápido progresso das tecnologias usadas nesta indústria tem vindo a permitir aos projectistas criar circuitos mais rápidos e mais complexos numa área/volume cada vez menor. No entanto, estas condições implicam um desafio para a validação dos circuitos pré-fabrico e afinações pós-fabrico. Assim, o preço a pagar por estes processos de validação torna-se cada vez maior à medida que os métodos actuais de teste dos circuitos e sistemas consomem cada vez mais tempo e recursos. Esta situação cria a necessidade de procurar alternativas que permitam reduzir os custos de validação/afinação e maximizar a eficácia e fiabilidade dos processos de produção. Actualmente, estas ferramentas de optimização baseiam-se em modelos matemáticos e estatísticos para estimar a variabilidade de diversos parâmetros e com isso determinar a eficiência esperada dos circuitos fabricados. A aplicação de métodos estatísticos mais eficientes é uma solução que naturalmente pode resultar num impacto significativo na indústria de componentes electrónicos, mais especificamente no projecto de circuitos analógicos e mistos. Por essa razão é sobre esta área de conhecimento que incide o trabalho de dissertação apresentado neste relatório.

Com o objectivo de apresentar o estudo desta problemática com a maior clareza e eficiência possível, o conteúdo deste relatório foi organizado da seguinte forma:

No capítulo 2 é feita uma revisão bibliográfica sobre as metodologias utilizadas nesta área. Mais concretamente, começa-se por explicar como pode ser caracterizada a variabilidade dos pro-cessos de fabrico de semiconductores e quais são as consequências dessas variações para o desem-penho dos circuitos analógicos e mistos fabricados. São também apresentados os actuais métodos utilizados para a estimação da sensibilidade do desempenho dos circuitos às referidas variações que por sua vez serão os principais indicadores da rentabilidade (yield) dos circuitos analógicos e mistos. Esses métodos incluem modelos não-estatísticos, como os modelos de cantos, sobre os quais são apresentadas as vantagens e desvantagens da sua aplicação nesta área. É também feita referência a outras técnicas como testes de pós-fabrico que permitem detectar ou corrigir falhas nos circuitos aumentando assim a sua rentabilidade. Finalmente, inclui-se os métodos estatísticos, utilizados para o mesmo propósito, com especial destaque para o método de Monte Carlo que é dos métodos estatísticos mais comuns e versáteis. É exposta a aplicação deste método à análise de

(18)

2 Introdução

sensibilidades dos circuitos às variações dos seus parâmetros de desgin que são consequência da incerteza dos seus processos de fabrico. Indica-se também as vantagens que este método traz e a razão de ser um dos métodos mais utilizados na indústria de semiconductores. São também des-critas as limitações deste método face às tendências de evolução das características dos circuitos analógicos e misto actualmente fabricados.

Refere-se também outros métodos estatísticos que podem ser alternativas ao método de Monte Carlo assim como registos da aplicação destes métodos nesta área do design e fabrico de semi-conductores. Das alternativas é dada especial ênfase ao método Latin Hypercube Sampling por se tratar de um método já implementado no simulador utilizado (HSPICE).

É também feita uma descrição de um amplificador de transcondutância que foi o circuito de base para as diversas simulações, implementações e testes realizados neste estudo. Esta descrição inclui uma listagem dos parâmetros do circuito sujeitos a variabilidade bem como a modelização dessa mesma variabilidade no simulador utilizado.

Ainda neste capítulo, são apresentados os resultados das simulações de referência do circuito de teste através do método de Monte Carlo e os resultados análogos recorrendo ao Latin Hypercube Sampling. Estes resultados são comparados e feita uma análise crítica quanto às vantagens de um face ao outro.

No capítulo 3 é apresentado e descrito o algoritmo Expectation-Maximization. De seguida é explicado como é que este pode ser utilizado para estimar os parâmetros de uma mistura de gaussianas e de que forma é que esta utilização do algoritmo pode ser aplicada no domínio do problema. Finalmente, é descrita a implementação deste algoritmo no Matlab e apresentados os resultados obtidos através da aplicação desta implementação ao circuito de teste acima referido. Estes dados são depois comparados com os resultados de referência e discutidas as vantagens e desvantagens da aplicação.

Em função dos resultados obtidos neste último capítulo, no capítulo4é proposto um método de optimização automática dos parâmetros dos componentes de um circuito que tem por base simulacões da performance do circuito recorrendo ao algoritmo Expectation-Maximization. Esta proposta inclui uma análise que fundamenta a escolha dos parâmetros a optimizar. Segue-se a des-crição do método iterativo utilizado e apresentação e discussão dos resultados obtidos da aplicação deste método de optimização ao projecto do circuito de teste.

Adicionalmente foi feita uma implementação de outro método de optimização com o mesmo propósito, mas recorrendo a outro método de optimização, o algoritmo Particle Swarm Optimi-zation. Inclui-se uma descrição deste algoritmo e apresentam-se as razões pelas quais pode ser útil na solução deste problema. São apresentados os resultados desta implementação alternativa e comparados com a abordagem inicial.

Por último, no capítulo5são expostas as conclusões finais sobre este projecto. Estas incluem uma análise geral das vantagens e desvantagens dos métodos de inferência e amostragem esta-tística estudados e propostos e quais as considerações a ter em conta quando se aplica cada um deles. É também feita uma análise crítica sobre os outros métodos de optimização automáticos

(19)

Introdução 3

propostos e quais as condições em que estas poderão ser mais úteis. É ainda deixada uma nota so-bre eventuais melhoramentos dos métodos propostos e soso-bre a possibilidade de outras aplicações futuras.

(20)
(21)

Capítulo 2

Projecto de Circuitos e Variabilidade

dos Processos de Fabrico

2.1

Motivação e enquadramento

Os circuitos electrónicos são tipicamente desenhados de modo a garantir que os requisitos es-pecificados sejam respeitados. Esses requisitos constituem as especificações de desempenho que, habitualmente, compreendem a definição de valores aceitáveis para um conjunto de parâmetros mensuráveis do circuito, como por exemplo, o ganho a uma dada banda de frequências ou o tempo de resposta a uma transição do sinal de entrada. Idealmente, uma solução de projecto de um cir-cuito tem dois resultados, i.e., cumpre ou não cumpre as especificações de desempenho. Porém, os processos de fabrico dos componentes do circuito não são ideais e apresentam variações de natureza diversa que levam à necessidade de introdução de tolerâncias de aceitação. Este facto leva a que também os parâmetros de especificação do desempenho dos circuitos, particularmente nos analógicos, apresentem uma sensibilidade à variabilidade dos processos de fabrico. Concre-tizando, vamos supor que um fabricante produz dez mil unidades de um circuito e que, devido à incerteza do processo de fabrico, apenas sete mil cumprem as especificações. Isto significaria um rendimento de produção de 70% o que eventualmente inviabilizaria a produção do circuito, caso os ganhos resultantes da colocação destes no mercado não fossem suficientes para cobrir os 30% de perdas e outros custos decorrentes do processo de projecto e comercialização. Assim, o projectista do circuito tem que responder ao seguinte problema:

“De que maneira é que a variabilidade dos processos de fabrico dos componentes do circuito afetará o seu desempenho?”

A resposta a esta questão passa por fazer uma análise de tolerâncias. Esta análise procura prever a sensibilidade do desempenho do circuito em função da tolerância dos componentes.

Para estudar esta sensibilidade é necessário incluir estas variações na descrição dos parâmetros dos componentes, geralmente recorrendo a funções de densidade de probabilidade. A forma destas funções certamente dependerá da natureza dos processos de fabrico do componente em questão.

(22)

6 Projecto de Circuitos e Variabilidade dos Processos de Fabrico

Figura 2.1: Possíveis funções de densidade de probabilidade do valor de um componente.

Por exemplo, assuma-se que para uma resistência de 10 kΩ o fabricante especifica que a respectiva tolerância é de 10%. As funções de densidade de probabilidade mostradas na figura2.1

são exemplos possíveis para descrever a variabilidade deste componente.São ilustradas a função de distribuição uniforme onde todos os valores são equiprováveis, a função de distribuição normal (ou gaussiana), e a função de distribuição gaussiana truncada, aplicadas ao cenário em que os componentes com um valor abaixo da tolerância máxima são rejeitados, e ainda a função bimodal em que as resistências com uma tolerância menor, 5%, são pré-selecionadas (provavelmente por serem mais caras).

A rentabilidade do processo de fabrico de uma carta de circuito impresso, ou outro tipo de circuito eletrónico, depende do valor de cada componente constituinte, como tal, a rentabilidade vai depender das funções de densidade de probabilidade de alguns ou de todos os componentes do circuito. A figura2.21 ilustra como é que a variabilidade conhecida de dois parâmetros pode afetar as propriedades do circuito.

O processo de determinar esta relação entre a variabilidade das especificações do circuito e a variabilidade dos parâmetros característicos dos seus elementos constituintes, é um dos principais desafios do projecto de circuitos analógicos ou digitais com as novas tecnologias com dimensões de centenas ou dezenas de nanómetros. No caso da produção de circuitos em tecnologia CMOS,

1Esta figura e as restantes que são provenientes de obras de autores de língua estrangeira encontram-se em inglês de

(23)

2.1 Motivação e enquadramento 7

Figura 2.2: Efeito da variação dos componentes sobre o desempenho [1].

processos como a litografia ou etching, entre outros, introduzem muitas incertezas no comporta-mento de um circuito. Por exemplo, a largura dos canais dos transístores e a tensão de limiar de condução (threshold), podem variar significativamente em relação aos seus valores nominais. De seguida são apresentados os métodos comummente usados para avaliar estes comportamentos e sensibilidades e os seus respectivos problemas.

A maioria das melhorias dos produtos semicondutores nas últimas décadas são consequência directa ou indirecta da diminuição dos dispositivos e circuitos permitindo melhorias de desem-penho a um custo de fabrico menor. Uma consequência desta tendência é que a variabilidade dos processos de fabrico aumenta à medida que se adoptam tecnologias cada vez mais pequenas resultando na diminuição do yield e fiabilidade do design de circuitos integrados. Na tabela2.1

podemos observar a evolução do desvio-padrão da tensão de threshold, σ (VT h), normalizado pela

própria tensão de threshold, VT h, para as várias tecnologias de fabrico CMOS.

Uma observação importante sobre a tabela2.1é que o aumento da variação (σ ) traduz-se num alargamento da distribuições das medidas de desempenho dos circuitos que por sua vez implica que uma maior percentagem dos circuitos não respeitem as tolerâncias pretendidas, representando um rendimento de produção inferior. Esta constatação, aliada ao facto de haver uma tendência de aumentar a complexidade dos integrados, levam a que haja uma maior necessidade de melhorias dos processos de teste dos circuitos e consequentemente um aumento nos custos dos testes destes

Tabela 2.1: Variabilidade da tensão de threshold normalizada versus tecnologia de processo CMOS [5].

Tecnologia 250 nm (%) 180 nm (%) 130 nm (%) 90 nm (%) 65 nm (%) 45 nm (%)

(24)

8 Projecto de Circuitos e Variabilidade dos Processos de Fabrico

Figura 2.3: Exemplo a duas dimensões do modelo de cantos versus abordagem de 3σ .

mesmos circuitos [5].

Uma das alternativas mais comuns aos testes estatísticos de pré-fabrico, como o de Monte Carlo, são os modelos de cantos, ou pior-caso (corner models). Estes modelos, ao invés de fa-zerem uma análise extensiva à sensibilidade do circuito em relação às variações dos seus compo-nentes, estudam apenas as combinações dos piores casos destas variações garantindo assim que os circuitos produzidos se comportam de acordo com o especificado. Como ilustrado na figura

2.3, estes modelos pecam por serem demasiado pessimistas. Os eixos x e y representam os limi-tes sobre os quais dois parâmetros podem variar e a elipse representa o limite do critério de 3σ para aceitação dos circuitos. A satisfação deste critério de 3σ pode ser prevista através de uma simulação estatística de Monte Carlo. A área rectangular no interior das combinações dos quatro piores casos e fora da elipse corresponde a implementações que cumprem as especificações mas que estão sobre-dimensionadas. Embora cumpram os objectivos, estas implementações represen-tam investimentos em termos de área, potência ou implicações em outras medidas resultando em custos adicionais no desempenho dos circuitos. Esta razão económica e a disponibilidade de me-lhores e mais eficientes ferramentas computacionais levam a que a tendência seja para o recurso a optimizações estatísticas da estimação da rentabilidade dos circuitos em detrimento dos modelos de cantos [5].

O facto de a densidade de defeitos das waffers de circuitos tendencialmente aumentar com o desenvolvimento das tecnologias de fabrico gerou uma evolução na indústria de circuitos integra-dos digitais no sentido da inclusão de circuitos de teste e de reparo (Built-In Tests) no desenho dos próprios circuitos [6]. A inclusão de cadeias de diagnóstico oferece um fácil acesso ao estado dos circuitos internos de um chip através de um aumento mínimo de pinos para os testes de pro-dução. À semelhança destes desenvolvimentos nos circuitos digitais, verificou-se posteriormente um desenvolvimento na indústria de circuitos análogicos e mistos. Mais especificamente, o desen-volvimento de cadeias de teste standard (como a norma 1149.4 da IEEE) permitem uma melhor observabilidade de nós internos dos circuitos. Não obstante, a inclusão destas cadeias de teste requerem considerações de design significativas para garantir a integridade dos sinais analógicos

(25)

2.2 Métodos de simulação da variabilidade dos parâmetros 9

[7].

Desta forma, realça-se a ideia de que o único avanço na minimização dos efeitos da varia-bilidade dos processos de fabrico dos circuitos análogicos mistos não passa só pela optimização das análises estatísticas, sendo esta apenas uma das áreas de estudo que pode reduzir estes efei-tos. Não sendo o propósito e objectivo desta dissertação estudar essas áreas de conhecimento, fica aqui descrito o contexto das optimizações estatísticas e feita referência à existência de outras abordagens.

2.2

Métodos de simulação da variabilidade dos parâmetros

2.2.1 Método de Monte Carlo

O método de Monte Carlo (MC) é o método mais comum e fiável de análise de tolerâncias correntemente usado. Este método insere-se num conjunto de técnicas relevantes para um variado número de aplicações, caracterizadas pelo uso de números pseudo-aleatórios num ambiente de inferência estatística. Nesta aplicação, este método é análogo ao processo de produção de um lote-piloto de circuitos, processo esse que pode ser simulado combinando números pseudo-aleatórios e uma análise do comportamento do circuito.

O processo descrito na figura 2.4 consiste em, com base num número pseudo-aleatório en-viesado de acordo com uma função de densidade de probabilidade conhecida, retirar um valor para cada um dos vários valores de componentes que compõem o circuito. Este processo de esco-lher valores aleatórios dos parâmetros dos componentes, seguido por uma simulação do circuito para conhecer o seu comportamente nas circunstâncias correspondentes, constitui uma amostra do método de Monte Carlo. O procedimento é repetido N vezes e o rendimento da produção será estimado de acordo com o número de casos para os quais se obtêm valores aceitáveis das variáveis de especificação de desempenho:

ˆ Y =Np

N (2.1)

em que Npé o número de circuitos aceitáveis. Tomando como exemplo um caso em que tenhamos

dois parâmetros p1e p2, com funções densidade de probabilidade uniformes, região de tolerância

RT e região de aceitação no domínio dos parâmetros p, RA, o rendimento (yield) é dado pela

(26)

10 Projecto de Circuitos e Variabilidade dos Processos de Fabrico

(27)

2.2 Métodos de simulação da variabilidade dos parâmetros 11

Figura 2.5: Definição de Yield e respectiva estimação de Monte Carlo [1].

Como os custos de simulação são muito menores do que os custos de fabricar e testar um lote-piloto, esta solução é a solução mais usada na indústria de fabrico de circuitos integrados. Além disso, como as variações geradas com base nos números pseudo-aleatórios são conhecidas, dá-nos a vantagem de poder retirar informação de como é que as variações de um parâmetro do processo de fabrico resultam em variações de desempenho. Obter esta informação através de medições a partir de lotes de teste de circuitos integrados seria economicamente inviável e praticamente impossível.

2.2.1.1 Desvantagens da análise Monte Carlo

“Então porque razão consideramos este método parte do problema e não a solução?”

A resposta diz respeito à complexidade actual dos circuitos integrados. Com a evolução dos processos de fabrico que permitem fabricar componentes na ordem de grandeza dos nanómetros, o número de componentes que pode encontrar num único circuito integrado aumentou brutal-mente. Por exemplo, um microcontrolador actual chega aos cem mil transístores enquanto que os processadores centrais dos computadores actuais ou processadores gráficos são constituídos por milhões de transístores. Este aumento traduz-se num largo tempo necessário para simular os circuitos um número de vezes suficientemente grande para obter resultados relevantes. O longo tempo de simulação tornou-se um dos maiores custos do fabrico de circuitos integrados o que resulta na necessidade de estudar alternativas que obtenham resultados igualmente relevantes mas com custos computacionais menores. O método de Monte Carlo (MC), embora extremamente ro-busto e eficaz, revela-se demasiado pesado e caro dada a complexidade dos circuitos actualmente produzidos.

(28)

12 Projecto de Circuitos e Variabilidade dos Processos de Fabrico

2.2.2 Alternativas ao método de Monte Carlo

Existem outros métodos estatísticos alternativos e mais rápidos que o método de Monte Carlo como por exemplo, Latin Hypercube Sampling, Quasi Monte Carlo[2], Importance Sampling[8], Principal Component Analysis[8], Rao-Blackwellization [9], amostragem estratificada [10], entre outros.

Quasi Monte Carlo Este método, alternativamente ao método de MC, utiliza sequências semi-aleatórias de números em vez de sequências teoricamente semi-aleatórias. O objectivo deste método é cobrir o espaço dos parâmetros de fabrico uniformemente com recurso a amostras determinísticas ao invés de números aleatórios. Em casos óptimos a taxa de convergência do Quasi Monte Carlo é de O(1/N), quadraticamente mais rápido que a abordagem de Monte Carlo. No entanto, a taxa de convergência do QMC decresce com o número de dimensões. No pior caso é da ordem O(log(Nd)/N), em que d é o número de dimensões [2].

Para o circuito digital de uma célula SRAM composta por 6 MOSFETs, o cálculo da estimação com uma precisão de 95% da rentabilidade da célula foi 5.3 vezes mais rápida com recurso a este método face ao método convencional de MC (também com 95% de precisão) [2].

Importance Sampling A teoria por detrás deste método procura mover o espaço de amostragem para junto da região de aceitação fazendo com que cada amostra se torna mais útil. Considerando a função densidade de probabilidade original de um parâmetro variável e assumindo que a região de aceitação ocorrre junto do lado direto, o método Importance Sampling (IS) procura desviar a função de amostragem para a região de aceitação, aumentando a probabilidade de a amostra estar perto deste limite (figura2.6). A dificuldade deste método está em obter uma função de amostra-gem apropriada já que esta depende da verdadeira distribuição das variáveis de desempenhos que são precisamente as variáveis que queremos estimar [8].

Figura 2.6: Desvio na distribuição de amostragem para IS [2].

Para a mesma célula SRAM descrita no método Quasi Monte Caro a estimação da rentabi-lidade com a mesma precisão foi obtida com um tempo de simulação 20 vezes menor face à simulação de MC [2].

(29)

2.2 Métodos de simulação da variabilidade dos parâmetros 13

Principal Component Analysis Principal Component Analysis (PCA) ou Análise de Compo-nentes Principais é uma técnica estatística desenvolvida para encontrar padrões em matrizes de dados de muitas dimensões de modo a realçar diferenças e semelhanças (entre as dimensões). Este método usa conceitos básicos de estatística e álgebra como o desvio-padrão, covariância, va-lores próprios e vectores próprios. A PCA é um método de projecção linear que define um novo espaço dimensional. As variáveis do espaço são chamadas componentes principais (PCs) e são combinações lineares das variáveis originais. A utilidade mais comum desta técnica é represen-tar uma matriz de muitas váriaveis num plano de baixa dimensão para se obter uma visualização relevante dos dados[8].

Não cabe no contexto desta dissertação descrever detalhadamente e avaliar cada um destes mé-todos em particular. Apenas se descreve com maior atenção o método Latin Hypercube Sampling por ser um já disponibilizado no simulador HSPICE.

2.2.3 Latin Hypercube Sampling

O método de amostragem Latin Hypercube recorre a uma forma de amostragem estratificada que pode ser aplicada a sistemas multivariados. É geralmente usado para reduzir o número de simulações necessárias para obter uma distribuição aleatória razoavelmente precisa comparativa-mente com aquela que é obtida com o método Monte Carlo.

Comparando com a amostragem de MC, que gera uma amostra de dimensão N para os valores de desempenho obtidos usando os correspondentes N pontos resultantes de cada variável aleató-ria de entrada, o Latin Hypercube Sampling (LHS) procura espalhar estes pontos de amostragem uniformemente por todos os valores possíveis. Para isso separa cada variável de entrada em N intervalos de probabilidade igual e seleciona uma amostra de cada intervalo. Depois combina ale-atoriamente cada valor obtido das variáveis de entrada de modo a evitar correlações (excepto se de facto quisermos obter correlações). A maneira como é obtido o valor para cada intervalo equipro-vável varia de aplicação para aplicação. Entre os procedimentos mais comuns estão simplesmente obter um valor aleatório para cada intervalo ou então usar o ponto médio de cada intervalo.

Na figura2.7 está representado um exemplo de LHS de dimensão 5 de uma única variável. Cada amostra é retirada aleatoriamente de cada um dos intervalos, resultando numa amostragem que recria a distribuição de probabilidade da variável e evitando que a amostragem se concentre toda na mesma zona. Esta técnica pressupõe amostragem sem reposição, dado que cada amostra é retirada de cada um dos intervalos. Assim sendo, a partir do momento em que uma amostra é retirada de um intervalo, esse intervalo não será amostrado novamente.

Para o caso de uma única variável de entrada, este método tem um erro de amostragem de ordem O(1/N) ao passo que a amostragem de MC tem um erro da ordem O(1/√N), quadratica-mente mais lenta [11]. Por outras palavras, se para obter uma determinada precisão são necessárias N amostras LHS então para obter a mesma precisão são precisas N2amostras de MC.

(30)

14 Projecto de Circuitos e Variabilidade dos Processos de Fabrico

Figura 2.7: Exemplo de amostragem LH de dimensão 5 [3].

A grande questão levanta-se quanto ao comportamento deste método quando temos múltiplas variáveis de entrada. As taxas de convergência aproximam-se mais do método de MC porque o LHS combina cada amostra de uma única variável aleatoriamente para cada ponto constituído pelo conjunto de amostras do espaço de variáveis. Um tópico de controvérsia é se a taxa de convergência do LHS é efectivamente melhor quando aplicado a problemas de multi-variáveis, existindo autores que reportam melhorias significativas, outros que não [11].

2.3

Métodos de Otimização do Projeto

As secções anteriores focaram a estimação do comportamento dos circuitos na presença da variabilidade dos parâmetros dos seus elementos constituintes. Um outro problema se levanta quando, face aos resultados desta estimação, se pretende optimizar o projeto com vista a tornar o circuito menos sensível a essa variabilidade. Neste sentido, dois tipos de abordagens principais são possíveis, isto não considerando a simples substituição dos componentes por outros que apre-sentem menor dispersão de valores possíveis, como seria o caso da substituição de resistências de determinada tolerância por outras que apresentem menor tolerância. Tal procedimento não é pos-sível tratando-se do caso do fabrico de circuitos integrados, embora se possa recorrer a algumas

(31)

2.3 Métodos de Otimização do Projeto 15

alternativas durante o desenho topográfico (layout), e neste trabalho considera-se a optimização durante a fase anterior de projeto.

A primeira dessas duas abordagens consiste em reformular a topologia substituindo o circuito, em todo ou em parte, por outros circuitos que apresentem intrinsecamente melhor comportamento em termos de sensibilidade a essas variações. Por exemplo, a introdução de realimentação, se pos-sível, pode permitir tal objetivo. No entanto, estas abordagem têm um carácter ad-hoc e requerem do projetista uma elevada experiência e conhecimento que lhe permita identificar a que soluções pode recorrer. Uma abordagem mais comum, e à qual se tem vindo a recorrer mais frequente-mente, é a que recorre a circuitos auxiliares controlados digitalmente (digitally-assisted analog design) [12]. Esta abordagem apresenta as vantagens de permitir um bom ajuste dos valores dos componentes alvo e de estar disponível não só após o fabrico mas também ao longo de todo o tempo de vida do circuito. Em contrapartida, apresenta a desvantagem de obrigar à utilização de uma área maior de implementação e a um maior consumo de potência. Podem ainda surgir outras desvantagens em termos da degradação do comportamento do circuito ou da introdução de outras fontes de ruído.

O segundo tipo de abordagem diz respeito à otimização dos valores dos componentes de modo a obter a combinação que melhor comportamento apresenta em termos da sensibilidade a vari-ações. É esta a que está em causa neste trabalho. Há dois objetivos principais no processo de dimensionamento de um circuito: adoptar métodos de dimensionamento automático; e encontrar soluções para problemas difíceis de tratar manualmente [13]. No âmbito deste segundo objetivo cabem métodos baseados em algoritmos de aprendizagem automática machine learning de busca de soluções ótimas, dados determinadas restrições e objetivos. Matematicamente, tal corresponde a

minimizar f(x), su jeito a g(x) ≥ 0 e h(x) = 0, x∈ [XL, XH] (2.2) Estes métodos podem dividir-se em determinísticos e estocásticos. Os determinísticos in-cluem, e. g., os métodos de Newton e Levenberg-Marquardt e podem encontrar-se já implemen-tados em alguns simuladpres, como o HSPICE [14]. Porém, apresentam as desvantagens de: (a) exigirem uma boa solução inicial, (b) poderem conduzir a mínimos insatisfatórios, e frequente-mente requererem que as funções objetivo sejam contínuas e diferenciáveis. Entre os métodos estocásticos encontram-se os algoritmos genéticos [15], evolução diferencial [16], programação genética [17], particle swarm optimization [18], colony bees [19], learnable evolution model [20]. Contudo, a eficiência destes métodos é dependente dos parâmetros escolhidos para usar nos al-goritmos, da dimensão do espaço de soluções, e do número de varáveis. Como consequência o tempo de cálculo tende a aumentar com o aumento da complexidade do problema formulado. É com vista a ultrapassar estas desvantagens que os algoritmos baseados em heurísticas naturais, swarm intelligence, têm vindo a ser investigados [21].

No método proposto nesta dissertação procura-se explorar a aplicação de um método de opti-mização, determinístico ou estocástico, para encontrar os valores dos componentes de um circuito

(32)

16 Projecto de Circuitos e Variabilidade dos Processos de Fabrico

que maximizam o seu desempenho. As simulações necessárias para aplicar o método de optimiza-ção deveram ser obtidas com recurso a um dos algoritmos de amostragem estatística referenciados sub-capítulo anterior.

(33)

Capítulo 3

Expectation Maximization

Neste capítulo apresenta-se o algortimo Expectation Maximization. Depois da sua descrição formal, discute-se como pode ser aplicado ao projecto em questão e quais as suas vantagens quer em termos de fiabilidade dos resultados quer do tempo de execução do algoritmo. Por último são apresentados os resultados obtidos e feita uma análise comparativa em relação aos outros métodos previamente apresentados.

3.1

Definição

O algoritmo Expectation-Maximization é um algoritmo iterativo que recorre ao método da máxima verosimilhança para obtenção de estimadores de parâmetros em modelos estatísticos [22]. O algoritmo foi introduzido em 1977 num paper da autoria de Arthur Dempster, Nan Laird e Donald Rubin [23] e recebeu este nome por se tratar de um algoritmo iterativo em que cada iteração consiste em dois passos: O passo de expectation seguido do passo de maximization.

O propósito da estimação da máxima verosimilhança é encontrar parâmetros que maximizam a probabilidade de se ter observado certos valores de uma variável aleatória distribuída de acordo com uma determinada função densidade de probabilidade. Assumindo que temos uma variável Y e um vector de amostras dessa variável y = (y1, ..., yN)T, a "probabilidade"de se ter medido yi

sabendo que a fdp é uma função do parâmetro Θ é dada por:

p(yi|Θ) (3.1)

A função de verosimilhança é definida como função de Θ e é igual à probabilidade de se ter medido o vector Y (assumindo medições independentes):

L(Θ) = p(y|Θ) =

N

i=1

p(yi|Θ) (3.2)

Como o estimador de máxima verosimilhança é obtido maximizando L, os cálculos são facili-tados considerando o logaritmo de L (logaritmo é estritamente crescente logo os maximizantes do

(34)

18 Expectation Maximization log(L) e de L coincidem) logL(Θ) = N

i=1 logp(yi|Θ) (3.3)

O objectivo do algoritmo EM é facilitar a estimação do parâmetro Θ introduzindo uma variável aleatória "escondida", Z, não observável, que por isso define os dados não observados. Se z for um vector de dados não observados de Z, define-se os dados completos x como os dados observados ye não observados z:

x= (yT, zT)T (3.4)

Então o logaritmo da função de verosimilhança para os dados completos é

logLC(Θ) = logp(x|Θ) (3.5)

Considerando o valor esperado da função completa de verosimilhança (E-step)

E[logLC(Θ)|y, Θ(i)], (3.6)

o algoritmo EM maximiza iterativamente este valor esperado da seguinte forma

Θi+1= argmaxΘE[logLC(Θ)|y, Θ(i)]. (3.7)

3.1.1 EM aplicado a misturas de gaussianas

Uma mistura finita de distribuições de probabilidade consiste numa distribuição composta pela mistura de várias distribuições. O nome mistura deriva do facto de a função de distribuição de probabilidade de uma observação aleatória ser uma mistura de várias fdps distintas na forma

f(x) = K

i=1 ηifi(x) (3.8) em que K

i=1 ηi= 1, (3.9)

sendo ηi> 0, ∀i e fi(x), ∀i uma função de probabilidade distinta e conhecida, contendo cada uma

um ou mais parâmetros desconhecidos.

Supondo que os dados são representados por uma mistura de duas distribuições normais, N(µ1, σ12) e N(µ2, σ22) e sendo η o parâmetro de mistura, temos que a função de densidade de

probabilidade da mistura é dada por

(35)

3.1 Definição 19 sendo: fj(x) = 1 p2πσj exp −(x − µj) 2 2σ2j ! , j = 1, 2 (3.11)

Para uma amostra de dimensão n, o parâmetro desconhecido θ = (η, µ1, µ2, σ12, σ22) pode ser

estimado recorrendo ao algoritmo EM [24]. Dada a estimativa actual de θ , ˆθ(k)= ( ˆη , ˆµ1, ˆµ2, ˆσ12, ˆσ22),

a estimativa seguinte ˆθ(k+1)é actualizada da da seguinte forma:

ˆ η(k+1)=∑ n i=1qik n (3.12) ˆ µ2,(k+1)=∑ n i=1qikxi ∑ni=1qik (3.13) ˆ µ1,(k+1)= ∑ n i=1(1 − qik)xi ∑ni=1(1 − qik) (3.14) ˆ σ2,(k+1)2 =∑ n i=1qik(xi− ˆµ2,(k))2 ∑ni=1qik (3.15) ˆ σ1,(k+1)2 =∑ n i=1(1 − qik)(xi− ˆµ1,(k))2 ∑ni=1(1 − qik) (3.16) em que qik= E(Di|xi; ˆθ(k)) = ˆ η(k)fˆ2,(k)(xi) ˆ η(k)fˆ2,(k)(xi) + (1 − ˆη(k)) ˆf1,(k)(xi) (3.17) e ˆ fj,(k)(x) = 1 p2π ˆσj,(k) exp −(x − ˆµj,(k)) 2 2 ˆσ2j,(k) ! , j = 1, 2. (3.18) Escolhendo um valor inicial ˆθ0, este procedimento é facilmente implementável tendo como

critério de paragem a distância euclidiana entre os vectores de parâmetros de duas iterações con-secutivas ser inferior a um determinado valor (por exemplo 10−6).

Para efeito de simplificar e encurtar as expressões matemáticas foram apenas apresentadas as fórmulas para uma aplicação baseada numa mistura de duas gaussianas. No entanto, esta aborda-gem pode ser facilmente expandida para misturas com um maior número de distribuições normais resultando num acréscimo de 3 unidades no vector de parâmetros por cada gaussiana acrescentada (ηi, µi, σi2) assim como as respectivas alterações nos cálculos das estimativas.

3.1.2 Vantagens desta aplicação

Este método foi implementado na área da estimação do yield de circuitos integrados pela equipa do Professor Machado da Silva [4]. Nessa implementação foi considerado um espelho de corrente em configuração cascódica e calculada a estimação de um parâmetro de desempenho do circuito (valor eficaz (rms) da tensão de saída VOU T). Numa abordagem foram feitas 100

(36)

20 Expectation Maximization

interações do algoritmo EM sobre um número reduzido de simulações de MC (sub-conjuntos de uma simulação com N = 4050). Comparativamente foi feita uma abordagem convencional com 105 simulações de MC. Os resultados obtidos revelaram que a abordagem utilizando o EM tem um tempo de execução 50 vezes menor que a abordagem convencional com erro de estimação para a média de 0,02% e 3,8% para o desvio-padrão. A figura3.1mostra as diferentes curvas de densidade de probabilidade para cada uma das abordagens.

Figura 3.1: Comparação das curvas de fdp [4].

A estimação de parâmetros da distribuição de uma população x é feita com base numa dada amostra y dessa população (dados observados). Neste modelo temos uma função de verosimi-lhança e procuramos encontrar o valor do parâmetro θ que maximiza a "probabilidade"de termos obtido os valores observados.

Aplicando ao desenho de circuitos analógicos, o objectivo é utilizar amostras de MC de di-mensão pequena como a amostra de dados observados em cada passo de Expectation. Desta forma espera-se obter o mesmo erro com um número total de amostras consideravelmente inferior ao método de MC.

3.2

Procedimento e Resultados

Os resultados aqui apresentados resultam de um estudo comparativo entre o método tradicional de Monte Carlo e o método acima descrito. Como termo de comparação foi feita uma simulação de Monte Carlo de dimensão 100000. Esta simulação tem como objectivo servir de referência pois dada a elevada dimensão da simulação as funções de distribuição de probabilidade empíricas

(37)

3.2 Procedimento e Resultados 21

Figura 3.2: Esquema eléctrico do amplificador.

obtidas relativas ao desempenho do circuito em análise (ganho à frequência de 500 Hz e frequência de corte) serão muito próximas das funções de distribuição de probabilidade reais.

3.2.1 Circuito usado como caso de estudo

Como caso de estudo para realizar simulações e avaliar diferentes métodos estatísticos foi usado um amplificador de transcondutância projectado para implementação com uma tecnologia N-well de 350 nm. Na figura3.2apresenta-se o esquema do amplificador.

Os transístores foram dimensionados para se obter um consumo total de corrente (IDD) inferior

a 100 µA. De modo a ter a maior fonte de corrente disponível no ramo do nó de saída, IADfoi

distribuída da seguinte forma:

(38)

22 Expectation Maximization

Tabela 3.1: Dimensões dos transístores. W [µm] L [µm] W [µm] L [µm] MB1 0,35 1,05 M5 1,52 1,05 MB2 3,5 1,05 M6 5 1,05 M1 250 1,05 M6C 5 1,05 M2 250 1,05 M7 15,2 1,05 M3 1,52 1,05 M8 50 1,05 M4 1,52 1,05 M8C 50 1,05

Desta forma obtém-se um slew-rate de 15 V /µA com uma capacidade de carga de 5 pF (75 µA / 5 pF) e o ganho em malha aberta é de cerca de 50 dB. Os transístores foram di-mensionados usando a expressão quadrática aproximada para a corrente:

IA= 1 2µCox W LV 2 ov= 1 2µCox W L(VGS−VT h) 2 (3.20)

A tensão de overdrive (Vov) dos transístores foi mantida em 0.3 V para se obter um bom

compromisso entre a extensão admissível para a região de saturação dos transístores e a área de implementação. Permite também um bom compromisso em termos de emparelhamento dos transístores, melhor distorção e resposta em frequência.

No caso dos transístores M1 e M2 optou-se por trabalhar com menores tensões de overdrive,

logo com transístores mais largos, de modo a obter maior ganho e maior factor de rejeição de modo-comum. Uma área maior também permite melhorar o emparelhamento entre os transístores do par diferencial e assim contribuir para se obter menores tensões de desvio na origem (offset).

Nos cálculos foram usados para as transcondutâncias intrínsecas: µCoxn= 115 µA/V2

µCoxp= 35 µA/V2

(3.21)

3.2.2 Definição da variabilidade do circuito de teste

Para além da definição de um circuito de teste como base para aplicação dos métodos esta-tísticos é necessário definir numericamente a variabilidade das suas características e componentes para que a sensibilidade a estas variações possa ser observada e analisada.

Como tal, os parâmetros do circuito sujeitos a variação foram os seguintes: Comprimentos e larguras dos canais de todos os transístores do circuito, espessura do óxido (tox) dos transístores

tipo p e n, tensão de limiar de condução (VT h) dos transístores de tipo p e n, resistência específica

dos transístores do tipo p e n e mobilidade dos portadores maioritários para os transístores do tipo pe n.

As funções de densidade de probabilidade das distribuições de cada um destes parâmetros foram definidas como sendo uma distribuição normal cujo valor médio é o valor nominal do

(39)

3.2 Procedimento e Resultados 23

próprio parâmetro. Os desvios-padrões foram definidos a partir do coeficiente de variação ou desvio-padrão relativo. O desvio-padrão relativo é uma medida normalizada da dispersão de uma distribuição de probabilidade e é dado pelo quociente entre o desvio-padrão e o valor médio. Para as larguras e comprimentos dos canais dos transístores este valor foi definido como sendo 10% do valor nominal respectivo. Para os restantes parâmetros o valor do desvio-padrão relativo foi fixado em 30% do valor nominal.

3.2.3 Resultados

Os testes recorrendo ao algoritmo EM foram feitos da seguinte maneira: Os conjuntos de dados do ganho e frequência de corte foram obtidos através de simulações de MC de dimensão re-duzida (1000 e 5000). O algoritmo EM correu sobre estes dados com valores iniciais arbitrados da seguinte forma: η de 0,5 e os valores médios e desvios padrões arbitrados com base numa análise visual das fdp empíricas da simulação de referência. Dada a natureza dos dados os valores iniciais podem também ser escolhidos com base nos valores médios e desvios-padrões dos próprios dados (por exemplo, ˆµ0= µ(X ) ± ε1e ˆσ0= σ (X ) ± ε2, sendo X os vectores de dados em questão) sem

que daí resulte uma diferença significativa no resultado final do algoritmo. Desta forma pode-se correr o algoritmo sem nenhuma outra informação prévia dos dados gerados. Como não foi estu-dada formalmente a influência de tais parâmetros inicias no resultado final do algoritmo optou-se por apresentar os resultados obtidos com os valores iniciais escolhidos da primeira forma. Também foram feitas simulações com base em misturas de um maior número de gaussianas, concretamente, 3, 4 e 5.

O critério de paragem do algoritmo EM foi a distância euclidiana dos vectores consecutivos dos parâmetros estimados ser inferior a 10−6 ou o número máximo de iterações (5000) ser exce-dido.

Os critérios de comparação utilizados foram os mesmos que foram usados na análise das simu-lações recorrendo ao LHS. Foi considerada a média e desvio-padrão das misturas de gaussianas obtidas bem como a diferença absoluta entre a fdp empírica de referência e as fdps resultantes. Além disso foi também calculada a distância de Kullback-Liebler entre a simulação em questão, q(x), e a simulação de referência, p(x). Esta distância é dada por:

DKL(p(x)||q(x)) =

i

p(x)lnp(x)

q(x) (3.22)

Os resultados estão apresentados na tabelas3.2 e 3.3e as figuras das comparações das fun-ções densidade de probabilidade estão incluídas no anexoB. Observa-se que recorrendo ao algo-ritmo EM obtêm-se funções de densidade de probabilidade mais próximas das fdps de referência, podendo-se chegar a fdps com uma distância de KL até quatro vezes mais baixa (comparando com uma amostra de MC da mesma dimensão sem recorrer ao EM). Como contrapartida, para além de ser necessário iniciar o algoritmo com valores iniciais, θ0, é necessário também que a fdp da

(40)

24 Expectation Maximization

de execução é desprezável. O tempo de execução para gerar 1000 amostras de MC é de aproxi-madamente 30 segundos, enquanto que correr 5000 iterações do algoritmo EM sobre essas 1000 amostras demora apenas 1,3 segundos (tempos de execução no processador Intel core i5-3210M).

Tabela 3.2: Comparação das fdps empíricas do ganho obtidas através de MC e EM.

Método Utilizado Valor médio Desvio-padrão DKL(P||Q) Diferença absoluta de área Iterações

Referência (100 000 MC) 1082,1 242,4726 0 0 -5 000 amostras MC 1079,9 239,0059 0,0093 0,0678 -1 000 amostras MC 1096,3 239,1020 0,0928 0,1845 -5 000 MC + EM (2 Normais) 1080,8 242,6618 0,0015 0,0319 488 5 000 MC + EM (3 Normais) 1080,0 242,6618 0,0012 0,0273 5000 5 000 MC + EM (4 Normais) 1080,0 242,6618 0,0012 0,0273 5000 5 000 MC + EM (5 Normais) 1080,0 242,6618 0,0015 0,0407 5000 1 000 MC + EM (2 Normais) 1096,3 238,9824 0,0076 0,0793 179

Tabela 3.3: Comparação das fdps empíricas da freq. de corte a -3 dB obtidas através de MC e EM.

Método utilizado Valor médio Desvio-padrão DKL(P||Q) Diferença absoluta de área Iterações

Referência (100 000 MC) 7600 4661,5 0 0 -5 000 amostras MC 7634,6 4569,6 0,0151 0,0665 -1 000 amostras MC 7514,0 4498,8 0,0866 0,1490 -5 000 MC + EM (2 Normais) 7634,6 4569,1 0,0460 0,2063 95 5 000 MC + EM (3 Normais) 7634,6 4569,1 0,0140 0,1034 886 5 000 MC + EM (4 Normais) 7634,6 4569,1 0,0054 0,0629 1828 5 000 MC + EM (5 Normais) 7634,6 4569,1 0,0041 0,0585 4682 1 000 MC + EM (2 Normais) 7514,0 4496,6 0,0483 0,2130 98 3.2.4 Resultados recorrendo ao LHS

O HSPICE tem uma função incorporada de amostragem LH. Por esta razão são também aqui apresentados os resultados das simulações recorrenda a este método. Utilizando essa função do HSPICE é possível definir o número de intervalos (amostras) a simular e o número de repetições de LHS. Por outras palavras, é possível fazer uma simulação que consiste num lote de y simulações de LHS de dimensão x.

Aplicando este método ao amplificador operacional de referência obtiveram-se os dados do ganho a 500 Hz e frequência de corte (a 3 dB). Os resultados relativos a cada uma das grandezas de desempenho são apresentados nas tabelas3.4e3.5. Como termo de comparação foram consi-derados o valor médio e desvio-padrão das amostras bem como a distância de KullBack-Leibler [25] em relação à distribuição de referência, obtida através de uma simulação de MC de 100000

(41)

3.2 Procedimento e Resultados 25

amostras, e a diferença absoluta de área entre a distribuição obtidas e a de referência. Também de-vem ser consultadas as figuras no anexoArelativas à comparação entres as funções de distribuição de probabilidade obtidas com o LHS e com o método de MC.

Os resultados indicam que há uma ligeira melhoria dos valores obtidos acompanhados de um pequeno aumento dos tempos de simulação quando comparados com as simulações de MC de igual dimensão. A razão desta melhoria não ser significativa poderá resultar do elevado número de variáveis aleatórias que contribuem para o desempenho do circuito assim como uma possível correlação entre elas.

Tabela 3.4: Comparação das fdps empíricas do ganho obtidas através de MC e LHS.

Método Utilizado Valor médio Desvio-padrão DKL(P||Q) Diferença absoluta de área Tempo de execução (s)

Referência (100 000 MC) 1082,1 242,4726 0 0 37341,60 5 000 amostras MC 1079,9 239,0059 0,0093 0,0678 432,02 1 000 amostras MC 1096,3 239,1020 0,0928 0,1845 30,27 5 000 amostras LHS 1079,9 242,8247 0,0089 0,0842 437,18 10 x 500 amostras LHS 1081,3 244,3492 0,0089 0,0842 473,53 1000 amostras LHS 1084,4 240,6445 0,0545 0,2076 15,43

Tabela 3.5: Comparação das fdps empíricas da freq. de corte a -3 dB obtidas através de MC e LHS.

Método Utilizado Valor médio Desvio-padrão DKL(P||Q) Diferença absoluta de área Tempo de execução (s)

Referência (100 000 MC) 7600,1 4661,5 0 0 37341,60 5 000 amostras MC 7634,6 4569,6 0,0151 0,0665 432,02 1 000 amostras MC 7514,0 4498,8 0,0866 0,1490 30,27 5 000 amostras LHS 7637,8 4724,2 0,0142 0,0777 437,18 10 x 500 amostras LHS 7621,3 4714,6 0,0139 0,0934 473,53 1000 amostras LHS 7572,1 4546,5 0,1149 0,1776 15,43

(42)
(43)

Capítulo 4

Método de Optimização

Neste capítulo descreve-se o método proposto para a optimização do dimensionamento de cir-cuitos analógicos. Este método pode ser modelado por uma malha fechada de controlo que tem por base simulações efectuadas recorrendo à aplicação do algoritmo Expectation-Maximization para estimação do desempenho de circuitos, descrita no capítulo anterior. De seguida são apre-sentados os resultados obtidos através desta ferramenta e comparados com outra implementação com o mesmo propósito, mas que recorre ao algoritmo PSO. São ainda analisadas as vantagens e desvantagens de cada uma das abordagens.

A ferramenta implementada permite a optimização do desenho de circuitos analógico no que diz respeito aos valores dos componentes do circuito em estudo (como comprimentos e larguras dos canais dos transístores) por forma a maximizar a probabilidade das grandezas de desempenho desse mesmo circuito se encontrarem dentro de uma determinada gama.

Os resultados apresentados dizem respeito ao amplificador operacional que tem servido como caso de estudo ao longo desta dissertação. A descrição do circuito em HSPICE utilizando a tecno-logia CMOS de 350 nm bem como a definição da variabilidade dos componentes do circuito foi exposta no capítulo2.

4.1

Escolha dos parâmetros a optimizar

Para simplificar e agilizar o processo de optimização foi primeiro feita uma análise de sensi-bilidade das grandezas de desempenho a medir em relação aos parâmetros de entrada do circuito. Esta simplificação é necessária dado que o tempo de execução da ferramenta aumenta proporci-onalmente com o número de parâmetros a optimizar. Assim sendo, escolheram-se apenas os 3 parâmetros mais influentes no desempenho do circuito reduzindo o tempo de execução do pro-cesso.

A análise foi feita recorrendo à ferramenta AC Match Analysis incluída no HSPICE. Esta ferra-menta identifica qual a influência que cada um dos parâmetros tem na tensão de saída do circuito. Esta é uma análise AC pelo que os valores são dados em função de um varrimento no domínio das frequências. Foram considerados os valores obtidos à frequência de aproximadamente 500 Hz,

(44)

28 Método de Optimização

visto que o ganho do circuito é avaliado nessa frequência. Dos resultados da análise apresentados na tabela4.1podemos concluir que as larguras dos canais dos transístores m7, m5 e m3 são as que mais influenciam o desempenho do amplificador à frequência de 500 Hz. Por esta razão, foram as larguras destes transístores os parâmetros escolhidos para optimizar neste processo. Apesar de te-rem sido escolhidos estes 3 parâmetros, o valor de largura de M4 deve ser alterado para o valor de largura de M3 de forma a preservar o equilíbrio e simetria do desenho do circuito. O comprimento dos transístores foi mantido constante (regra geral do design de circuitos).

Tabela 4.1: AC Match Analysis à frequência de 509, 11 Hz.

Transístor Contribuição para a variância da saída (%) Contribuição cumulativa (%) m7 45,98 45,98 m3 12,06 58,04 m5 11,77 69,81 m4 9,03 78,84 m6c 6,34 85,19 m8c 3,91 89,09 mb1 3,15 92,25 m6 2,51 94,75 mb2 1,93 96,69 m2 1,53 98,22 m8 1,47 99,69

4.2

Descrição do Método

Como grandezas de desempenho do circuito foram escolhidas o ganho e a frequência de corte a 3 dB, tal como nos testes realizados previamente. São também definidos pelo utilizador a gama de valores para o ganho e para frequência de corte segundo os quais se pretende optimizar os valores de largura dos transístores.

As larguras dos transístores são optimizadas segundo a seguinte expressão Max P(ganho ∈ [gmin, gmax]) · P( f 3dB ∈ [ fmin, fmax])



(4.1) ou seja, maximiza-se o produto de a probabilidade de o ganho do circuito estar dentro da gama defi-nida, [gmin, ggmax], com a probabilidade de a frequência de corte estar dentro da gama, [ fmin, fgmax].

(45)

4.2 Descrição do Método 29

Poder-se-ia ter escolhido outra forma de calcular este valor (por exemplo, a soma ou uma combi-nação linear das probabilidades referidas) mas optou-se pela multiplicação satisfazendo a lógica do argumento de que seria preferível ter um circuito cujo ganho e frequência de corte estão 90% das vezes dentro da gama pretendida do que um circuito cujo ganho está 85% das vezes dentro da gama e a frequência de corte 95% das vezes de acordo com a gama. Esta multiplicação das probabilidades é definida como F(W ), sendo função da largura do transístor, W , a optimizar.

Os valores de probabilidade são calculados através das curvas de densidade de probabilidade obtidas fazendo uma simulação de Monte Carlo no HSPICE de dimensão 1000 seguido da apli-cação do algoritmo Expectation-Maximization para estimação de parâmetros de uma mistura de gaussianas (processo descrito no capítulo3).

O sistema de optimização automático foi implementado por forma a encontrar o valor sequen-cialmente, isto é, primeiro é encontrado o valor óptimo de largura de m7, depois de m5 e só no fim de m3. Foi implementado desta forma porque não há um conhecimento prévio sobre a forma como a variação de cada largura vai influenciar as grandezas de desempenho. Variando os 3 parâmetros em simultâneo não seria possível inferir qual ou quais os parâmetros que influenciaram negativa ou positivamente o desempenho.

O algoritmo faz uma primeira simulação com os valores iniciais dos parâmetros e regista o valor do desempenho, F(W0). Pela razão referida no parágrafo anterior, a primeira iteração

do algoritmo funciona como uma iteração piloto para descobrir qual a direção segundo a qual queremos variar o valor nominal da largura do transístor de modo a maximizar o objectivo. Neste caso, a largura é aumentada em 10%:

W1= W0+ 1, 1W0 (4.2)

O valor de F(W1) é registado, e na iteração seguinte a largura já é actualizada da seguinte

forma

Wi+1= Wi+ k[F(Wi) − F(Wi−1)] (4.3)

sendo Wi o valor nominal de largura na iteração i e k a constante de realimentação (k = 1 para

o transístor m7 e k = 0, 5 para os transístores m5 e m3). O fluxograma da figura4.1 ilustra o processo iterativo de optimização das larguras dos transístores.

O programa pára quando um dos critérios de paragem enunciados for atingido. No que diz respeito à diferença do valor de F(W ) de duas iterações consecutivas foi estabelecido que a op-timização é atingida se esta for inferior a 0,001. O algoritmo volta novamente ao passo inicial, mas agora variando a largura de outro transístor, iterando sucessivamente até chegar ao critério de paragem. Este procedimento repete-se até não haver mais parâmetros a optimizar.

(46)

30 Método de Optimização

Figura 4.1: Optimização das larguras dos transístores em malha fechada.

4.3

Resultados

Os resultados aqui apresentados foram obtidos tendo como valores iniciais os valores nomi-nais de largura de W 3, W 5, W 7 descritos no subcapítulo3.2.1. O intervalo de ganho escolhido é de [1200 1600] V /V e o de frequência de corte de [3000 7000] Hz. Estes intervalos foram assim escolhidos com base nas funções de distribuição de probabilidade obtidos na análise da sensibili-dade do comportamento dos circuitos às variações dos componentes. É de realçar que o intervalo da frequência de corte tem uma largura consideravelmente maior que o do ganho devido à natureza da curva de densidade de probabilidade obtida que é mais extensa e irregular.

É também importante referir que estes intervalos são um exemplo. No projecto de dimensiona-mento de um circuito estas gamas devem ser entendidas como os intervalos nos quais se considera que o desempenho do circuito é aceitável. Naturalmente a definição destes intervalos é específica de cada circuito, dependendo da aplicação e rigor de produção que se pretende atingir.

Nas figuras4.2,4.3e4.4estão apresentadas as evoluções dos valores de F(x) em função do número de iterações de cada uma das larguras.

4.4

Alternativa: Particle Swarm Optimization

Particle Swarm Optimizationé uma técnica usada para explorar o espaço das variáveis de en-trada de um dado problema de forma a descobrir os parâmetros necessários para maximizar um objectivo. Esta técnica, descrita pela primeira vez por James Kennedy e Russel C. Eberhart em 1995 [26], deriva de duas ideias: A ideia de inteligência comum de um grupo baseada na obser-vação dos hábitos de certos animais (como peixes, insectos ou pássaros) e o ramo da computação que estuda algoritmos evolucionários.

(47)

4.4 Alternativa: Particle Swarm Optimization 31

Figura 4.2: Valores de F(W) por iteração da largura do transístor 7.

(48)

32 Método de Optimização

Figura 4.4: Valores de F(W) por iteração da largura do transístor 3.

A optimiztação é o processo pelo qual se descobre o máximo ou mínimo valor de uma função ou processo. Matematicamente, as tarefas de maximização e minimização são definidas por:

Dado f: Rn→ R Encontrar xˆ∈ Rn

tal que f( ˆx) ≤ f (x), ∀x ∈ R (4.4) O espaço de procura é definido como o domínio Rnde f. Cada elemento de Rné uma possível solução do espaço de procura, sendo ˆxa solução óptima. Nesta fórmula, n denomina o número de dimensões do espaço de procura e consequentemente o número parâmetros a optimizar. A função

f é a função objectivo e mapeia o espaço de procura no contradomínio da função.

Sendo a função f uma função conhecida e diferenciável, é possível calcular algebricamente o seu máximo e mínimo. No entanto, em aplicações no mundo real por vezes esta função não é conhecida. Nestes casos, a função objectivo comporta-se como uma caixa negra sobre a qual po-demos alterar os parâmetros de entrada (solução possível) e recebemos um valor de saída. Nestas situações o algoritmo PSO é particularmente útil, trabalhando simultaneamente com várias solu-ções possíveis. Cada solução pode ser visualizada como uma partícula que se move pelo espaço de procura para descobrir a melhor solução (correspondente ao máximo ou mínimo global).

O algoritmo pressupõe que não há conhecimento prévio sobre a função de optimização pelo que não há maneira de saber se uma solução candidata está próxima ou longe do valor óptimo. O

(49)

4.4 Alternativa: Particle Swarm Optimization 33

algoritmo precisa apenas de avaliar cada solução candidata (valor da função objectivo nos pontos candidatos) e opera sobre esses resultados.

Cada partícula é inicializada aleatoriamente no espaço de procura e é composta pela sua po-sição (valor dos parâmetros), valor da função objectivo dessa popo-sição e uma velocidade (também inicializada aleatoriamente). Adicionalmente, cada partícula guarda o melhor valor da função ob-jectivo que já obteve e a respectiva solução candidata (melhor solução individual). O algoritmo mantém também guardado o melhor valor da função objectivo de entre todas as partículas e seus respectivos parâmetros (melhor objectivo global e melhor posição global).

O algoritmo PSO realiza os 3 seguintes passos iterativamente até um critério de paragem ser atingido:

1. Avaliar a função objectivo em cada partícula;

2. Actualizar os melhores valores individuais e globais dos objectivos e das posições; 3. Actualizar a velocidade e em seguida a posição de cada partícula.

O primeiro passo consiste em fornecer os valores da posição da partícula à função objectivo e observar o seu valor. Em seguida os novos valores são comparados com as melhores soluções individuais e globais e estes são actualizados, se necessário. O último passo é responsável pela capacidade de optimização do algoritmo. A velocidade é actualizada da seguinte forma

vi(t + 1) = wvi(t) + c1r1[ ˆxi(t) − x(t)] + c2r2[g(t) − xi(t)]. (4.5)

Cada partícula é representada pelo índice i, sendo vi(t) a velocidade da partícula i no instante

(iteração) t e xi(t) a posição da partícula i no instante t. Os parâmetros w, c1e c2 (0 < w < 1, 2,

0 < c1< 2 e 0 < c2< 2) são coeficientes definidos pelo utilizador. Os valores r1e r2são valores

gerados aleatoriamente para cada iteração (0 < r1< 1 e 0 < r2< 1).

Para impedir que as partículas se afastem demasiado rápido da sua posição actual é geralmente definido um valor máximo de velocidade. Este valor pode ter em conta os valores máximos e minímos do espaço de procura (caso existam) ou alternativamente ser um valor arbitrado pelo utilizador.

Depois de calculada a velocidade para cada partícula, o valor da sua posição é actualizado aplicando a sua nova velocidade

xi(t + 1) = xi(t) + vi(t + 1). (4.6)

O processo é repetido até ser atingido o critério de paragem. Alguns critérios de paragem tipi-cos são: ser atingido um número máximo de iterações, ter passado um número de iterações desde a última actualização do melhor candidato global, ou um determinado valor da função objectivo ter sido atingido.

Existem outras versões do algoritmo descritas na literatura embora se baseiem nos 3 passos acima descritos [27].

Referências

Documentos relacionados

Para Souza (2004, p 65), os micros e pequenos empresários negligenciam as atividades de planejamento e controle dos seus negócios, considerando-as como uma

Num primeiro momento, as informações levantadas para a descrição do caso dizem respeito às práticas de gestão do trabalho pedagógico que têm logrado o sucesso no

Ressalta-se que mesmo que haja uma padronização (determinada por lei) e unidades com estrutura física ideal (física, material e humana), com base nos resultados da

Então são coisas que a gente vai fazendo, mas vai conversando também, sobre a importância, a gente sempre tem conversas com o grupo, quando a gente sempre faz

de professores, contudo, os resultados encontrados dão conta de que este aspecto constitui-se em preocupação para gestores de escola e da sede da SEduc/AM, em

O Programa de Avaliação da Rede Pública de Educação Básica (Proeb), criado em 2000, em Minas Gerais, foi o primeiro programa a fornecer os subsídios necessários para que

Both the distribution of toxin concentrations and toxin quota were defined by epilimnetic temperature (T_Epi), surface temperature (T_Surf), buoyancy frequency (BuoyFreq) and

Dessa maneira, os resultados desta tese são uma síntese que propõe o uso de índices não convencionais de conforto térmico, utilizando o Índice de Temperatura de Globo Negro e