stringtranslate.com

Generación automática de patrones de prueba

ATPG (acrónimo de generación automática de patrones de prueba y generador automático de patrones de prueba ) es un método o tecnología de automatización de diseño electrónico que se utiliza para encontrar una secuencia de entrada (o prueba) que, cuando se aplica a un circuito digital , permite que el equipo de prueba automático distinga entre el comportamiento correcto del circuito y el comportamiento defectuoso del circuito causado por defectos. Los patrones generados se utilizan para probar dispositivos semiconductores después de la fabricación o para ayudar a determinar la causa de la falla ( análisis de fallas [1] ). La efectividad de ATPG se mide por la cantidad de defectos modelados, o modelos de falla , detectables y por la cantidad de patrones generados. Estas métricas generalmente indican la calidad de la prueba (más alta con más detecciones de fallas) y el tiempo de aplicación de la prueba (más alto con más patrones). La eficiencia de ATPG es otra consideración importante que está influenciada por el modelo de falla en consideración, el tipo de circuito bajo prueba ( escaneo completo , secuencial sincrónico o secuencial asincrónico), el nivel de abstracción utilizado para representar el circuito bajo prueba (puerta, transferencia de registro, interruptor) y la calidad de prueba requerida .

Lo esencial

Un defecto es un error causado en un dispositivo durante el proceso de fabricación. Un modelo de falla es una descripción matemática de cómo un defecto altera el comportamiento del diseño. Los valores lógicos observados en las salidas principales del dispositivo, mientras se aplica un patrón de prueba a algún dispositivo bajo prueba (DUT), se denominan salida de ese patrón de prueba. La salida de un patrón de prueba, cuando se prueba un dispositivo libre de fallas que funciona exactamente como se diseñó, se denomina salida esperada de ese patrón de prueba. Se dice que un patrón de prueba detecta una falla si la salida de ese patrón de prueba, cuando se prueba un dispositivo que solo tiene esa falla, es diferente a la salida esperada. El proceso ATPG para una falla específica consta de dos fases: activación de falla y propagación de falla . La activación de falla establece un valor de señal en el sitio del modelo de falla que es opuesto al valor producido por el modelo de falla. La propagación de falla mueve el valor de señal resultante, o efecto de falla, hacia adelante sensibilizando una ruta desde el sitio de falla hasta una salida principal.

ATPG puede no encontrar una prueba para una falla en particular en al menos dos casos. En primer lugar, la falla puede ser intrínsecamente indetectable, de modo que no existan patrones que puedan detectar esa falla en particular. El ejemplo clásico de esto es un circuito redundante, diseñado de tal manera que ninguna falla individual haga que la salida cambie. En un circuito de este tipo, cualquier falla individual será inherentemente indetectable.

En segundo lugar, es posible que exista un patrón de detección, pero el algoritmo no puede encontrarlo. Dado que el problema ATPG es NP-completo (por reducción del problema de satisfacibilidad booleano ), habrá casos en los que existan patrones, pero ATPG se dé por vencido porque tardará demasiado en encontrarlos (suponiendo que P≠NP , por supuesto).

Modelos de fallas

Colapso por falla

Las fallas equivalentes producen el mismo comportamiento defectuoso para todos los patrones de entrada. Cualquier falla individual del conjunto de fallas equivalentes puede representar el conjunto completo. En este caso, se requieren muchas menos de k × n pruebas de fallas para un circuito con n líneas de señal. La eliminación de fallas equivalentes de todo el conjunto de fallas se denomina colapso de fallas.

El modelo de falla estancada

En las últimas décadas, el modelo de falla más popular utilizado en la práctica es el modelo de falla única atascada . En este modelo, se supone que una de las líneas de señal en un circuito está atascada en un valor lógico fijo, independientemente de las entradas que se suministren al circuito. Por lo tanto, si un circuito tiene n líneas de señal, hay potencialmente 2n fallas atascadas definidas en el circuito, de las cuales algunas pueden considerarse equivalentes a otras. El modelo de falla atascada es un modelo de falla lógica porque no hay información de retardo asociada con la definición de falla. También se denomina modelo de falla permanente porque se supone que el efecto defectuoso es permanente, en contraste con las fallas intermitentes que ocurren (aparentemente) al azar y las fallas transitorias que ocurren esporádicamente, quizás dependiendo de las condiciones de operación (por ejemplo, temperatura, voltaje de la fuente de alimentación) o de los valores de los datos (estados de voltaje alto o bajo) en las líneas de señal circundantes. El modelo de falla única atascada es estructural porque se define en función de un modelo de circuito a nivel de compuerta estructural.

Un conjunto de patrones con una cobertura de fallas atascadas del 100 % consta de pruebas para detectar cada falla atascada posible en un circuito. Una cobertura de fallas atascadas del 100 % no garantiza necesariamente una alta calidad, ya que a menudo ocurren fallas de muchos otros tipos (por ejemplo, fallas de puente, fallas de apertura, fallas de retardo).

Fallas de transistores

Este modelo se utiliza para describir fallas en las puertas lógicas CMOS. A nivel de transistor, un transistor puede quedarse atascado en cortocircuito o atascado en posición abierta. En caso de quedarse atascado en cortocircuito, un transistor se comporta como si siempre estuviera conduciendo (o atascado en funcionamiento), y en caso de quedarse atascado en posición abierta, un transistor nunca conduce corriente (o está atascado en funcionamiento). El atascado en cortocircuito producirá un cortocircuito entre VDD y VSS.

Fallas de puenteo

Un cortocircuito entre dos líneas de señal se denomina falla de puenteo. El puenteo a VDD o Vss es equivalente al modelo de bloqueo en falla. Tradicionalmente, ambas señales después del puenteo se modelaban con lógica AND u OR de ambas señales. Si un controlador domina al otro controlador en una situación de puenteo, el controlador dominante fuerza la lógica al otro, en cuyo caso se utiliza una falla de puenteo dominante. Para reflejar mejor la realidad de los dispositivos CMOS VLSI, se utiliza un modelo de falla de puenteo dominante AND o dominante OR. En el último caso, el controlador dominante mantiene su valor, mientras que el otro obtiene el valor AND u OR de su propio controlador y del controlador dominante.

Abre fallas

Fallas de retardo

Las fallas por retardo se pueden clasificar como:

ATPG combinacional

El método ATPG combinacional permite probar los nodos individuales (o flip-flops) del circuito lógico sin preocuparse por el funcionamiento del circuito en su conjunto. Durante la prueba, se activa un denominado modo de escaneo que obliga a que todos los flip-flops (FF) se conecten de forma simplificada, evitando de manera efectiva sus interconexiones como se pretende durante el funcionamiento normal. Esto permite utilizar una matriz vectorial relativamente simple para probar rápidamente todos los FF que lo componen, así como para rastrear las fallas en FF específicos.

ATPG secuencial

El ATPG de circuito secuencial busca una secuencia de vectores de prueba para detectar una falla particular a través del espacio de todas las secuencias de vectores de prueba posibles . Se han ideado varias estrategias de búsqueda y heurísticas para encontrar una secuencia más corta o para encontrar una secuencia más rápida. Sin embargo, según los resultados informados, ninguna estrategia o heurística supera a otras para todas las aplicaciones o circuitos. Esta observación implica que un generador de pruebas debe incluir un conjunto integral de heurísticas.

Incluso una falla simple en estado de bloqueo requiere una secuencia de vectores para su detección en un circuito secuencial. Además, debido a la presencia de elementos de memoria, la capacidad de control y observación de las señales internas en un circuito secuencial son, en general, mucho más difíciles que las de un circuito lógico combinacional . Estos factores hacen que la complejidad del ATPG secuencial sea mucho mayor que la del ATPG combinacional, donde se agrega una cadena de escaneo (es decir, una cadena de señales conmutable, solo para pruebas) para permitir un acceso simple a los nodos individuales.

Debido a la alta complejidad del ATPG secuencial, sigue siendo una tarea desafiante para circuitos grandes y altamente secuenciales que no incorporan ningún esquema de Diseño para Testabilidad (DFT). Sin embargo, estos generadores de prueba, combinados con técnicas DFT de bajo consumo, como el escaneo parcial , han demostrado un cierto grado de éxito en la prueba de diseños grandes. Para diseños que son sensibles al consumo de área o rendimiento, la solución de usar ATPG de circuito secuencial y escaneo parcial ofrece una alternativa atractiva a la popular solución de escaneo completo, que se basa en ATPG de circuito combinacional.

Tecnologías nanométricas

Históricamente, ATPG se ha centrado en un conjunto de fallas derivadas de un modelo de fallas a nivel de compuerta. A medida que las tendencias de diseño avanzan hacia la tecnología nanométrica, surgen nuevos problemas de prueba de fabricación. Durante la validación del diseño, los ingenieros ya no pueden ignorar los efectos de la diafonía y el ruido de la fuente de alimentación en la confiabilidad y el rendimiento. Las técnicas actuales de modelado de fallas y generación de vectores están dando paso a nuevos modelos y técnicas que consideran la información de tiempo durante la generación de pruebas, que son escalables a diseños más grandes y que pueden capturar condiciones de diseño extremas. Para la tecnología nanométrica, muchos de los problemas actuales de validación de diseño también se están convirtiendo en problemas de prueba de fabricación, por lo que se necesitarán nuevas técnicas de modelado de fallas y ATPG.

Métodos algorítmicos

Probar circuitos integrados de gran escala con una alta cobertura de fallas es una tarea difícil debido a su complejidad. Por lo tanto, se han desarrollado muchos métodos ATPG diferentes para abordar circuitos combinacionales y secuenciales .

Conferencias relevantes

El ATPG es un tema que se aborda en varias conferencias a lo largo del año. Las conferencias principales en Estados Unidos son la International Test Conference y el VLSI Test Symposium, mientras que en Europa el tema se aborda en DATE y ETS.

Véase también

Referencias

  1. ^ Crowell, G; Press, R. "Uso de técnicas basadas en escaneo para el aislamiento de fallas en dispositivos lógicos". Análisis de fallas en microelectrónica . págs. 132–8.