Test Strategy for Digital Control/Power Switches Hélio Jorge da Silva Guerra Dissertação para obtenção do Grau de Mestre em Engenharia Electrotécnica e de Computadores Júri Presidente: Professor Doutor Nuno Cavaco Gomes Horta Orientador: Professor Doutor Marcelino Bicho dos Santos Vogal: Professor Doutor Fernando Manuel Duarte Gonçalves Outubro 2010
76
Embed
Test Strategy for Digital Control/Power Switches · observabilidade e testabilidade aos circuitos analógicos, apresenta-se uma interface que permite integrar o teste dos blocos analógicos
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Test Strategy for Digital Control/Power Switches
Hélio Jorge da Silva Guerra
Dissertação para obtenção do Grau de Mestre em
Engenharia Electrotécnica e de Computadores
Júri
Presidente: Professor Doutor Nuno Cavaco Gomes Horta
Orientador: Professor Doutor Marcelino Bicho dos Santos
Vogal: Professor Doutor Fernando Manuel Duarte Gonçalves
Outubro 2010
ii
iii
Agradecimentos
Agradecimentos
A realização deste trabalho não teria sido possível sem o contributo e apoio prestado por parte de
várias pessoas, às quais passo a agradecer.
Em primeiro lugar gostaria de agradecer ao meu orientador, Professor Doutor Marcelino Bicho dos
Santos, pela oportunidade que me concedeu para realizar este trabalho numa área tão importante e
em constante desenvolvimento, mostrando sempre disponibilidade para a discussão das opções a
tomar ao longo do projecto.
A todos os meus colegas e amigos (eles sabem quem são) com quem tive o privilégio de me cruzar
ao longo de todo o percurso académico, quer no IST quer no INESC-ID, por demonstrarem todo o
apoio necessário e por tornarem este período exigente também divertido e com grandes momentos
de convívio.
Agradeço à Diana por estar sempre a meu lado, transmitindo força e carinho, demonstrando todo o
seu apoio quer nos bons, mas também nos momentos menos bons.
Por último, é com muito orgulho que agradeço aos meus pais, Joaquim e Aida, e ao meu irmão, pelos
valores que me passaram e por todo o esforço e confiança que sempre depositaram em mim e que
me foram permitindo alcançar todos os meus objectivos ao longo da vida.
iv
v
Abstract
Abstract
Fault modeling and simulation in analogue circuits is an issue which has been intensively studied and
where it has been spent a high research effort by industrial and academic communities. Test
strategies based on simulation provide a powerful support in the process of detection of physical
defects. This thesis presents an original methodology for test preparation where a fault model is
implemented by the introduction of two resistances on each transistor to allow simulate possible short
or open circuits. The proposed analog test preparation methodology is implemented in a mixed-signal
case study that consists on the power block and drivers of a DC-DC converter. The evaluation of the
fault coverage of these analog blocks is carried out considering that controllability and observability is
only possible through a digital interface.
Keywords
Test preparation methodology, fault models, analog test, fault simulation
vi
vii
Resumo
Resumo
A modelação de faltas em circuitos analógicos é um tema que tem vindo a ser intensivamente
estudado e onde tem sido despendido um elevado esforço de investigação por parte das
comunidades industrial e académica. Estratégias de preparação do teste baseadas na simulação
apresentam uma poderosa ajuda no processo de detecção de defeitos físicos. Esta tese apresenta
uma metodologia original de preparação do teste em que se implementa um modelo de faltas que
consiste na introdução de duas resistências, uma em série e uma em paralelo, em cada transístor de
modo a permitir simular possíveis curto-circuitos ou circuitos abertos. Além disso, de forma a conferir
observabilidade e testabilidade aos circuitos analógicos, apresenta-se uma interface que permite
integrar o teste dos blocos analógicos responsáveis pela ligação entre o bloco digital de controlo e os
transístores de potência, no teste do bloco digital. A interface consiste na inclusão de conversores de
nível que traduzem valores lógicos representados em tensões mais altas ( ) para valores lógicos
representados em tensões mais baixas ( ).
Palavras-chave
Metodologia de preparação do teste, modelos faltas, teste analógico, simulação de faltas
viii
ix
Tabela de Conteúdos
Tabela de Conteúdos
Agradecimentos ...................................................................................... iii
Abstract .................................................................................................... v
Resumo .................................................................................................. vii
Tabela de Conteúdos .............................................................................. ix
Lista de Figuras ....................................................................................... xi
Lista de Tabelas ..................................................................................... xiii
Lista de Símbolos e Abreviações ........................................................... xv
Figura 2.1 - Classificação das técnicas de diagnóstico de faltas de acordo com a fase em que ocorre a simulação do circuito no processo de teste (adaptado de [7]). ........................ 8
Figura 2.2 - Substituição do transístor do tipo NMOS [10]. ...................................................................... 9
Figura 2.3 - Fluxo da metodologia proposta em [10] (adaptado). .......................................................... 10
Figura 2.4 - Modelo do transístor para faltas do tipo Bridging, utilizados em [11]. ................................ 10
Figura 2.5 - Exemplo de falta do tipo Line-Open, retirado de [1]. .......................................................... 11
Figura 2.6 - Transformação do transístor do tipo PMOS [14]. ............................................................... 11
Figura 2.7 - Modelo do transístor para faltas do tipo Stuck-Open, utilizados em [11]. .......................... 12
Figura 3.1 - Modelo de faltas proposto. .................................................................................................. 15
Figura 3.2 - Modos de funcionamento do modelo apresentado............................................................. 15
Figura 3.3 – Esquema da metodologia de preparação do teste. ........................................................... 17
Figura 4.1 - Fluxograma do processo de implementação do modelo de faltas proposto. ..................... 20
Figura 4.2 - Fluxograma do programa "ADD_RES.pl". ......................................................................... 23
Figura 4.3 - Representação do método de inserção das resistências série e paralelo. ........................ 24
Figura 4.4 - Fluxograma do programa "ADD_SIMS.pl". ........................................................................ 25
Figura 4.5 - Fluxograma do programa "CREATE_RESULTS.pl". ......................................................... 27
Figura 5.1 - Esquema da topologia convencional de uma interface entre o bloco digital e os transístores de potência. .............................................................................................. 30
Figura 5.2 - Esquema da topologia da interface implementada entre o bloco digital e os transístores de potência. .............................................................................................. 32
Figura I.1 - Esquema eléctrico do circuito apresentado no caso de estudo…….……………………….44
xii
xiii
Lista de Tabelas
Lista de Tabelas
Tabela 5.1 - Condições de simulação. ................................................................................................... 33
Tabela 5.2 - Definição do valor das resistências do modelo de faltas, utilizados em simulação. ......... 34
Tabela 5.3 - Dados referentes à simulação e análise do ficheiro de descrição do circuito. .................. 34
Tabela 5.4 - Simulação e análise do ficheiro de descrição do circuito com introdução de ponto de observabilidade. ....................................................................................................... 36
xiv
xv
Lista de Símbolos e Abreviações
Lista de Símbolos e
Abreviações
BRI Bridging Faults
CAD Computer-Aided Design
CMOS Complementary Metal-Oxide Semiconductor
DBT Defect-Based Test
DC-DC Direct Current-to-Direct Current
HDL Hardware Description Language
IC Integrated circuit
LOP Line-Open Faults
LSA Line Stuck-At
MOS Metal-Oxide Semiconductor
NMOS Metal-Oxide Semiconductor with N-type channel
SAT Simulation After Test
SBT Simulation Before Test
SoC System-on-Chip
SPICE Simulated Program with Integrated Circuits Emphasis
UMC United Microelectronics Corporation
HSPICE Simulated Program with Integrated Circuits Emphasis
xvi
1
Capítulo 1
Introdução
1 Introdução
2
Ao longo dos anos, tem-se verificado um rápido crescimento na indústria de circuitos integrados (IC –
integrated circuits). À medida que a tecnologia se torna mais complexa, oferecendo densidades de
integração cada vez mais elevadas, já na ordem dos nanómetros, surge cada vez mais a
necessidade de integrar diferentes funções, analógicas e digitais, num mesmo circuito integrado, os
chamados System-on-Chip (SoC).
Devido a este crescente nível de integração, a qualidade de fabrico vai-se tornando cada vez mais
sensível a defeitos físicos, imperfeições e variações de processos. Estes defeitos não afectam
apenas as ligações entre portas lógicas, mas também as ligações entre transístores no interior das
células. De modo a reduzir o tempo e os recursos gastos na procura de imperfeições, existe a
necessidade de criar métodos e ferramentas automáticas de detecção e diagnóstico de faltas [1].
Sabe-se também que é mais difícil testar os chamados circuitos integrados “Mixed Signal” ao invés de
circuitos puramente digitais ou analógicos, já que os requisitos que ambos apresentam são bastante
diferentes [2]. Devido à integração de ambos os processamentos, digital e analógico, os circuitos
“Mixed Signal” são geralmente projectados para funcionalidades específicas, exigindo um alto nível
de especialização e o uso cuidado de ferramentas de projecto assistido por computador (CAD -
computer-aided design).
Neste contexto, estratégias de preparação do teste baseadas na simulação apresentam uma
poderosa ajuda no processo de elevar a cobertura de faltas e garantir um reduzido número de ICs
que passam com sucesso o teste de produção embora estando defeituosos (“Defect Level” na ordem
das poucas unidades por milhão).
1.1 Motivação
Controladores digitais são blocos fundamentais em cada SoC, uma vez que são responsáveis pelo
controlo dos restantes blocos que o constituem, nomeadamente conversores DC-DC, conversores
analógico-digital e digital-analógico, fontes de corrente, dispositivos de potência, etc.
Num ambiente SoC existe a necessidade de criar interfaces entre blocos digitais e blocos analógicos,
uma vez que a principal dificuldade em combinar este tipo de circuitos surge na diferença de
representação de sinais e níveis de tensão utilizados. Sabe-se que os blocos digitais utilizam sinais
interpretados com valores discretos, enquanto os circuitos analógicos funcionam através de sinais
contínuos. De modo a poder existir ligação entre ambos é necessário recorrer a circuitos de
conversão. Além disso, blocos digitais utilizam normalmente tensões de alimentação inferiores às dos
circuitos analógicos e à gama de tensões disponibilizadas pelas baterias de lítio, sendo necessário
utilizar conversores DC-DC para a sua alimentação.
De maneira a promover a testabilidade nas interfaces entre os blocos digitais e os circuitos
analógicos, é essencial desenvolver e integrar métodos de teste que permitam a controlabilidade e
observabilidade dos circuitos integrados. Para tal, a simulação de falhas em circuitos analógicos é
3
fundamental, uma vez que permite o diagnóstico, classificação e consequente análise da cobertura
de faltas analógicas.
1.2 Objectivos
O objectivo deste trabalho é desenvolver uma interface entre o controlador digital e os transístores de
potência de um conversor DC-DC que permita integrar o teste dos conversores de nível (level
converters), dos drivers e dos dispositivos de potência no teste do bloco digital, normalmente
utilizando uma técnica designada por Scan, conferindo observabilidade e controlabilidade aos blocos
analógicos mencionados.
É igualmente necessário criar uma metodologia de teste que permita a detecção e o diagnóstico de
faltas ao nível do transístor para essa mesma interface. O tipo de faltas a evidenciar deverá ser do
tipo curto-circuito (bridging) e circuito-aberto (line-open ou stuck-open).
O caso de estudo é implementado na tecnologia CMOS UMC 130 nm, utilizando tensões de
alimentação de alimentação de no caso dos blocos digitais e para os blocos analógicos.
1.3 Organização do Documento
Esta tese está organizada em 6 capítulos. Seguidamente, é apresentada uma pequena síntese de
cada capítulo:
Capítulo 2: Estado da Arte
Este capítulo apresenta um enquadramento do teste digital e analógico. Além disso, expõe
diversas técnicas e metodologias já desenvolvidas para a detecção e diagnóstico de faltas.
Capítulo 3: Metodologia
Neste capítulo é apresentada a descrição do modelo de faltas desenvolvido. Contém também
a descrição da metodologia a seguir para a detecção e avaliação da cobertura de faltas.
Capítulo 4: Implementação
Este capítulo descreve os programas desenvolvidos para implementar a metodologia
apresentada no Capítulo 3. Apresenta também uma breve descrição da ferramenta de
simulação utilizada (HSPICE).
Capítulo 5: Caso Prático e Resultados
Neste capítulo é aplicado o método desenvolvido à interface para a qual foi pensado o
trabalho, apresentando os resultados decorrentes do mesmo.
Capítulo 6: Conclusões
Este capítulo providencia as principais conclusões a retirar do trabalho realizado, bem como
4
sugestões sobre possível trabalho futuro.
5
Capítulo 2
Estado da Arte
2 Estado da Arte
6
2.1 O teste digital
A complexidade e o nível de integração que os circuitos integrados digitais oferecem hoje em dia
fazem com que o seu teste represente uma tarefa díficil. Com o aumento da densidade de
transístores presentes nos dispositivos, aumenta também a dificuldade de teste, uma vez que se
torna cada vez mais complicado aceder a nós internos dos circuitos integrados sendo necessários
métodos de teste mais complexos e dispendiosos. Por consequência do aumento do nível de
integração e do rápido desenvolvimento da indústria, verifica-se a diminuição das tensões de
alimentação e o aumento das frequências de trabalho, factores que têm grande impacto nas
estratégias de teste.
O teste de circuitos integrados digitais consiste na aplicação de vectores de teste nas entradas do
circuito, comparando as respostas obtidas com as respostas esperadas. A qualidade do teste
depende significativamente da eficácia dos vectores de teste, sendo por isso importante estudar
técnicas de geração e avaliação de padrões de teste [3].
Na actualidade existem ferramentas e técnicas de preparação do teste e diagnóstico de faltas muito
eficientes e que conferem uma qualidade adequada à necessidade do teste digital. O modelo de
faltas mais utilizado é o modelo de linha fixa-a ( Line Stuck-At ou LSA), que se caracteriza pela
representação do impacto causado no funcionamento do circuito quando uma linha de sinal fica
permanentemente fixa a um determinado valor lógico, seja 0 ou 1.
A técnica utilizada para garantir controlabilidade e observabilidade em circuitos sequenciais é
conhecida como Cadeia de Scan (Scan Chain) [3]. Estas cadeias são implementadas introduzindo um
modo de teste num determinado circuito tal que, quando o circuito se encontra nesse modo, todos os
flip-flops formem uma cadeia funcionando como um registo de deslocamento. Na fase de teste,
inicialmente os registos são carregados com sequências conhecidas. Recorrendo ao sinal de relógio
do circuito, a sequência é deslocada através da cadeia, levando o circuito para um estado conhecido.
Após um ciclo de relógio em modo funcional, são novamente ligados em série e descarregados os
valores dos registos enquanto é carregado um novo estado. Na preparação do teste são gerados
vectores de teste a aplicar na Cadeia de Scan para testar a estrutura do circuito, de forma a detectar
faltas do tipo LSA.
2.2 O teste analógico
Ao longo dos anos, o teste de circuitos analógicos tem vindo a ganhar cada vez mais importância.
Relacionado com o rápido desenvolvimento que se tem vindo a verificar no fabrico de circuitos
integrados, quer a nível de velocidades quer de precisão, existe a necessidade de desenvolvimento
de novas metodologias de teste, uma vez que as soluções desenvolvidas no passado já não são
suficientes [4], [5].
7
Sabendo que não existe um método generalizado para o teste de circuitos analógicos, já que cada
topologia apresenta as suas próprias características e especificações, é possível classificar o teste de
circuitos analógicos em três categorias [3]:
Caracterização – determina se o circuito produzido cumpre as especificações e avalia o seu
desempenho.
Diagnóstico – determina a causa da falha de um dispositivo, quando este falha um teste.
Produção – decide se cada circuito, após o processo de fabrico, pode ser vendido como bom
ou se deve ser rejeitado.
Uma das principais dificuldades no teste analógico é devida à inexistência de modelos de faltas de
utilização generalizada, contrariamente aos existentes para circuitos digitais, Line Stuck-At (LSA) 0/1.
No diagnóstico de faltas podem ser consideradas duas fases [6], sendo a primeira relacionada com a
análise da testabilidade da topologia, de modo a avaliar se a escolha dos pontos de
observabilidade/teste confere um nível de resolução aceitável. Numa segunda fase, localização de
faltas, diferentes abordagens podem ser utilizadas e todas elas podem ser consideradas problemas
de optimização, já que, a partir de medições realizadas no circuito em teste, é necessário determinar
quais os valores dos componentes que podem justificar o comportamento verificado.
Em termos de classificação de técnicas a que pertence o diagnóstico de faltas, são conhecidos vários
critérios, descritos em [7]. O mais popular consiste em classificá-las de acordo com a fase em que
ocorre a simulação do circuito no processo de teste. Deste modo, de acordo com a Figura 2.1, há que
citar as abordagens de “simulação antes do teste” (SBT – Simulation Before Test) e “simulação após
teste” (SAT – Simulation After Test). A técnica SBT, ao contrário da SAT, é a utilizada neste trabalho,
uma vez que as informações decorrentes da simulação de faltas são guardadas numa fase anterior
ao teste do circuito. Esta informação torna-se relevante, já que permite conhecer o tipo e localização
de possíveis falhas que possam ocorrer no processo de teste [8].
Relacionado ainda com as dificuldades que caracterizam o teste analógico, surgem também
problemas de modelação de faltas. É no processo de modelação que reside a principal diferença
entre os dois principais tipos de teste, o teste analógico funcional e o teste analógico estrutural [3]. O
teste funcional é executado principalmente na fase de simulação, uma vez que pretende diagnosticar
possíveis falhas nos componentes, revelando faltas do tipo catastróficas. No teste estrutural é
avaliado se o processo de fabrico foi correctamente realizado, evidenciando no entanto faltas do tipo
paramétricas mas também catastróficas, caso se tenham verificado falhas no teste do circuito.
8
Figura 2.1 - Classificação das técnicas de diagnóstico de faltas de acordo com a fase em que ocorre a
simulação do circuito no processo de teste (adaptado de [7]).
No domínio analógico as faltas são habitualmente classificadas como catastróficas ou paramétricas
[3]. A falta catastrófica dá-se quando o elemento faltoso provoca um curto-circuito ou um circuito
aberto; há uma falta paramétrica sempre que o valor de um parâmetro se desvia do seu valor nominal
mais do que a tolerância especificada. Estas faltas devem-se habitualmente a efeitos parasitas, ao
envelhecimento dos circuitos, à violação das tolerâncias de fabrico ou a componentes mal
seleccionados nos circuitos discretos.
Ao nível de simulação, as faltas ao nível do transístor podem ser classificadas em quatro classes
principais, mediante o seu comportamento eléctrico [1]. Na primeira categoria encontram-se as
chamadas Bridging Faults, que ocorrem quando se verifica a existência de curto-circuitos entre linhas
que não deveriam estar conectadas. As faltas Stuck-Open ou de Fonte/Dreno Aberto encontram-se
na segunda classe. Estas faltas resultam da ruptura entre nós do circuito que deveriam estar ligados.
Normalmente ocorrem nos nós do dreno ou da fonte do transístor. Na terceira categoria estão as
faltas de “Porta Aberta” (Gate Open), que tem origem na disrupção do nó de porta dos transístores. A
ocorrência deste tipo de faltas depende das capacidades e resistências parasitas associadas, bem
como do estado das linhas adjacentes. Por fim, na última categoria encontram-se as chamadas faltas
de “circuito-aberto resistivo” (Resistive-Open). Estas faltas caracterizam-se pela existência de uma
ligação imperfeita que pode ser modelada como uma resistência entre dois nós que no circuito bom
seriam um único nó.
Técnicas de
Localização de
Faltas
Técnicas do
Dicionário de
Faltas
Técnicas com
Medidas
Limitadas
Simulação
Depois do Teste
Simulação
Antes do Teste
Técnicas com
Medidas
Suficientes
Técnicas
Probabilísticas
Técnicas
Baseadas em
Optimização
Técnicas de
Verificação de
Faltas
Técnicas de
Aproximação
Técnicas de
Identificação
de Parâmetros
9
2.3 Diagnóstico de Faltas
2.3.1 Bridging
As faltas do tipo Bridging (BRI) resultam de defeitos físicos provocados na tecnologia MOS quando
ocorre um curto-circuito entre dois nós distintos, que normalmente não se encontram ligados entre si.
De modo a ser possível detectar este tipo de faltas, foram sendo desenvolvidas várias metodologias.
Em 1997, Touba e McCluskey [9] desenvolvem uma técnica para circuitos digitais que permitiu o
aumento da qualidade do teste. Esta técnica é implementada ao nível de portas lógicas e baseia-se
na geração de padrões de teste pseudo-aleatórios, recorrendo a circuitos auxiliares, de modo a
garantir uma cobertura de faltas elevada.
No entanto, existem casos em que se verificam baixas taxas de detecção devido à ocorrência de
faltas resistentes a padrões aleatórios (random-pattern-resistant). De modo a garantir um acréscimo
na taxa de cobertura de faltas, podem ser adicionados pontos de observabilidade ou utilizar vectores
de teste determinísticos (gerados com um “Automatic Test Pattern Generator” – ATPG).
Um método de diagnóstico de bridging faults para circuitos analógicos é apresentado em [10]. Neste
caso, a principal inovação é a introdução de um processo de transformação que altera a descrição
dos transístores para o nível de portas lógicas, como se exemplifica na Figura 2.2. Tal alteração é
efectuada de modo a ser possível utilizar ferramentas de diagnóstico já existentes ao nível de portas
lógicas.
Figura 2.2 - Substituição do transístor do tipo NMOS [10].
Esta metodologia é constituída por quatro passos, como se ilustra na Figura 2.3. Numa primeira fase
é realizado um diagnóstico de possíveis faltas do tipo stuck-at ao nível das portas lógicas, de modo a
tornar a lista de possíveis faltas ao nível de transístores mais reduzida, o que se verifica bastante
vantajoso para circuitos de elevada dimensão e complexidade. Posteriormente é aplicada a
transformação à lista de possíveis portas faltosas. No terceiro passo, não sendo necessário testar
todo o circuito, verificam-se quais os caminhos em que ocorrem as falhas, para que na última fase o
teste de diagnóstico de faltas se torne menos exaustivo e demorado.
10
Figura 2.3 - Fluxo da metodologia proposta em [10] (adaptado).
Mais recentemente [11], foi desenvolvida uma técnica utilizando o método de teste baseado em
defeitos possíveis de ocorrer no processo de fabrico (DBT – Defect-Based Test) em que as faltas são
modeladas ao nível do transístor. O método DBT é usado de modo a complementar métodos de teste
standard que se baseiam no modelo LSA, providenciando um acréscimo no nível de qualidade do
teste, uma vez que detecta defeitos não abrangidos pelo modelo LSA [12].
O principal contributo desta técnica deve-se ao facto do método apresentado ter sido desenvolvido
para a análise de cobertura de faltas em circuitos “Mixed Signal”, utilizando simultaneamente modelos
ao nível comportamental, descritos em HDL (Hardware description Language), e modelos ao nível do
transístor, descritos em SPICE (Simulated Program with Integrated Circuits Emphasis).
Desta técnica interessa ainda fazer referência ao modelo usado para a simulação de faltas do tipo
bridging em transístores. Apresenta-se na Figura 2.4 o modelo que se traduz na introdução de uma
resistência de baixo valor entre dreno e fonte, simulando um possível curto-circuito.
Figura 2.4 - Modelo do transístor para faltas do tipo Bridging, utilizados em [11].
Passo 1. Diagnóstico de faltas
stuck-at.
(Escolher M = 100%, P < 100%)
Passo 2. Transformar portas
lógicas suspeitas.
Passo 3. Extrair valores e
construir novos padrões.
Passo 4. Diagnóstico de faltas
ao nível de portas lógicas no
circuito transformado.
11
2.3.2 Line-Open
As faltas do tipo Line-Open (LOP) (ou Stuck-Open), modelam possíveis interrupções em ligações que
normalmente deveriam existir. Na tecnologia MOS, este tipo de falta pode ser modelada como a
quebra de ligações nos nós de dreno ou fonte de um transístor, assumindo-o como permanentemente
desligado ou mesmo inexistente. Como exemplo, a Figura 2.5 apresenta uma porta lógica NAND com
defeito (circuito-aberto) na fonte do transístor PMOS, não permitindo passagem de corrente por esse
transístor.
Figura 2.5 - Exemplo de falta do tipo Line-Open, retirado de [1].
Na literatura existem várias metodologias desenvolvidas para detecção e diagnóstico deste tipo de
faltas. Em [13], o método empregue baseia-se essencialmente no pré-processamento do circuito
utilizando o modelo de faltas LSA, de modo a detectar os potenciais candidatos a conterem faltas do
tipo Stuck-Open. Estes candidatos são escolhidos após se verificar que os resultados obtidos
dependem das sequências de teste aplicadas. Posteriormente, é efectuada a simulação de faltas dos
potenciais candidatos, sendo criado um dicionário de faltas que contém a lista de faltas detectadas e
correspondente informação.
Alguns anos mais tarde, Fan et al. [14] fundamenta-se nas técnicas que foram sendo desenvolvidas
por Li [13][15][16], de modo a tentar tornar os seus métodos mais eficientes e automáticos. Para tal,
desenvolve um método de transformação para que o diagnóstico de faltas seja possível de realizar
utilizando as ferramentas já existentes no mercado. O método de transformação, análogo ao
apresentado em [10], transpõe a descrição dos transístores para o nível de portas lógicas, onde as
faltas do tipo Stuck-Open são representadas por faltas do tipo Stuck-At. Um exemplo do método
apresenta-se na Figura 2.6, à semelhança do representado na Figura 2.2.
Figura 2.6 - Transformação do transístor do tipo PMOS [14].
12
Esta metodologia é bastante semelhante à descrita na secção anterior e representada na Figura 2.3.
É na última fase do método que reside a diferença, uma vez que, ao contrário do descrito
anteriormente, neste caso o diagnóstico é efectuado para detectar um tipo de faltas diferente. Caso
se verifique o sucesso do processo, as faltas são diagnosticadas directamente, representando um
método simples e de fácil integração em ferramentas de diagnóstico comerciais já existentes.
Uma técnica baseada no defeito (DBT) é apresentada em [11]. Como já foi referido na secção
anterior, esta técnica é modelada ao nível do transístor e passível de ser utilizada em circuitos “Mixed
Signal”, apresentando-se como um método capaz de prever comportamentos faltosos através de
modelos de faltas estruturais. O inconveniente desta técnica deve-se ao longo tempo de simulação,
em grande parte devido à dificuldade em abstrair o modelo de faltas para níveis superiores,
dificultando assim a sua utilização no teste de circuitos analógicos.
Nesta abordagem, interessa referir que o modelo utilizado para a simulação de faltas Stuck-Open é
representado por uma resistência de valor muito elevado, representado na Figura 2.7, de modo a
caracterizar o transístor como um circuito aberto.
Figura 2.7 - Modelo do transístor para faltas do tipo Stuck-Open, utilizados em [11].
13
Capítulo 3
Metodologia
3 Metodologia
14
A modelação de faltas em circuitos analógicos é um tema que tem vindo a ser intensivamente
estudado e onde tem sido despendido um elevado esforço de investigação por parte das
comunidades industrial e académica. Tal deve-se à crescente evolução que a indústria de circuitos
integrados tem vindo a demonstrar, fazendo hoje parte da generalidade de equipamentos, tornando o
seu teste fundamental para garantir a qualidade final dos equipamentos.
As principais razões a ter em conta para a importância deste assunto devem-se à diminuição
progressiva das dimensões dos dispositivos, em correlação com o desenvolvimento de topologias
para o aperfeiçoamento de especificações, nomeadamente diminuição das tensões de alimentação e
de dissipação de potência e aumento de frequência, que levam a que o comportamento desses
circuitos transitem do domínio digital para o analógico, principalmente na transição entre níveis
lógicos [17]. Essas transições são realizadas através de circuitos de conversão, ou interfaces, que se
caracterizam por serem de difícil testabilidade.
Neste capítulo é descrito o modelo a ser implementado para a simulação de faltas, nomeadamente
faltas catastróficas do tipo bridging e line-open. Apresenta-se também a metodologia a seguir para a
aplicação do mesmo, baseada em programas desenvolvidos de raiz e utilizando o simulador HSPICE.
Tanto os programas implementados como o simulador serão mais detalhadamente descritos no
Capítulo 4.
3.1 Modelo de Faltas Proposto
A dificuldade de avaliação da qualidade do teste analógico deve-se principalmente à escassez de
modelos de faltas existente que permitam caracterizar correctamente o universo de defeitos físicos
dos circuitos, representando-os sob a forma de uma lista de faltas.
Deste modo, torna-se necessário criar um modelo que seja apropriado para a detecção de faltas
resultantes de defeitos físicos. Para tal, e com base no estudo efectuado e nos métodos
apresentados no Capítulo 2, propõe-se um modelo de faltas que se baseia na introdução de duas
resistências, uma em série com o dreno do transístor e outra em paralelo, entre dreno e fonte, como
se apresenta na Figura 3.1.
O modelo proposto é implementado ao nível do transístor, permitindo assim a detecção de possíveis
falhas que possam ocorrer no dispositivo, nomeadamente a ocorrência de curto-circuitos ou circuitos-
abertos. Além destas faltas catastróficas, este modelo também poderia ser utilizado para avaliar a
testabilidade de faltas paramétricas que fossem equivalentes à introdução de uma resistência em
série ou em paralelo com cada transístor MOS. Tal não foi feito no âmbito deste trabalho devido ao
elevado número de faltas que resultam da aplicação de tal modelo paramétrico. Adicionalmente,
espera-se que no domínio analógico, à semelhança com o que se passa no digital, seja possível
utilizar modelos de falta mais simples e catastróficos para efectuar uma adequada preparação do
teste, capaz de também detectar defeitos mais adequadamente com faltas paramétricas.
15
Figura 3.1 - Modelo de faltas proposto.
3.1.1 Modos de funcionamento
Para melhor caracterizar o modelo proposto, torna-se necessário descrever as configurações de
funcionamento que podem ser adoptadas. Como se encontra representado na Figura 3.2, os modos
apresentados dividem-se em:
a) Modelo característico do transístor;
b) Detecção de circuitos-abertos;
c) Detecção de curto-circuitos.
Figura 3.2 - Modos de funcionamento do modelo apresentado.
No que diz respeito ao primeiro modo de funcionamento, o modelo característico do transístor, Figura
3.2 a), este corresponde a atribuir os valores adequados às resistências do modelo, tais que
garantam que o modelo não influencia o seu normal funcionamento. Este modo pode ser designado
por típico, sendo o modo usado em simulação para obter os valores do caso “livre de faltas” (Fault-
Free). Para modelar este modo de funcionamento, os valores a atribuir às resistências são e
, que corresponde a manter ligada a junção de dreno do transístor e a desligar a ligação
entre o dreno e a fonte do mesmo.
O segundo modo de funcionamento representado, Figura 3.2 b), é caracterizado de maneira a
permitir a detecção de circuitos-abertos que possam ocorrer no dispositivo, mais concretamente
D
S
G
NMOS
D
S
G
Rser
Rpar
NMOS
D
S
G
Rser = ∞
Rpar = ∞
NMOS
b) Detecção de
circuitos-abertos
D
S
G
Rser = 0
Rpar = ∞
NMOS
a) Modelo
característico do
transístor
c) Detecção de
curto-circuitos
D
S
G
Rser = 0
Rpar = 0
NMOS
16
detectar faltas do tipo LOP. Para tal, descreve-se o modelo de modo a que este apresente a ligação
de dreno do transístor em aberto, impedindo a passagem de corrente pelo transístor, assumindo-o
como desligado ou mesmo inexistente. A configuração a atribuir a este modo de funcionamento é
descrita pela atribuição dos valores e às respectivas resistências.
Na Figura 3.2 c) encontra-se representado o último modo de funcionamento do modelo apresentado
para a detecção de defeitos físicos nos transístores. De forma a ser possível detectar a ocorrência de
curto-circuitos nos dispositivos, modelam-se as resistências e com o intuito de criar
uma ligação permanente entre o dreno e a fonte do transístor, assumindo que este se encontra
sempre ligado, independentemente do sinal aplicado na sua porta. Com o modelo caracterizado desta
forma, através de simulação, é possível detectar faltas do tipo BRI mediante comparação com os
resultados obtidos com o caso “livre de faltas”.
3.2 Metodologia de preparação do teste
Após ter sido descrito o modelo proposto e caracterizado as suas correspondentes configurações de
utilização, torna-se essencial descrever a metodologia de preparação do teste a utilizar para a
detecção de faltas. A metodologia a seguir encontra-se esquematizada na Figura 3.3.
O método desenvolvido baseia-se num conjunto de programas, em que é necessário à priori o
ficheiro de descrição do circuito (netlist) em formato HSPICE. Este ficheiro deve incluir o ficheiro que
contém as medidas (measures) e respectivos nós/pontos de teste a realizar no circuito, através das
quais se vai basear a detecção de faltas. O ficheiro em que se encontram especificados os nós do
circuito onde serão efectuadas as medições é da autoria do utilizador ou engenheiro de teste,
podendo este basear-se em diversas metodologias já existentes, referidas em [18], para a escolha
dos melhores pontos de teste, de forma a garantir melhores coberturas de faltas.
Numa primeira fase, a partir do ficheiro de descrição do circuito, que deve incluir o ficheiro de
medidas, é criado um novo ficheiro de descrição do circuito com as resistências e
adicionadas para cada transístor MOS. O processo utilizado apresenta-se como a principal base do
procedimento, visto ser responsável pela análise da descrição do circuito de modo a implementar de
forma coerente e inequívoca o modelo de faltas proposto.
Após a implementação do modelo de faltas no circuito em estudo, procede-se à geração dos ficheiros
de parametrização dos elementos introduzidos no circuito e que modelam as faltas, nomeadamente
as resistências pertencentes ao modelo. Os ficheiros a criar são dois, sendo o primeiro o ficheiro que
contém os valores genéricos das resistências inseridas, isto é, os valores que correspondem à
aplicação do modelo na forma representada na Figura 3.2 a). O segundo ficheiro a criar conterá a
informação necessária para a subsequente simulação individual de cada uma das faltas. Estes
ficheiros são gerados durante o processo de controlo de injecção de faltas, em que o número de
faltas a simular é definido pelo utilizador, mediante a especificação da percentagem requerida.
17
Figura 3.3 – Esquema da metodologia de preparação do teste.
Posteriormente, estando já o modelo de faltas implementado no ficheiro de descrição do circuito, os
ficheiros de medidas, de valores genéricos dos elementos e de faltas definidos, procede-se à
simulação do circuito recorrendo ao simulador HSPICE. O circuito será simulado para o caso “livre de
faltas” e adicionalmente tantas vezes mais quantas as faltas a simular, sendo gerados os ficheiros
que contêm a informação referente aos parâmetros das medições efectuadas, resultantes da
simulação.
Finalmente, de modo a avaliar a detecção de cada falta, efectua-se a comparação entre o caso “livre
de faltas” e a resposta à injecção de faltas. Caso se verifique a detecção de uma falta, os dados
referentes ao tipo de falta e à sua localização são guardados no Dicionário de Faltas [18]. Este
ficheiro conterá ainda a estatística e taxa de cobertura de faltas evidenciadas.
Neste trabalho, esta comparação faz-se de forma digital para, de acordo com os objectivos
Replicação de
instâncias e
Introdução de
faltas
Controlo de
injecção de faltas
SIMULADOR
HSPICE
Netlist com faltas
Comparação entre
caso “livre faltas” e
resposta à injecção
de faltas
Estatística e
Dicionário de
Faltas
Netlist
Hspice
Percentagem de
faltas a simular
18
inicialmente definidos, permitir avaliar a capacidade do teste digital incluir a detecção de defeitos em
circuitos analógicos.
19
Capítulo 4
Implementação
4 Implementação
20
Neste capítulo descrevem-se os programas desenvolvidos para implementar a metodologia de
preparação de teste proposta no capítulo anterior. A Figura 4.1 apresenta o fluxograma do processo
de implementação, onde se representam os ficheiros necessários, a fase em que são aplicados os
programas desenvolvidos e os ficheiros gerados pelo processo. Faz-se também uma breve referência
ao simulador usado na simulação de circuitos analógicos, o HSPICE, apresentando alguns dos
comandos utilizados e respectivas sintaxes.
Todos os programas implementados foram desenvolvidos em Perl. O Perl é uma linguagem de
“scripting” principalmente influenciada pelas melhores características de linguagens como C, awk e
sed. Apresenta-se como uma linguagem optimizada para manipulação de variáveis e processamento
de texto, bem como em operações de matching, implementado através de expressões regulares que
a tornam mais eficiente.
Figura 4.1 - Fluxograma do processo de implementação do modelo de faltas proposto.
ADD_RES.pl
ADD_SIMS.pl
(N faltas)
SIMULADOR
HSPICE
Input.ckt Footer.cfg
NOVO
Input.ckt
Generic_Res.inc Corners_Res.inc
Input.mt0 Input.mtN...
CREATE_RESULTS.pl
DICIONÁRIO
FALTAS
21
4.1 Simulador HSPICE
O simulador HSPICE, desenvolvido pela Synopsys, é uma das ferramentas disponíveis no mercado e
mais usadas na simulação de circuitos analógicos. Com mais de 25 anos de projectos bem
sucedidos, esta ferramenta apresenta-se como um dos simuladores da indústria mais rápidos e
precisos, resultado da constante melhoria em termos de algoritmos de convergência e de recursos
avançados de análise. Sendo um simulador de circuitos ao nível do dispositivo, permite alcançar
elevado desempenho e precisão, permitindo efectuar quer simulações de Monte Carlo, pior caso,
varrimentos paramétricos, etc. [19].
O simulador HSPICE dispõe de um grande número de comandos disponíveis [20]. Em segguida, faz-
se referência apenas aos comandos de maior importância e que são mais utilizados no decorrer do
processo de implementação do modelo proposto. Os comandos necessários à implementação do
modelo são:
.ALTER – usado para realizar novas simulações utilizando parâmetros ou dados diferentes.
Este comando caracteriza-se pela definição de um bloco que pode conter declarações de
elementos ou outros comandos.
.MEASURE – utilizado para medir especificações do circuito como atrasos, tensões,
correntes, etc. Normalmente usado para registar medições correspondentes a sucessivas
simulações.
.PARAM – declaração usada para definir parâmetros do circuito. Os parâmetros
representam-se por nomes que podem ter associados quer valores numéricos, expressões
algébricas, funções definidas pelo utilizador ou funções de análise pré-definidas.
Por uma questão de metodologia utilizada, começa-se por fazer referência ao comando .MEASURE.
Este comando é utilizado no início do procedimento e encontra-se declarado no ficheiro footer.cfg.
Sendo este ficheiro o responsável pela definição das medições a realizar no circuito, contém tantas
declarações do comando .MEASURE quantas as medições a efectuar no processo de teste. Este
comando pode apresentar variadas sintaxes, dependendo do tipo de medida que seja pretendida [20].
Na sequência do processo de aplicação do modelo de detecção de faltas, encontra-se a declaração
do comando .PARAM durante a geração do ficheiro “Generic_Res.inc”. É neste ficheiro que se
encontra a descrição de todas as resistências e introduzidas pelo modelo e onde se definem
os seus valores típicos, mediante a utilização do comando .PARAM. Este comando também é
declarado no ficheiro “Corners_Res.inc”, onde é usado para alterar o valor de cada resistência.
No ficheiro “Corners_Res.inc” é também utilizado o comando .ALTER. Este comando é
normalmente usado para caracterizar o comportamento dos circuitos em condições de funcionamento
extremas, nomeadamente criando sucessivas simulações ao circuito em teste onde se variam
parâmetros como temperatura, tensões de alimentação, características de transístores ou mesmo
valores nominais de elementos. Na metodologia apresentada, o comando .ALTER, em conjunto com
outros comandos, é utilizado para variar o valor de cada uma das resistências inseridas pelo modelo
22
de faltas no circuito em teste, de modo a tornar possível a representação de cada uma das faltas a
simular.
4.2 Programa para Introdução do Modelo de Faltas
Nesta secção descreve-se em mais detalhe o programa desenvolvido “ADD_RES.pl”, responsável
pela análise e transformação do ficheiro de descrição do circuito, de modo a introduzir o modelo de
faltas proposto. O fluxograma de funcionamento do programa encontra-se esquematizado na Figura
4.2.
O programa necessita a priori de dois ficheiros de entrada de dados, sendo eles:
O ficheiro de descrição do circuito input.ckt, no formato HSPICE.
O ficheiro que contém as medidas (measures) e respectivos nós/pontos de teste a realizar
no circuito, normalmente denominado footer.cfg, através das quais se vai basear a
detecção de faltas.
Inicialmente, o programa lê o ficheiro de descrição do circuito input.ckt e guarda o seu conteúdo num
vector, em que cada posição corresponde a uma linha do ficheiro. O primeiro passo a realizar é a
procura de todas as instâncias declaradas no circuito, bem como o número de vezes que cada uma
delas é utilizada. Uma instância corresponde a um objecto, seja uma porta lógica ou um bloco com
determinada funcionalidade. No ficheiro de descrição do circuito uma instância encontra-se declarada
da seguinte forma,
.subckt <nome instância> <entradas/saídas>
…
(elementos que a constituem)
…
.ends <nome instância>
Uma vez que na maioria dos circuitos existem instâncias que são utilizadas mais do que uma vez,
portas lógicas p.e., torna-se necessário proceder à sua replicação, ou seja, proceder à expansão
parcial da hierarquia do circuito. Se tal não fosse feito, posteriormente, ao simular uma falta num dos
transístores de uma dessas instâncias cometer-se-ia o erro de activar a falta em todas elas e não
apenas na instância em questão.
Após se identificar quais as instâncias que necessitam de ser replicadas, procede-se à inserção das
mesmas no ficheiro de descrição do circuito, tantas vezes quantas as necessárias, indexando ao
nome da instância um valor numérico que vai sendo incrementado, de forma a distingui-las. No final
deste processo, do ponto de vista de interpretação, cada instância declarada no ficheiro de descrição
do circuito é apenas utilizada uma única vez.
Seguidamente, depois de se reformular convenientemente o ficheiro de descrição do circuito,
procede-se à aplicação do modelo de faltas proposto. Este processo baseia-se na procura de
23
declarações de transístores existentes no ficheiro de descrição do circuito. Na tecnologia em que é
implementado o caso de estudo (Capítulo 5), a declaração de transístores é representada pelas
expressões “mn”ou “mp”, caso se trate de um transístor NMOS ou PMOS, respectivamente, seguidas
das declarações dos respectivos nós, dimensões e parâmetros característicos. Um exemplo é