Projeto para teste

Da Wikipédia, a enciclopédia livre
Ir para a navegação Saltar para pesquisar

Design para teste ou design para testabilidade ( DFT ) consiste em técnicas de design de IC que adicionam recursos de testabilidade a um design de produto de hardware. Os recursos adicionados facilitam o desenvolvimento e a aplicação de testes de fabricação ao hardware projetado. O objetivo dos testes de fabricação é validar se o hardware do produto não contém defeitos de fabricação que possam afetar negativamente o funcionamento correto do produto.

Os testes são aplicados em várias etapas do fluxo de fabricação de hardware e, para determinados produtos, também podem ser utilizados para manutenção de hardware no ambiente do cliente. Os testes geralmente são conduzidos por programas de teste executados por meio de equipamentos de teste automático (ATE) ou, no caso de manutenção do sistema, dentro do próprio sistema montado. Além de encontrar e indicar a presença de defeitos (ou seja, o teste falha), os testes podem registrar informações de diagnóstico sobre a natureza das falhas encontradas no teste. As informações de diagnóstico podem ser usadas para localizar a origem da falha.

Em outras palavras, a resposta dos vetores (padrões) de um bom circuito é comparada com a resposta dos vetores (usando os mesmos padrões) de um DUT (dispositivo em teste). Se a resposta for a mesma ou corresponder, o circuito está bom. Caso contrário, o circuito não é fabricado como foi planejado.

A DFT desempenha um papel importante no desenvolvimento de programas de teste e como interface para aplicação de teste e diagnóstico. A geração automática de padrões de teste , ou ATPG, é muito mais fácil se as regras e sugestões de DFT apropriadas tiverem sido implementadas.

História [ editar ]

As técnicas de DFT têm sido utilizadas pelo menos desde os primórdios dos equipamentos elétricos/eletrônicos de processamento de dados. Os primeiros exemplos das décadas de 1940/50 são os interruptores e instrumentos que permitiam a um engenheiro "varrer" (ou seja, sondar seletivamente) a tensão/corrente em alguns nós internos em um computador analógico [varredura analógica]. A DFT geralmente está associada a modificações de projeto que fornecem acesso aprimorado aos elementos do circuito interno, de modo que o estado interno local possa ser controlado ( controlabilidade ) e/ou observado ( observabilidade ) mais facilmente. As modificações de projeto podem ser de natureza estritamente física (por exemplo, adicionar um ponto de sonda físico a uma rede) e/ou adicionar elementos de circuito ativo para facilitar a controlabilidade/observabilidade (por exemplo, inserir ummultiplexador em uma rede). Embora as melhorias de controlabilidade e observabilidade para elementos de circuito interno sejam definitivamente importantes para o teste, elas não são o único tipo de DFT. Outras diretrizes, por exemplo, tratam das características eletromecânicas da interface entre o produto sob teste e o equipamento de teste. Os exemplos são diretrizes para o tamanho, formato e espaçamento dos pontos de sondagem, ou a sugestão de adicionar um estado de alta impedância aos condutores conectados às redes sondadas, de modo que o risco de danos causados ​​pela direção traseira seja mitigado.

Ao longo dos anos, a indústria desenvolveu e usou uma grande variedade de diretrizes mais ou menos detalhadas e mais ou menos formais para modificações de circuitos DFT desejadas e/ou obrigatórias. A compreensão comum da DFT no contexto da Electronic Design Automation (EDA) para a microeletrônica moderna é moldada em grande parte pelas capacidades das ferramentas de software DFT comerciais, bem como pelo conhecimento e experiência de uma comunidade profissional de engenheiros de DFT pesquisando, desenvolvendo , e usando tais ferramentas. Grande parte do corpo relacionado de conhecimento DFT concentra-se em circuitos digitais, enquanto a DFT para circuitos analógicos/sinais mistos fica um pouco em segundo plano.

Objetivos da DFT para produtos microeletrônicos [ editar ]

A DFT afeta e depende dos métodos usados ​​para desenvolvimento de teste, aplicação de teste e diagnóstico.

A maioria das DFT suportadas por ferramentas praticadas na indústria hoje, pelo menos para circuitos digitais, é baseada em um paradigma de teste estrutural . O teste estrutural não faz nenhuma tentativa direta de determinar se a funcionalidade geral do circuito está correta. Em vez disso, ele tenta certificar-se de que o circuito foi montado corretamente a partir de alguns blocos de construção de baixo nível, conforme especificado em uma netlist estrutural . Por exemplo, todas as portas lógicas especificadas estão presentes, operando corretamente e conectadas corretamente? A estipulação é que, se a netlist estiver correta e os testes estruturais confirmarem a montagem correta dos elementos do circuito, o circuito deverá estar funcionando corretamente.

Observe que isso é muito diferente do teste funcional , que tenta validar que o circuito em teste funciona de acordo com sua especificação funcional. Isso está intimamente relacionado ao problema de verificação funcional de determinar se o circuito especificado pela netlist atende às especificações funcionais, supondo que ele seja construído corretamente.

Um benefício do paradigma estrutural é que a geração de teste pode se concentrar em testar um número limitado de elementos de circuito relativamente simples, em vez de ter que lidar com uma multiplicidade exponencialmente explosiva de estados funcionais e transições de estado. Embora a tarefa de testar uma única porta lógica de cada vez pareça simples, há um obstáculo a ser superado. Para os projetos altamente complexos de hoje, a maioria das portas está profundamente incorporada, enquanto o equipamento de teste é conectado apenas às entradas/saídas primárias (E/S) e/ou a alguns pontos de teste físicos. As portas incorporadas, portanto, devem ser manipuladas por meio de camadas intermediárias de lógica. Se a lógica interveniente contiver elementos de estado, então o problema de um espaço de estado exponencialmente explosivoe o sequenciamento de transição de estado cria um problema insolúvel para geração de teste. Para simplificar a geração de teste, o DFT aborda o problema de acessibilidade removendo a necessidade de sequências de transição de estado complicadas ao tentar controlar e/ou observar o que está acontecendo em algum elemento do circuito interno. Dependendo das escolhas de DFT feitas durante o projeto/implementação do circuito, a geração de testes estruturais para circuitos lógicos complexos pode ser mais ou menos automatizada ou auto-automatizada [1] [1] . Um dos principais objetivos das metodologias DFT, portanto, é permitir que os projetistas façam trade-offs entre a quantidade e o tipo de DFT e o custo/benefício (tempo, esforço, qualidade) da tarefa de geração de teste.

Outro benefício é diagnosticar um circuito caso surja algum problema no futuro. É como adicionar alguns recursos ou disposições no design para que o dispositivo possa ser testado em caso de qualquer falha durante o uso.

Olhando para frente [ editar ]

Um desafio para a indústria é acompanhar os rápidos avanços na tecnologia de chip (contagem/tamanho/posicionamento/espaçamento de E/S, velocidade de E/S, contagem/velocidade/potência do circuito interno, controle térmico, etc.) sem ser forçado a atualizar continuamente o equipamento de teste. As técnicas modernas de DFT, portanto, precisam oferecer opções que permitem que chips e conjuntos de próxima geração sejam testados em equipamentos de teste existentes e/ou reduzam os requisitos/custo para novos equipamentos de teste. Como resultado, as técnicas de DFT são continuamente atualizadas, como a incorporação de compactação, para garantir que os tempos de aplicação do testador permaneçam dentro de certos limites ditados pela meta de custo para os produtos em teste.

Diagnóstico [ editar ]

Especialmente para tecnologias avançadas de semicondutores, espera-se que alguns dos chips em cada wafer fabricadocontêm defeitos que os tornam não funcionais. O objetivo principal do teste é encontrar e separar esses chips não funcionais dos totalmente funcionais, o que significa que uma ou mais respostas capturadas pelo testador de um chip não funcional em teste diferem da resposta esperada. A porcentagem de chips que falham no teste, portanto, deve estar intimamente relacionada ao rendimento funcional esperado para esse tipo de chip. Na realidade, no entanto, não é incomum que todos os chips de um novo tipo de chip que chegam ao piso de teste pela primeira vez falhem (a chamada situação de rendimento zero). Nesse caso, os chips precisam passar por um processo de depuração que tenta identificar o motivo da situação de rendimento zero. Em outros casos, a queda do teste (porcentagem de falhas no teste) pode ser maior do que o esperado/aceitável ou flutuar repentinamente. Novamente,

Em ambos os casos, informações vitais sobre a natureza do problema subjacente podem estar ocultas na forma como os chips falham durante o teste. Para facilitar uma melhor análise, informações de falha adicionais além de uma simples aprovação/reprovação são coletadas em um log de falhas. O log de falhas normalmente contém informações sobre quando (por exemplo, ciclo do testador), onde (por exemplo, em qual canal do testador) e como (por exemplo, valor lógico) o teste falhou. O diagnóstico tenta derivar do log de falhas em que local lógico/físico dentro do chip o problema provavelmente começou. Ao executar um grande número de falhas por meio do processo de diagnóstico, chamado de diagnóstico de volume, as falhas sistemáticas podem ser identificadas.

Em alguns casos (por exemplo, placas de circuito impresso , Multi-Chip Modules (MCMs), memórias incorporadas ou independentes ), pode ser possível reparar um circuito com falha em teste. Para isso, o diagnóstico deve localizar rapidamente a unidade com falha e criar uma ordem de serviço para reparar/substituir a unidade com falha.

As abordagens DFT podem ser mais ou menos amigáveis ​​ao diagnóstico. Os objetivos relacionados da DFT são facilitar/simplificar a coleta de dados e diagnósticos de falhas de uma forma que possa permitir a seleção de amostras de análise inteligente de falhas (FA), bem como melhorar o custo, precisão, velocidade e rendimento de diagnósticos e FA.

Digitalizar design [ editar ]

O método mais comum para entregar dados de teste de entradas de chip para circuitos internos sob teste (CUTs, para abreviar) e observar suas saídas é chamado de design de varredura. No projeto de varredura, os registradores ( flip-flops ou latches) no projeto são conectados em uma ou mais cadeias de varredura , que são usadas para obter acesso aos nós internos do chip. Os padrões de teste são deslocados através da(s) cadeia(s) de varredura, os sinais de clock funcionais são pulsados ​​para testar o circuito durante o(s) “ciclo(s) de captura”, e os resultados são então deslocados para os pinos de saída do chip e comparados com o esperado “bom máquina" resultados.

A aplicação direta de técnicas de varredura pode resultar em grandes conjuntos de vetores com longos requisitos de memória e tempo de testador correspondentes. As técnicas de compressão de teste resolvem este problema, descomprimindo a entrada de varredura no chip e comprimindo a saída de teste. Grandes ganhos são possíveis, uma vez que qualquer vetor de teste específico geralmente só precisa definir e/ou examinar uma pequena fração dos bits da cadeia de varredura.

A saída de um projeto de varredura pode ser fornecida em formatos como Serial Vector Format (SVF), para ser executado pelo equipamento de teste.

Depurar usando recursos DFT [ editar ]

Além de serem úteis para a fabricação de testes "ir/não ir", as cadeias de varredura também podem ser usadas para "depurar" projetos de chip. Neste contexto, o chip é exercido no "modo funcional" normal (por exemplo, um chip de computador ou telefone celular pode executar instruções em linguagem assembly). A qualquer momento, o relógio do chip pode ser interrompido e o chip reconfigurado no "modo de teste". Neste ponto, o estado interno completo pode ser despejado ou definido para qualquer valor desejado, usando as cadeias de varredura. Outro uso do scan para auxiliar a depuração consiste em escanear em um estado inicial para todos os elementos de memória e então voltar ao modo funcional para realizar a depuração do sistema. A vantagem é levar o sistema a um estado conhecido sem passar por muitos ciclos de clock. Este uso de cadeias de varredura, [2]

Veja também [ editar ]

Referências [ editar ]

  • IEEE Std 1149.1 (JTAG) Testability Primer Uma apresentação técnica sobre Design-for-Test centrada em JTAG e Boundary Scan
  • Princípios e arquiteturas de teste VLSI , por LT Wang, CW Wu e XQ Wen, Capítulo 2, 2006. Elsevier.
  • Manual de Automação de Projeto Eletrônico para Circuitos Integrados , de Lavagno, Martin e Scheffer, ISBN  0-8493-3096-3 Uma pesquisa no campo da automação de projeto eletrônico . Este resumo foi derivado (com permissão) de Vol I, Capítulo 21, Design For Test , por Bernd Koenemann.
  1. ^ Ben-Gal I., Herer Y. e Raz T. (2003). "Procedimento de inspeção autocorretivo sob erros de inspeção" (PDF) . IIE Transactions on Quality and Reliability, 34(6), pp. 529-540.
  2. ^ "Design para depuração: o imperativo tácito no design de chips" [ link morto permanente ] artigo de Ron Wilson, EDN, 21/06/2007

Links externos [ editar ]