Algoritmo de marcha DFT? Tablero de ajedrez 2

5. Por qué marzo parece intuitivo desde el punto de vista de la estructura de la memoria 5.1 Cómo acceder SRAM Consideremos un banco: Así que la unidad...

Algoritmo de marcha DFT? Tablero de ajedrez 2
Photo by Mayu Yamamura on Unsplash

5. Por qué marzo parece intuitivo desde el punto de vista de la estructura de la memoria

5.1 Cómo acceder

SRAM Consideremos un banco:

  • Selecciona una fila específica (wordline) con el bus de direcciones
  • Lee o escribe el valor de una celda a través del bitline conectado a esa fila
  • Sólo "una dirección" puede ser controlada con certeza a la vez

Así que la unidad básica de la prueba es naturalmente esta.

"Seleccionar una dirección → realizar una secuencia de lectura/escritura → pasar a la siguiente dirección"

Este flujo en sí se solapa casi 1:1 con la definición del elemento March.


5.2 ¿Cómo se detecta un fallo del decodificador de direcciones?

Por ejemplo, en una dirección:

  • Fallo del decodificador provoca que dos filas se enciendan al mismo tiempo.
  • En esta dirección, w1 podría hacer que la celda prevista fuera 1, así como la celda de la fila vecina.

Ahora, en otra dirección:

  • Esperamos que la celda vecina sea r0, pero leemos 1.

Si repetimos r0, r1 varias veces, subiendo y bajando como Marcha C-, seguramente leeremos en algún momento el valor "celda no intencionada encendida a la vez y sobrescrita".

Este es el mecanismo por el cual el March C- detecta fallo del decodificador de direcciones.


5.3 Cómo detectar un fallo de acoplamiento:

Fallo de acoplamiento es la siguiente situación.

Un fallo en el que el valor de una celda vecina (víctima) no se modifica o mantiene cuando se realiza una operación específica (escritura, conmutación) en la celda agresora

Marca C- es:

  • inmediatamente después de hacer w1 a cualquier celda
  • se repite múltiples veces el patrón de comprobación de su celda vecina con r0 o r1, invirtiendo el sentido arriba/abajo.

En el proceso:

    • Para encontrar "fallos que sólo se revelan cuando el patrón de una célula vecina se encuentra en un determinado estado", forzamos varios ordenamientos relativos.
  • Esto lleva un poco más de tiempo que simplemente escribir/leer el patrón Checkerboard una vez, pero te da una cobertura de fallos mucho mayor.
  • Ahora, pongamos en contexto el Checkerboard del que a menudo oímos hablar en la práctica.
  • Empecemos con una definición de una línea.
  • En términos de bit a bit:
    • Patrón A: 0x55... (...0101 0101)
    • Patrón B: 0xAA... (...1010 1010)
  • Por dirección, esto suele ser:
    • Dirección par → 0x5555_5555
    • Dirección impar → 0xAAAA_AAAA
  • O puedes invertirlo, de modo que 0s y 1s se alternen como un tablero de ajedrez en ambas direcciones horizontal (bitwise) y vertical (addresswise).
  • El patrón opuesto se denomina Tablero de ajedrez invertido.
  • Los patrones todo-0, todo-1 son, por supuesto, importantes.
    • w0 → r0, w1 → r1 es suficiente para cubrir el fallo de atasco.
    • El fallo de transición también está cubierto hasta cierto punto.
  • El problema es la interacción entre celdas vecinas.
    • Cortocircuito/puente entre línea de bits/línea de palabras
    • Fallo de acoplamiento
    • Fallo sensible al patrón de vecindad (NPSF)
  • Estos fallos suelen ser visibles sólo en las siguientes situaciones.
    • Cuando dos celdas tienen valores diferentes (0/1)
    • Cuando la vecindad tiene un patrón específico (por ejemplo, 010/101)
  • Por ejemplo, si dos celdas están débilmente cortocircuitadas:
    • Si ambas son 0, el cortocircuito puede no ser perceptible porque es 0, y el valor puede estar distorsionado por la corriente que fluye sólo cuando una es 0 y la otra es 1.
  • Así que, desde una perspectiva de prueba:
  • La forma más sencilla de hacerlo es con el patrón de tablero de ajedrez.
  • Aquí hay un punto en el que es fácil confundirse.
    • Algoritmo March =
      ↑, ↓ + (r0, w1, r1, w0 ...) =
      Una secuencia de operaciones
    • Checkerboard =
      El fondo de datos
  • En otras palabras, es más fácil ver la estructura así.
    1. Configura el fondo de datos a uno de sólido 0 / sólido 1 / damero / damero inverso
    2. Ejecuta la secuencia del algoritmo March en ese estado
  • Por ejemplo:
    • Paso 1: Llena toda la memoria con Damasco.
    • Paso 2: Realizar el elemento ↑(rX, wY) de March C- mientras se está en ese estado.
    • Paso 3: Cambiar a Inverse-checkerboard y marchar de nuevo.
  • Este es el tipo de configuración que se suele ver en los scripts de la herramienta MBIST.
  • Hemos definido el Algoritmo y el Fondo ortogonalmente, y la combinación mejora la cobertura de fallos.
  • En la especificación del producto real, se parece a esto.
    • SoC de consumo:
      • Marca C- @ sólido 0/1
      • Añade una secuencia de damero corta si es necesario
    • SoC de clase Automóvil / Servidor:
      • March C- @ solid 0/1
      • March C- @ checkerboard / inverse-checkerboard
      • Agregar algoritmos orientados a NPSF de March SS para cumplir los objetivos de cobertura de diagnóstico.
  • Ahora, por último, vamos a resumir la pregunta,
    "¿Cuándo se decide este vector/algoritmo de prueba en el flujo de diseño?".
    Es importante no confundir aquí algoritmo de marzo con vector ATPG.
  • En el mundo real, el proceso de selección de un algoritmo suele resumirse de la siguiente manera.
    1. Naturaleza del producto
      • SoC de electrónica de consumo → "Calidad moderada + tiempo de prueba corto"
      • Automóvil / Seguridad crítica → "Fiabilidad muy alta + aceptar un tiempo de prueba más largo"
    2. DPPM/PPM objetivo, Requisitos estándar
      • Cobertura de diagnóstico ISO 26262
      • Guía de cobertura de fundición / cliente
    3. Características de la memoria
      • Single-port / Dual-port / Multi-port SRAM
      • Archivo de registro, CAM, ROM, eDRAM, eFlash, etc: eFlash/eFuse/NVM incluye test de programación/borrado/retención
      • La SRAM multipuerto utiliza la variante March con combinaciones de lectura/escritura entre puertos para fallos de interacción entre puertos
  • En la práctica, El compilador de memoria / proveedor de IP suele venir con un conjunto March recomendado.
  • Como ingeniero de DFT, tomas esto y
    • compruebas si cumple con los estándares de tu empresa / requisitos del cliente
      • Ejemplo) March C- + March LA + Checkerboard
      • Los ingenieros de DFT que trabajan en nuevos proyectos utilizan estos algoritmos por defecto, y sólo los ajustan para memorias inusuales (eFlash, SRAM especial, etc.)
      1. Las pruebas lógicas y las pruebas de memoria tienen una filosofía diferente:
        • Lógicas: escaneo + ATPG, centradas en fallos a nivel de puerta
        • Memoria: acceso secuencial dirección a dirección, centradas en fallos de celda/vecino/decodificador
      2. El algoritmo de marcha es una prueba que repite una secuencia de lectura/escritura marchando a través de direcciones.
        • La combinación de dirección (↑/↓) + operación (r0/r1/w0/w1) es la clave
      3. El concepto básico es March X, y la práctica real se basa en March C-.
      4. Checkerboard no es un algoritmo, sino un fondo.
        • Marcha C- @ sólido 0/1 para la celda en sí y
        • Marcha C- @ tablero de ajedrez/ tablero de ajedrez inverso para la interacción vecina.
      5. La elección del Algoritmo viene determinada por las opciones de la herramienta en el paso de inserción MBIST.
        • No es como leer un artículo y elegir un March bonito y ponérselo después al crear un vector,
        • Se determina en el momento de la inserción de la arquitectura DFT / MBIST mirando el requisito de la prueba, las características de la memoria y el tiempo de la prueba.
"Esta macro SRAM consigue una cobertura de fallos del XX% basada en March C- + Checkerboard"
Requisito de prueba + Características de la memoria + Tiempo de prueba (coste ATE) + Valores predeterminados de la herramienta/biblioteca

7.1 Criterios de selección de algoritmos

7. Cuándo y cómo se decide Marzo/Checkerboard desde la perspectiva MBIST?"


Algoritmo: Marcha C-
Fondo: sólido 0/1, tablero de comprobación, tablero de comprobación inverso

6.3 Relación entre damero y marzo


Queremos crear una situación en la que "las celdas vecinas siempre tengan valores opuestos" para estimular la mayor interferencia posible entre
línea de bits / celda / línea de palabras.

6.2 ¿Por qué damero? (¿No puede ser todo-0/todo-1?)


Patrón de damero = un fondo de datos en el que las celdas de memoria están dispuestas de forma que las celdas vecinas siempre tienen valores opuestos, como
01010101... /10101010....

6.1 Qué es un patrón de tablero de ajedrez:

6. Antecedentes del Checkerboard y Algoritmo March


y si no, lo personalizas añadiendo más elementos March, añadiendo fondos, etc.Además, muchas empresas tienen un conjunto estándar de algoritmos MBIST a nivel de BU / empresa:En la práctica, es raro que ingenieros individuales diseñen algoritmos March desde cero, y plantillas estándar + alguna personalización es más la norma.


요약: Buenos puntos que los ingenieros de DFT/ATPG deben recordar

En resumen, los siguientes puntos son útiles para que los ingenieros de DFT/ATPG los tengan en la cabeza.Con este conocimiento, tendrás una mejor idea de cómo controlar al equipo de DFT en las reuniones de diseño de chips, y te sentirás mucho más cómodo cuando leas las especificaciones MBIST o las directrices de la fundición.Y cuando llegue el momento de diseñar tu propio marzo personalizado + fondo, este marco será un buen punto 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

내 읽기 보관함

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