Algoritmo DFT March? Checkerboard 2

5. Porque é que março parece intuitivo do ponto de vista da estrutura da memória 5.1 Como aceder SRAM Considere um banco: Assim, a unidade básica do teste...

Algoritmo DFT March? Checkerboard 2
Photo by Tamanna Rumee on Unsplash

5. Porque é que março parece intuitivo do ponto de vista da estrutura da memória

5.1 Como aceder

SRAM Considere um banco:

  • Selecionar uma linha específica (wordline) com o barramento de endereços
  • Ler ou escrever o valor de uma célula através da bitline ligada a essa linha
  • Apenas "um endereço" pode ser controlado com certeza de cada vez

Assim, a unidade básica do teste é naturalmente esta.

"Selecionar um endereço → efetuar uma sequência de leitura/escrita → passar para o endereço seguinte"

Este fluxo sobrepõe-se quase 1:1 à definição do elemento março.


5.2 Como se detecta uma falha do descodificador de endereços?

Por exemplo, num endereço:

  • A falha do descodificador faz com que duas linhas se acendam ao mesmo tempo.
  • Nesse endereço, w1 poderia fazer com que a célula pretendida fosse 1, assim como a célula na linha vizinha.

Agora em outro endereço:

  • Esperamos que a célula vizinha seja r0, mas lemos 1.

Se repetirmos r0, r1 várias vezes, subindo e descendo como a Marcha C-, certamente leremos em algum momento o valor "unintended cell turned on together and overwrote".

Este é o mecanismo pelo qual o March C- detecta a falha do descodificador de endereços.


5.3 Como detetar uma falha de acoplamento:

Falha de acoplamento é a seguinte situação.

Uma falha em que o valor de uma célula vizinha (vítima) não é alterado ou mantido quando uma operação específica (escrita, alternância) é realizada na célula agressora

Marco C- é:

  • imediatamente após fazer w1 a uma célula qualquer
  • seguimos um padrão de verificar a sua célula vizinha com r0 ou r1, repetindo-a várias vezes, invertendo o sentido para cima/baixo.

No processo:

    • Para encontrar "falhas que só se revelam quando o padrão de uma célula vizinha está num determinado estado", forçamos várias ordenações relativas.
  • Isso leva um pouco mais de tempo do que simplesmente escrever/ler o padrão do Checkerboard uma vez, mas dá uma cobertura de falhas muito maior.
  • Agora, vamos colocar em contexto o Checkerboard que ouvimos falar frequentemente na prática.
  • Comecemos com uma definição de uma linha.
  • Em termos bit a bit:
    • Padrão A: 0x55... (...0101 0101)
    • Padrão B: 0xAA... (...1010 1010)
  • Por endereço, isto é normalmente:
    • Endereço par → 0x555555_5555
    • Endereço ímpar → 0xAAAA_AAAA
  • Ou você pode inverter, de modo que 0s e 1s se alternem como um tabuleiro de xadrez em ambas as direções horizontal (bitwise) e vertical (addresswise).
  • O padrão oposto é chamado de tabuleiro de xadrez invertido.
  • Os padrões Tudo-0, Tudo-1 são obviamente importantes.
    • w0 → r0, w1 → r1 é suficiente para cobrir a falha de arrancamento.
    • A falha de transição também é coberta até certo ponto.
  • O problema é a interação entre células vizinhas.
    • Short/bridge entre bitline/wordline
    • Coupling fault
    • Neighbourhood pattern sensitive fault (NPSF)
  • Estas falhas são muitas vezes apenas visíveis nas seguintes situações.
    • Quando duas células têm valores diferentes (0/1)
    • Quando a vizinhança tem um padrão específico (por exemplo, 010/101)
  • Por exemplo, se duas células estiverem fracamente em curto-circuito:
    • Se ambas forem 0, o curto-circuito pode não ser percetível porque é 0, e o valor pode ser distorcido pela corrente que flui apenas quando uma é 0 e a outra é 1.
  • Então, de uma perspetiva de teste:
  • A maneira mais simples de fazer isso é com o padrão Checkerboard.
  • Aqui está um ponto em que é fácil confundir-se.
    • Algoritmo de Marcha =
      ↑, ↓ + (r0, w1, r1, w0 ...) =
      Uma seqüência de operações
    • Checkerboard =
      O fundo de dados
  • Em outras palavras, é mais fácil olhar a estrutura assim.
    1. Definir o fundo de dados para um dos solid 0 / solid 1 / checkerboard / inverse-checkerboard
    2. Executar a seqüência do algoritmo de março nesse estado
  • Por exemplo:
    • Passo 1: Preencher toda a memória com Checkerboard.
    • Passo 2: Executar o elemento ↑(rX, wY) da March C- enquanto estiver nesse estado.
    • Passo 3: Mudar para Inverse-checkerboard e marchar novamente.
  • Este é o tipo de configuração que se vê frequentemente nos scripts da ferramenta MBIST.
  • Definimos o Algoritmo e o Fundo ortogonalmente, e a combinação melhora a cobertura de falhas.
  • Na especificação real do produto, parece algo como isto.
    • Consumidor SoC:
      • Marcha C- @ solid 0/1
      • Adicione uma sequência quadriculada curta, se necessário
    • Automotivo / SoC de classe de servidor:
      • March C- @ solid 0/1
      • March C- @ checkerboard / inverse-checkerboard
      • Adicionar March SS, algoritmos orientados para NPSF para cumprir os objectivos de cobertura de diagnóstico.
  • Agora, finalmente, vamos resumir a questão,
    "Quando é que este vetor/algoritmo de teste é decidido no fluxo de conceção?".
    É importante não confundir algoritmo de março com vetor de ATPG aqui.
  • No mundo real, o processo de seleção de um algoritmo pode ser normalmente resumido da seguinte forma.
    1. Natureza do produto
      • Eletrónica de consumo SoC → "Qualidade moderada + tempo de teste curto"
      • Automotiva/Segurança crítica → "Fiabilidade muito elevada + aceitar tempo de teste mais longo"
    2. DPM/PPM alvo, Requisitos da norma
      • Cobertura de diagnóstico ISO 26262
      • Diretrizes de cobertura da fundição/cliente
    3. Caraterísticas da memória
      • SRAM de porta única / porta dupla / porta múltipla
      • Arquivo de registo, CAM, ROM, eDRAM, eFlash, etc: eFlash/eFuse/NVM inclui teste de programa/erro/retenção
      • Multi-port SRAM usa a variante March com combinações de leitura/escrita entre portas para falhas de interação de portas
  • Na prática, o compilador de memória / fornecedor de IP vem frequentemente com um conjunto March recomendado.
  • Como engenheiro DFT, você pega isso e
    • verifica se ele atende aos padrões da sua empresa / requisitos do cliente
      • Exemplo)March C- + March LA + Checkerboard
      • Os engenheiros de DFT em novos projectos utilizam estes algoritmos como predefinições e apenas os afinam para memórias pouco usuais (eFlash, SRAM especial, etc.)
      1. Os testes lógicos e os testes de memória têm filosofias diferentes:
        • Lógico: varrimento + ATPG, centrado na falha ao nível da porta
        • Memória: acesso sequencial endereço a endereço, centrado na falha célula/vizinho/decodificador
      2. O algoritmo de marcha é um teste que repete uma sequência de leitura/escrita percorrendo os endereços.
        • A combinação de direção (↑/↓) + operação (r0/r1/w0/w1) é a chave
      3. O conceito básico é o March X, e a prática atual é baseada no March C-.
      4. Checkerboard não é um algoritmo, mas um background.
        • March C- @ solid 0/1 para a célula em si e
        • March C- @ checkerboard/inverse-checkerboard para a interação entre vizinhos.
      5. A escolha do Algoritmo é determinada pelas opções da ferramenta na etapa de inserção do MBIST.
        • Não é como ler um artigo e escolher um março bonito e colocá-lo mais tarde ao criar um vetor,
        • É determinado no momento da arquitetura DFT / inserção MBIST, observando os requisitos de teste, as caraterísticas da memória e o tempo de teste.
"Esta macro SRAM alcança XX% de cobertura de falhas com base no March C- + Checkerboard"
Requisito de teste + Caraterísticas da memória + Tempo de teste (custo ATE) + Padrões da ferramenta/biblioteca

7.1 Critérios de seleção de algoritmos

7. Quando e como é que o March/Checkerboard é decidido na perspetiva do MBIST?"


Algoritmo: Marcha C-
Fundo: sólido 0/1, checkerboard, inverse-checkerboard

6.3 Relação entre Checkerboard e March


Queremos criar uma situação em que "células vizinhas sempre tenham valores opostos" para estimular o máximo de interferência entre
bitline / célula / wordline possível.

6.2 Porquê Checkerboard? (Não pode ser Tudo-0/Tudo-1?)


Padrão quadriculado = um fundo de dados no qual as células de memória são dispostas de modo que as células vizinhas sempre tenham valores opostos, como
01010101... / 10101010....

6.1 O que é um padrão quadriculado:

6. Background do Checkerboard e Algoritmo de March


e, se não, personaliza-o adicionando mais elementos March, adicionando fundos, etc.Além disso, muitas empresas têm um conjunto padrão de algoritmos MBIST ao nível da UN/empresa:Na prática, é raro que engenheiros individuais concebam algoritmos March a partir do zero, e modelos padrão + alguma personalização é mais a norma.


요약: Bons pontos para os engenheiros de DFT/ATPG se lembrarem

Para resumir, os seguintes pontos são úteis para os engenheiros de DFT/ATPG terem nas suas cabeças.Com esse conhecimento, você terá uma idéia melhor de como controlar a equipe de DFT em reuniões de design de chip e ficará muito mais confortável ao ler especificações MBIST ou diretrizes de fundição.E quando chegar a hora de projetar seu próprio custom March + background, este quadro será um bom ponto de partida.

글 참여 도구

Share Join discussion
How did this article help? Used only as a private quality signal.

Private note

Spot an error or need clarification?

Send a private correction, question, or topic request directly to the editor.

VLSI Korea

Send a private note

Your message will be delivered to [email protected].

How should we receive it?

Anonymous mode omits your name and email. The delivery provider may still process technical data such as an IP address, so absolute anonymity cannot be guaranteed.

ENGINEER DISCUSSION

What are you seeing in practice?

Add evidence, a counterpoint, or experience from the field. Reply notifications keep the thread moving.

VLSI KOREA BRIEFING

Keep the signal. Lose the noise.

Semiconductor engineering and industry intelligence from a practicing engineer. Free, with no paywall.

FOR BUSINESS

Need this level of technical content?

Technical content, sponsored deep-dives and private team briefings—with clear scope and pricing.

Work with VLSI Korea →
VLSI Korea Free forever · No paywall · Weekly semiconductor insights from practicing engineers
MY VLSI

내 읽기 보관함

저장한 글과 읽던 글을 한곳에서 이어보세요.