Sunteți pe pagina 1din 19

Presentacin de pruebas de fallos

en Dsch versin 3.5


Este documento presenta el concepto de fallas de simulacin a nivel lgico en
Dsch35. Se describen los mecanismos de inyeccin de fallos de lgica, la
simulacin y la extraccin ptima de prueba del vector. Las funciones de
prueba de Dsch35 se ilustran con una serie de diseos lgicos.

1 INTRODUCCIN
Los diseos de circuitos integrados lgicos en la tecnologa CMOS se estn
volviendo ms y ms complejo, ya que VLSI (integracin a muy gran escala) es
el inters de muchos usuarios y fabricantes de electrnica de IC. Un problema
comn a resolver por los diseadores, fabricantes y usuarios es la prueba de
estos circuitos integrados. En esta nota de aplicacin, se introduce el concepto
de falla, concentrndonos en las hiptesis stuck-at-0 y stuck-at-1, y mostrar
cmo pueden aparecer estos fallos. Luego, utilizando DSCH, mostramos cmo
construir una tabla de verdad de referencia, y la manera de simular estas fallas
aplicadas a los nodos de entrada y salida del circuito bajo prueba.
Investigamos cmo los patrones de prueba detectan dichos errores. El objetivo
final es clasificar la eficacia de patrones de prueba, con el fin de seleccionar los
vectores de prueba ms eficientes, y por lo tanto reducir el nmero de
patrones de prueba.
1.1 Prueba de un IC
La prueba de un circuito integrado se puede expresar mediante la
comprobacin de si sus salidas corresponden a las entradas aplicadas a la
misma. Si la prueba es positiva, entonces el sistema es bueno para usarse. Si
las salidas son diferentes de lo esperado, la IC es rechazado (Go / No Go
test). El diagnstico se puede aplicar a la misma, con el fin de sealar e
identificar las causas del problema.
La prueba se aplica para detectar fallas despus de varias operaciones: diseo,
fabricacin, envasado, como se ilustra en la figura 1. Si se considera una
estrategia de prueba a nivel de CI, el fallo se puede detectar en las etapas de
diseo del sistema inicial, ubicarlo y eliminarlo a muy bajo costo. Cuando el
chip defectuoso est soldado en una placa de circuito impreso, el coste para
remediar el fallo se multiplica por diez. Y estos factores de costos continuan
aplicndose hasta que el sistema se ha montado y embalado y enviado a los
usuarios finales, como se ilustra en la Figura 2.

Figura 1: Tpico flujo de produccin de un CI

Estos factores de costos continan aplicndose hasta que el sistema ha sido


ensamblado y empaquetado y luego enviado a los usuarios.

Figura 2: Coste de prueba (La regla de diez)


La primera idea para poner a prueba un circuito de entrada N sera aplicar un
contador de N bits a las entradas (controlabilidad), luego generar todas las 2N
combinaciones, y observar las salidas de control (observabilidad). Esto se
denomina "pruebas exhaustivas" (Fig. 3), y es muy eficiente, pero slo para los
circuitos de pocas entradas. Sin embargo, esta tcnica toma mucho tiempo
cuando el nmero de entradas aumenta. Dada una serie de fallos en el circuito
bajo prueba (CUT), nuestro objetivo es obtener el menor nmero posible de
patrones de prueba que garantiza ms alta cobertura de fallas. La
compactacin de prueba se refiere al proceso de reducir el nmero de
patrones de prueba en un conjunto de prueba sin reducir su cobertura de
fallas.

Figura 3: El tiempo de prueba exhaustiva se convierte en prohibitivo con un


gran nmero de entradas de IC
Un patrn de prueba (o vector de prueba) para una fallo f en un circuito C es
una combinacin de entrada para las que la salida(s) de C es diferente cuando
f est presente asi como cuando no lo est. (fig. 4).

Figura 4: Un patrn de prueba detecta un fallo si la respuesta libre de errores


es diferente de la respuesta defectuosa.
Un vector de prueba x detecta una fallo F si: C(x)Cf(x)=1
Dnde: C (x) es la respuesta del circuito libre de fallos, y Cf (x) es la respuesta
del circuito defectuoso.

1.2 Prueba de fallos


1.2.1 Modelo de falla
Los modos de fallo se manifiestan en el nivel lgico como valores de seales
incorrectas. Un fallo es un modelo que representa el efecto de un fallo por
medio del cambio que se produce en la seal del sistema. Varios defectos
generalmente se asignan a un modelo de falla, y se llama un mapeo muchosa-uno. Sin embargo, algunos defectos tambin pueden ser representados por
ms de un modelo de fallo. Los modelos de fallo tienen la ventaja de ser una
representacin ms manejable que los modos de falla fsica. Es posible sealar
los modelos de fallo ms comnmente utilizados (Tabla 1).

Tabla 1: Modelos de falla ms comnmente utilizados

Como modelo, el fallo no tiene que ser una representacin exacta de los
defectos, sino ms bien, debe ser til en la deteccin de los defectos. Por
ejemplo, el modelo de falla ms comn asume el single stuck-at (SSF) a
pesar de que est claro que este modelo no representa con exactitud todos los
fallos fsicos reales.
La razn para continuar usando el modelo de falla stuck-at es el hecho de que
ha sido satisfactorio en el pasado. Adems, los conjuntos de prueba que se han
generado para este tipo de fallo han sido eficaces en la deteccin de otros
tipos de fallos. Sin embargo, como con cualquier modelo, un fallo puede no
representar a todos los fracasos. Adems se discutir un poco ms cerca de los
modelos de falla que se han trado en la Tabla 1.
1.2.2 Fallas Stuck-at
Como se mencion anteriormente, un single stuck-at fault (SSF) representa
una lnea en el circuito que se fija al valor lgico 0 o 1.
Consideramos aqu las fallas permanentes que son fallas continuas y estables,
cuya naturaleza no cambian antes, durante y despus de la prueba. Estas
fallas afectan el comportamiento funcional del sistema de forma permanente.
Estas fallas son usualmente localizadas y pueden ser modelados. Otros fallos
tales como fallas temporales o fallas intermitentes no se consideran en esta
nota de aplicacin.

La figura 5 ilustra un posible origen de un nodo pegado a tensin 0 (stuck-at 0):


la implementacin est cerca de un nodo VSS (aqu situado cerca, misma
capa), y un puente de metal defectuosa hace una conexin robusta a la tierra.

Figura 5: el origen fsico de un nodo con falla stuck-at 0.


Hay varias formas de designar fallas stuck-at, todos tienen el mismo
significado. Considerando un nodo N, el fallo "stuck-at 0" se puede escribir:
N s-a-0, N s/0, N/0 N@0
En DSCH, utilizaremos "N@0" para el nodo N stuck-at 0 y "N@1" para el nodo N
stuck-at-1.

1.2.3 Otros fallos


La fabricacin de interconexiones puede dar lugar a interrupciones o atajos,
que puede tener consecuencias catastrficas en el comportamiento del circuito
integrado. La figura 6 ilustra el caso de Fallas "Open" y "Short", que no se
consideran en DSCH para simulaciones de fallos.

Figura6: Origen fsico de las fallas Open y Short

1.2.4 Pruebas y cobertura de fallas


La prueba es el proceso de determinar si un dispositivo funciona correctamente
o no. La cuestin es Cuantas pruebas de un CI sern suficientes?
El rendimiento (Y) se define como la relacin entre el nmero de matrices
buenas por oblea con el nmero de matrices totales por oblea.
La cobertura de fallos (FC) es la medida de la capacidad de un equipo de
prueba T para detectar un determinado conjunto de fallas que pueden ocurrir
en el DUT (Dispositivo bajo prueba). Vamos a tratar de lograr una FC = 1, que
es una cobertura fallos del 100%.
FC=(#detectedfaults)/(#possiblefaults)
1) Nivel de defectos y cobertura de fallos
El nivel de defectos (DL) es la fraccin de partes malas de todas las partes que
pasan las pruebas.
DL=1Y(1FC)
Donde el FC se refiere a la cobertura real de defectos (probabilidad de que T
detecte o no cualquier posible fallo en F) y DL es la DPM (defectos por milln).
Los valores tpicos exigidos son menos de 200 DPM, o un 0,02%.

2 Mdulo de pruebas en DSCH


2.1 Primeros pasos
En DSCH versin 3.5, construir un circuito sencillo, como se muestra en la
figura. 6, que incluye 2 entradas y una salida, y haga clic en "Simulate"
"Logic Circuit Testing".

Figura 7: Introduccin a DSCH


La pantalla mostrada en la figura. 8 corresponde a la construccin de la tabla
de verdad de referencia. En la tabla situada en la parte izquierda de la pantalla,
se muestran todas las entradas y salidas.
En el caso de la compuerta AND, dos entradas A y B se enumeran. DSCH
siempre clasifica las entradas en orden alfabtico, seguidos de las salidas
tambin clasificadas por orden alfabtico. En esta etapa, el valor de la salida
todava no se ha calculado y dispuesto.

Figura 8: Construccin de la tabla de verdad de referencia (test/And2_test.SCH)


Haga clic en "Logic Simulatin", y luego clic en "Chronograms" para ver cmo
DSCH ha simulado el circuito: los relojes han sido asignados automticamente
a las entradas, con un perodo multiplicado por 2 con el fin de cubrir toda la
tabla de verdad en una sola simulacin. Haga clic en "Extract Truth-table" para

llenar la tabla con los valores obtenidos en los cronogramas de la simulacin


lgica del circuito (Fig. 9).

Figura 9: Clculo de la tabla de verdad de referencia de la simulacin lgica


(test/And2_test.SCH)
Haga clic en "Next". Entrar a la pestaa "2 - Inyect Fault". El men que se
muestra en la figura. 10 corresponde a la inyeccin de fallos. Seleccione el tipo
de fallo (stuck-at-0, stuck-at-1, o ambos), los nodos en los que se aplicaran
estos modelos y la salida considerada para la prueba. Por defecto, s@0 se
aplica a todas las entradas, y se observa la primera salida declarada en la lista.
Haga clic en "Generate Faults" para enumerar los defectos deseados en la red
de prueba del vector situado a la izquierda de la pantalla. Observe que cada
columna corresponde a un vector de prueba. Como tenemos 2 entradas,
tenemos 4 columnas, cada una correspondiente a un vector de prueba para las
entradas AB, respectivamente 00, 01, 10, y 11. Las dos fallas consideradas
aqu son A@0 y B@0.

Figure 10: Definir el tipo de fallo y los nodos de inters (test/And2_test.SCH)

Figura 11: Dos simulaciones lgicas son necesarios para extraer la respuesta a
los fallos A@0 y B@0 (test/And2_test.SCH)
Con el fin de calcular la respuesta del circuito a los fallos A@0 y B@0 ,
procedemos como sigue:
- Haga clic en "Simulate fault n1 - A@0". Haga clic en "Chronograms" para ver
la respuesta. El nodo A es stuck-at-0, y, en consecuencia, la salida C es 0.

Figura 12: El Cronograma muestra el nodo A en stuck-at-0 (test/And2_test.SCH)


- Haga clic en " Extract Fault Response. Los valores lgicos se transfieren a la
lnea correspondiente.
- Haga clic en "Simulate fault n2 - B@0".
- Haga clic en "Extract Fault Response". La respuesta del circuito para el
segundo fallo tambin se transfiere, como se muestra en la figura. 13.

Figura 13: respuesta del circuito a A @ 0 y B @ 0 (test/And2_test.SCH)

Al seleccionar "Stuck-at 0 & Stuck-at 1", y aplicando a las entradas y salidas, se


obtiene la siguiente respuesta a las 6 fallas:

Figura 13: respuesta del circuito para todas las posible fallas stuck-at
(test/And2_test.SCH).

Figura 14: Puntuacin de deteccin para todos los patrones de prueba


(test/And2_test.SCH)

Haga clic en "Next". Ir a la pestaa "3 - Analyse Vectors". Haga clic en " Highlight
Detection
Vectors ". A partir de los resultados calculados en la figura. 14, podemos ver que
no todos los vectores de prueba tienen la misma eficiencia de deteccin. El
vector de prueba <11> (ltima columna) es capaz de detectar 4 fallos sobre el
total de 6.
Esto significa que la aplicacin de 11 a las entradas A, B conduce a un
resultado en C diferente del valor lgico de referencia 1 (lnea "C (Fault-libre)",
que permite que el vector de prueba 11 para alertar al usuario de la posibilidad

de 4 posible fallos: A@0, B@0, B@1, C@0. Todos los fallos se pueden probados
(100% de cobertura) usando tres vectores:. 01, 10 y 11.

3 Estudios de caso
En esta seccin se investiga la prueba de dos circuitos, una combinacin NandOr y un sumador completo.

3.1 Circuito NAND-OR


El circuito NAND-OR es una simple combinacin de una puerta NAND de 2
entradas y una puerta OR. El concepto de inyeccin de fallo manual se
presenta en la figura 15. La inyeccin de fallos en un nodo N consiste en la
apertura de la conexin y la insercin de un circuito multiplexor.
Se propone un ejemplo de s@0 y s@1 circuito de inyeccin, basado en dos
multiplexores, el primero de falla / no falla, el segundo para s@0 / s@1. Una
aplicacin prctica en DSCH se observa en la figura. 16.

Figura 15: Principios de inyeccin de fallos

Figura 16: inyeccin manual de fallos en un circuito (test / NandOr_fault.SCH)

Figure 17: Simulacin (test/NandOr_fault.SCH)

Figura 18: Clculo de la tabla de verdad de referencia de la simulacin lgica (test /


NandOr_test.SCH)

El circuito Nand-Or tiene 5 nodos, por lo tanto, son posibles 10 fallas stuck-at,
si a ello se suma el nodo interno que une la salida NAND2 a la entrada OR.
- Haga clic en "File" "Open" y seleccione "Test \ Nandor-test.sch"
- Haga clic en "Simulate" "Lgic Circuit Testing".
- Haga clic en "Logic Simulation" y "Extract Truth-table" para llenar la tabla con
los valores obtenidos en los cronogramas de simulacin lgica del circuito (fig.
18).
- Haga clic en "Next". Desplazarse a la pestaa"2 - Inject Fault".

- En el men de parmetros, seleccione el tipo de falla "s@0 & s@1", y aplicarlo


a "All nodes" (Fig. 19).

Figura 19: Clculo de la respuesta a la inyeccin de fallos (test /


NandOr_test.SCH)
- Haga clic en "Generate Faults" para enumerar los defectos deseados en la red
de prueba del vector.
- Haga clic en "Simulate faults n1 - A@0". Haga clic en "Chronograms" para
ver la respuesta.
- Haga clic en "Extract Fault Response". Los valores lgicos se transfieren a la
lnea correspondiente.
- Repita los dos ltimos pasos hasta que se complete la tabla (Fig. 19).
- Haga clic en "Next". Ir a la pestaa "3 Analyse vectors".
- Haga clic en Highlight Detection Vectors. ". El resultado se muestra en la figura.
20.

Figura 20: Eficiencia del vector de deteccin (prueba / NandOr_test.SCH)

El
El
El
El

vector
vector
vector
vector

de 110 detecta un A@0, B@0, C@1 y Nandor@1 (4/8 fallas).


de 100 detecta B@1 y Nandor@0 (2/8 fallos).
010 detecta el fallo A@1.
de 111 detecta el fallo restante C@0.

Por lo tanto 4 vectores de prueba (010, 100, 110, 111) detectan todas las fallas
stuck-at (tiempo de la prueba ser la media de una prueba exhaustiva).

3.2 Circuito Sumador Completo


El circuito sumador completo propuesto en la figura. 21 incluye 3 entradas y 2
salidas.
Esta implementacin esta basada en compuertas XOR y NAND.

Figure 21: Sumador complete basado en compuertas XOR y NAND (test/Fadd_test.SCH)

El procedimiento para la inyeccin de errores y el anlisis es como sigue:


- Haga clic en "Next" "Open" y seleccione "Test \ Fadd-test.sch"
- Haga clic en "Simulate" "Logic Circuit Testing".
- Haga clic en "Logic Simulation" y " Extract Truth-table " para llenar la tabla con
los valores obtenidos en los cronogramas de la simulacin lgica del circuito
(Fig. 22). Haga clic en "Chronograms" para observar la simulacin lgica que
sirve de referencia para llenar la tabla de verdad. Observe el retraso debido a
las puertas lgicas que desicroniza las seales.

Figura 22: Clculo de la tabla de verdad de referencia de la simulacin lgica


(test / Fadd_test.SCH)
- Haga clic en "Next". Ir a la pestaa "2 - Inject Fault".
- En el men de parmetros, seleccione el tipo de fallo "s@0 & s@1", que se
aplican a "todas las estaciones", y seleccionar la salida "Sum" (Fig. 23). El valor
sin fallos se observa en la segunda lnea de la tabla. La primera lnea
corresponde a los 8 vectores de prueba. Tenemos 10 fallos posibles.

Figura 23: Eficiencia del vector de deteccin (test / Fadd_test.SCH)

- Haga clic en "Generate Faults" para enumerar los defectos deseados en la red
de prueba del vector.
- Haga clic en "Simulate faults n1 - A@0". Haga clic en "Chronograms" para
ver la respuesta.
- Haga clic en " Extract Fault Response. Los valores lgicos se transfieren a la
lnea correspondiente.
- Repita los dos ltimos pasos hasta que se complete la tabla.
- Haga clic en "Next". Ir a la pesataa "3 - Analyse vectors".
- Haga clic en " Highlight Detection Vectors ". El resultado se muestra en la
figura 25.Todos los vectores alcanzan la puntuacin 4/10 (Vase. Fig. 23).
Por lo tanto 2 vectores de prueba detectan todos los fallos stuck-at (por
ejemplo 000, 111), excepto Carry@0 y Carry@1 que no estn en el mismo
camino. La mejor cobertura de fallo es del 80%.

4 Inyeccin de fallos en Microwind3: Nivel de diseo


Nuestra perspectiva para continuar este trabajo con un mdulo para la
inyeccin de fallos a nivel de diseo utilizando Microwind3. La idea es modelar
el fallo con un espacio (a una capa especfica) y luego moverlo en el diseo,
simularlo con SPICE y observar su efecto en el comportamiento elctrico del
circuito, en comparacin con el circuito libre de defectos (de referencia).
La idea del espacio es bueno; Sin embargo, puede ser difcil de implementar.
Podemos sustituir el espacio por "una corta resistencia" para simular fallas
puente de circuito abierto (resistencia infinita) a cortocircuito (resistencia cero)
especialmente si esto es posible con Microwind3, ya que permite la insercin y
la simulacin de los elementos pasivos en un diseo. Sugerimos, por tanto, que
la inyeccin de fallos a nivel de diseo sigue los siguientes pasos:
1. Establecer hasta el nivel elctrico del diseo (diseado en Microwind3)
mediante el archivo SPICE extrado de diseo.
2. Considere modelos de fallas en este nivel de abstraccin que son los MOS
stuck-on/open y/o fallos de puente.
3. Para los MOS on / open, slo tenemos un Drenaje short/cut a / de Fuente del
transistor MOS.
4. Para corto resistivos entre dos nodos en el circuito (puente fallas), se puede
tratar slo los defectos probables (2 nodos vecinos de la misma capa,
rompiendo el contacto de metal / poly ...). Esta lista de fallos puede ser
generada antes de la inyeccin de defectos o especificada por el diseador
(para una tecnologa dada).
5. La colocacin de una resistencia (que modela la opcin predeterminada)
entre dos nodos y para simular los valores (pocos ohmios: shorts) a un valor
infinito (open). Esto se puede lograr a travs del comando "parametric
analysis de Microwind3.
6. Finalmente, para analizar el efecto de cada defecto, la corriente IDDQ se
puede utilizar para determinar la funcin correcta. Este anlisis puede ser
realizado por el diseador o automticamente por la herramienta, con el fin de
clasificar los defectos por tipo: catastrfico / paramtrico / lgica.

5 Conclusin

Esta nota de aplicacin ha descrito una nueva caracterstica de DSCH vinculado


con inyeccin de fallos y simulacin a nivel lgico. Los mecanismos para la
inyeccin de errores de lgica, la simulacin y la extraccin ptima vector de
prueba se han descrito e ilustrado en una puerta Y, una puerta complejo y un
sumador completo.

6 Ejercicios
6.1 Ejercicio 1 - Multiplexor
Disear el siguiente circuito. Inyectar atrapado-en fallos en X1, X2, X3 y Y. Cul
vectores de prueba se haran con una cobertura de la culpa del 100%?

6.2 Ejercicio 2 - Fallo colapso


Stuck-en el colapso de fallo tpicamente reduce el nmero total de averas en
un 50 a 60% [Bushnell 2000].
Fallo colapso de pegado-en fallos se basa en el hecho de que un SA0 en la
entrada a una puerta Y (NAND) es equivalente a la S @ 0 (S @ 1) en la salida
de la puerta. Del mismo modo, un S @ 1 en la entrada a una puerta OR (NI) es
equivalente a la S @ 1 (S @ 0) a la salida de la puerta. Para un inversor, un S @
0 (S @ 1) en la entrada es equivalente a la SA1 (S @ 0) a la salida del inversor.
Por otra parte, una engreda en falta en la fuente (salida de la puerta de
conduccin) de una red de conductores de salida libre es equivalente a la
misma falla atascado-en el
destino (entrada de puerta siendo impulsado). Por lo tanto, el nmero de
colapsado engreda a fallas en cualquier circuito combinacional construido a
partir de puertas lgicas elementales (AND, OR, NAND, NOR, y el inversor)
viene dada por:
Cantidad de errores colapsadas = 2 (nmero de OP + nmero de fanout
tallos)
+ Nmero de puerta (incluyendo inversor) entradas - Nmero total de
inversores

Una serie de interesantes propiedades estn asociadas con la deteccin de


pegada-a fallas en los circuitos lgicos combinacionales; Por ejemplo, dos de
tales propiedades se describen por las siguientes teoremas:
Teorema 1
Un conjunto de vectores de prueba que detecta todas las fallas individuales
pegadas-a en todas las entradas principales de un circuito lgico
combinacional-fanout libre detectar todos los errores individuales pegadas-en
en ese circuito.
Teorema 2
Un conjunto de vectores de prueba que detectan todos los fallos individuales
pegadas-a en todas las entradas principales y todas las ramas fanout de un
circuito lgico combinacional detectar todos los errores individuales pegadasen en ese circuito.
Teniendo en cuenta el siguiente ejemplo:
- Evaluar el nmero de fallos colapsadas (respuesta: 10)

7 Referencias
[Chen2002] Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
[Sicard2005a] E. Sicard, S. Ben Dhia Basic CMOS cell design, McGraw Hill India, 450 pages,
ISBN 0-07-0599335, June 2005 (international edition at McGraw Hill professional series in 2007)
[Sicard2005b] E. Sicard Introducing 90-nm technology in Microwind3, application note, July
2005,
www.microwind.org
[Sicard2006a] E. Sicard Microwind Users Manual, lite version 3.1, www.microwind.org, INSA
editor, 2006
[Sicard2006b] E. Sicard Introducing 65-nm technology in Microwind3, application note, July
2006,
www.microwind.org

S-ar putea să vă placă și