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,
w1poderia 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 lemos1.
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
w1a uma célula qualquer - seguimos um padrão de verificar a sua célula vizinha com
r0our1, 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)
- Padrão A:
- Por endereço, isto é normalmente:
- Endereço par →
0x555555_5555 - Endereço ímpar →
0xAAAA_AAAA
- Endereço par →
- 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
- Algoritmo de Marcha =
- Em outras palavras, é mais fácil olhar a estrutura assim.
- Definir o fundo de dados para um dos solid 0 / solid 1 / checkerboard / inverse-checkerboard
- 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)daMarch 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/1March C- @ checkerboard / inverse-checkerboard- Adicionar March SS, algoritmos orientados para NPSF para cumprir os objectivos de cobertura de diagnóstico.
- Consumidor SoC:
- 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.
- 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"
- DPM/PPM alvo, Requisitos da norma
- Cobertura de diagnóstico ISO 26262
- Diretrizes de cobertura da fundição/cliente
- 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
- Natureza do produto
- 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.)
- 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
- 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
- O conceito básico é o March X, e a prática atual é baseada no March C-.
- Checkerboard não é um algoritmo, mas um background.
March C- @ solid 0/1para a célula em si eMarch C- @ checkerboard/inverse-checkerboardpara a interação entre vizinhos.
- 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.
- verifica se ele atende aos padrões da sua empresa / requisitos do cliente
"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.