LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
PFC de Lucas García DeirosDirector del proyecto: Salvador Manich Bou
2003
Departament d’Enginyeria Electrònicasecció Campus Sud (ETSEIB)
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Índice
Introducción
Objetivos
Método propuesto
Resultados obtenidos
Conclusiones
Líneas futuras
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Introducción
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Los circuitos pueden presentar defectos
CAUSAS:
Fase de diseño:
- errores en la implementación
Fase de fabricación:
- partículas que pueden contaminar las obleas
- interconexionado entre pistas
Fase de funcionamiento:
- temperatura, humedad, vibraciones
- ruido por radiaciones electromagnéticas
- fluctuaciones en la tensión de alimentación
- desgaste
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
EFECTOS:
1010010
entradas
01011
salidasesperadasCUT
01111
salidasobtenidas
ERROR
Los circuitos pueden presentar defectos
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Tipos de test
Test funcional
- Probar el circuito para las entradas posibles y comparar las salidas obtenidas con las esperadas.
- Inviable cuando número de entradas del CUT comienza a ser elevado.
Ej: CUT de 65 entradas(bloque sumador de 32 bits con 1 línea de carry-
in)Aplicando las 265 posibles entradas a una
f=1GHz:¡¡¡ necesarios más de 1100 años para completar el test !!!
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Test mediante modelo de fallos
- Un modelo de fallos es una representación, apta para la simulación, de los efectos catastróficos (fallos) que pueden provocar los defectos de un circuito.
- Pretende conseguir la detección de fallos utilizando un conjunto reducido de entradas (vectores de test).
- Existen diferentes modelos de fallos:modelo de fallos puente
modelo de fallos de retardomodelo de fallos stuck-at
Tipos de test
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Modelo de fallos stuck-at
AB C
AB C
ANDAB LF00 001 010 011 1
C
ANDAB LF00 001 010 011 1
C
stuck-at 11
sa1 A0101
stuck-at 0
0
sa0 C0000
modelo de fallos escogido para este proyecto
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Simulador de fallos
Herramienta que nos permite obtener un conjunto de vectores de test para detectar un determinado número de fallos (a partir de un modelo de fallos).
Estadística obtenida: cobertura de fallos (FC).
caso del modelo stuck-at aplicado a todos los nodos:
F = 2·( NEntradasCUT + NSalidasCUT + NNodosInternosCUT )
FC puede no llegar al 100% fallos indetectables.
( )(%) 100
( )
FD Fallos detectadosFC
F Fallos posibles en el CUT
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Test clásico (ATE externo)
vectores de test
respuestas
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Es necesario disminuir costes en el test
Datos obtenidos de SIA Roadmap 2001
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Solución: Técnicas BIST
BIST
Orientadas a la integración dentro del propio chip de los bloques necesarios para la realización del test.Permite la realización del test a la frecuencia de trabajo del CUT (at-speed).Puede suponer un aumentoen el área del chip.
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Solución: Técnicas BIST
Un esquema BIST se compone de un bloque TPG que genera los patrones de test y de un bloque ORA que analiza las salidas obtenidas.
Generador de patrones implementado clásicamente con LFSRs.
CUT
TPG ORAentradas salidas
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Generador de patrones BISTLos AdTPG
Alternativa a los LFSR.Permiten la reutilización de bloques DataPath existentes en el CUT para tareas de testeo.Disminución del overhead de área.
Registro
Sumador
Acumulador
vectores de test
DATAPATH
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Generador de patrones BISTLos AdTPG
Generan caminos o secuencias de vectores de test a partir de 3 variables de inicialización (tripletes):
Semilla, Incremento y LongitudSe pueden realizar reseedings durante el test.Introduce vectores dummy en las secuencias.Parámetros a tener en cuenta:
- N vectores generados- M palabras de n bits en memoria- FC conseguida
Registro
Sumador
Acumulador
vectores de test
DATAPATH
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Generador de patrones BISTLos AdTPG
00010
Sumador
00000
DATAPATH
Camino generado:Incremento
Semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Generador de patrones BISTLos AdTPG
00010
Sumador
00000
00000
DATAPATH
Incremento
Vector de test
Camino generado:
00000Semilla
Semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Generador de patrones BISTLos AdTPG
00010
Sumador
00010
00000
DATAPATH
Incremento
Vector de test
Camino generado:
00000Semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Generador de patrones BISTLos AdTPG
00010
Sumador
00010
00010
DATAPATH
Incremento
Vector de test
Camino generado:
00000
00010
Semilla + Incremento
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Generador de patrones BISTLos AdTPG
00010
Sumador
00100
00010
DATAPATH
Incremento
Vector de test
Camino generado:
00000
00010
Semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Generador de patrones BISTLos AdTPG
00010
Sumador
00100
00100
DATAPATH
Incremento
Vector de test
Camino generado:
00000
00010
00100
Semilla
+ Incremento
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Generador de patrones BISTLos AdTPG
00010
Sumador
00110
00100
DATAPATH
Incremento
Vector de test
Camino generado:
00000
00010
00100
Semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Generador de patrones BISTLos AdTPG
00010
Sumador
00110
00110
DATAPATH
Incremento
Vector de test
Camino generado:
00000
00010
00100
00110
Semilla
+ Incremento
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Generador de patrones BISTLos AdTPG
Camino generado:
00000
00010
00100
00110
Registro
Sumador
Acumulador
vectores de test
DATAPATH
Semilla: 00000Incremento: 00010
Longitud: 3
Vectores de test a
aplicar al CUT
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Problemas de los AdTPG...
Registro
Sumador
Acumulador
vectores de test
DATAPATH
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Problema 1: Doble de memoria necesaria respecto los LFSR
MEMORIA (M) MEMORIA (M)
LFSR AdTPG
Semilla 1Incremento 1
Semilla 1
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
MEMORIA (M) MEMORIA (M)
LFSR AdTPG
Semilla 1Incremento 1
Semilla 2Incremento 2
Semilla 1Semilla 2
Problema 1: Doble de memoria necesaria respecto los LFSR
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
MEMORIA (M) MEMORIA (M)
LFSR AdTPG
Semilla 1Incremento 1
Semilla 2Incremento 2
Semilla 3Incremento 3
Semilla 1Semilla 2Semilla 3
Problema 1: Doble de memoria necesaria respecto los LFSR
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
MEMORIA (M) MEMORIA (M)
LFSR AdTPG
Semilla 1Incremento 1
Semilla 2Incremento 2
Semilla 3Incremento 3
Semilla 4Incremento 4
Semilla 1Semilla 2Semilla 3Semilla 4
Problema 1: Doble de memoria necesaria respecto los LFSR
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Problema 2: Secuencias con periodo < 2n
000...0
001...1
011...1
101...1
111...1
Semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
Incremento
Problema 2: Secuencias con periodo < 2n
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
Problema 2: Secuencias con periodo < 2n
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
Problema 2: Secuencias con periodo < 2n
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
Problema 2: Secuencias con periodo < 2n
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
Problema 2: Secuencias con periodo < 2n
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
Problema 2: Secuencias con periodo < 2n
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
Problema 2: Secuencias con periodo < 2n
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
Problema 2: Secuencias con periodo < 2n
Repetición del vector semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
AdT
PG
LFS
RProblema 3: Bits sin conmutación en las
secuencias
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
LFS
RA
dTP
G Bits a 1 sin conmutar
Bits a 0 sin conmutar
Problema 3: Bits sin conmutación en las secuencias
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Objetivos del proyecto
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Implementación de un método que permita la obtención de unos tripletes eficientes para el AdTPG.
Intentar solucionar los 3 problemas planteados.
Reducir los parámetros M y N en comparación a otros métodos existentes, sin penalizar en cobertura de fallos stuck-at.
Programación del método en lenguaje C intentando reducir los tiempos de simulación.
Objetivos del proyecto
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Método propuesto: LUCSAM2 fases
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Fase 1 del LUCSAM
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Escogemos semillas a partir de la LCVT
LCVT
Vector 1Vector 2Vector 3
Vector m
LCVT obtenida a partir del Simulador de fallos.
Generamos m caminos de longitud Lmax y escogemos el de mayor FC.
Se reduce el tiempo de simulación.
Se asegura alta cobertura en las semillas.
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Solución al problema 1: Mismo vector como semilla e incremento
MEMORIA (M)
AdTPG
Semilla 1Incremento
Sumador
Acumulador
vectores de test
DATAPATH LCVT
Vector 1Vector 2Vector 3
Vector m
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
MEMORIA (M)
AdTPG
Semilla 1Semilla 2
Incremento
Sumador
Acumulador
vectores de test
DATAPATH LCVT
Vector 1Vector 2Vector 3
Vector m
Solución al problema 1: Repetimos el proceso hasta llegar a la FC deseada
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Semilla 3
MEMORIA (M)
AdTPG
Semilla 1Incremento
Sumador
Acumulador
vectores de test
DATAPATH LCVT
Vector 1Vector 2Vector 3
Vector m
Semilla 2
Solución al problema 1: Repetimos el proceso hasta llegar a la FC deseada
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
MEMORIA (M)
AdTPG
L1, L2, L3,..., Lkss
kSS tripletes SS
(Si, Si, Li)
Solución al problema 1: Obtenemos el conjunto de tripletes a almacenar en memoria
“Recortamos” las colas de los caminos hasta el último vector con cobertura
Disminuimos el valor de N
Disminuimos el valor de M
Semilla kSS
SS1 2 3 k maxL , L , L , ..., L L longitudes:
Semilla 3
Semilla 1Semilla 2
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Solución al problema 2: Asegurando incrementos impares...
Semilla
Incremento
LSB
1
1
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
...obtenemos secuencias con periodo 2n
000...0
001...1
011...1
101...1
111...1 No hay repetición de la semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
...obtenemos secuencias con periodo 2n
No hay repetición de la semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
...obtenemos secuencias con periodo 2n
No hay repetición de la semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
...obtenemos secuencias con periodo 2n
No hay repetición de la semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
...obtenemos secuencias con periodo 2n
No hay repetición de la semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
...obtenemos secuencias con periodo 2n
No hay repetición de la semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
...obtenemos secuencias con periodo 2n
No hay repetición de la semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
...obtenemos secuencias con periodo 2n
No hay repetición de la semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
...obtenemos secuencias con periodo 2n
No hay repetición de la semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
...obtenemos secuencias con periodo 2n
No hay repetición de la semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
...obtenemos secuencias con periodo 2n
No hay repetición de la semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
...obtenemos secuencias con periodo 2n
No hay repetición de la semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
...obtenemos secuencias con periodo 2n
No hay repetición de la semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
...obtenemos secuencias con periodo 2n
No hay repetición de la semilla
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
000...0
001...1
011...1
101...1
111...1
...obtenemos secuencias con periodo 2n
Repetición de la semilla después de 2n vectores
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Solución al problema 3: Evaluación exhaustiva de las agrupaciones
11.......1100..0011..11 00..00
Amax
2 maxAmax log (L 1)
Semilla:
Lmax = longitud máxima de las secuencias
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Problemas en la fase 1 del LUCSAM
Es posible que no se cumplan las especificaciones en cuanto a N y M para algunos circuitos.
La fase 1 penaliza en estos dos parámetros cuando existen fallos de difícil detección.
Esta fase introduce gran cantidad de vectores dummy (aumenta el valor de N).
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Fase 2 del LUCSAM
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Generar caminos a partir de la LEVT
LEVT obtenida también a partir del Simulador de fallos.
Un cubo es un vector de test con bits “no importa” denotados por la letra Z.
La lista contiene tantos cubos como fallos queremos detectar (eliminando cubos repetidos).
Se han de asignar valores binarios a los bits “no importa”.
Cubo 1Cubo 2Cubo 3
Cubo w
LEVT con cubos
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Asignación de valores a las Z’s
LEVT con cubos
Cubo 1Cubo 2Cubo 3
Cubo w
Método aleatorio: valores binarios aleatorios para cada Z.
Método adaptativo: se asignan valores binarios a las Z de cada columna en función del valor binario más repetido en la columna de la LEVT.
Resultados pobres
Utilizado en este proyecto
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Método adaptativo de asignación
LEVT con cubos
Cubo 1Cubo 2Cubo 3
Cubo w
LEVT con vectores
Vector 1Vector 2Vector 3
Vector v
001 10Z
ZZ1 010
1ZZ Z0Z
001 Z0Z
001 100
001 010
101 000
001 000
000100máscara de asignación
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Búsqueda de caminos entre los vectores de la LEVT
LEVT con vectores
Vector 1Vector 2Vector 3
Vector v
Se buscan caminos de longitud máxima (con vectores únicamente de la LEVT).
Inicialmente no existirán vectores dummy en las secuencias.
El incremento será diferente a la semilla (tripletes SI para iniciar el AdTPG)
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Matriz de distancias y frecuencia
LEVT con vectores
Vector 1Vector 2Vector 3
Vector v
dist frecd1 3
d2 2
d3 1... ...dd 1
D V1 V2 V3 ... VvV1 0 d3 ... d2
V2 d9 0 d4 ...V3 d2 d5 0 ... d8
... ... ... ... ... ...Vv d7 d6 ... 0
d1
d1
d1
Frecuencia: número de apariciones de una distancia en la matriz D.
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
dist frecd1 3
d2 2
d3 1... ...dd 1
Matriz de adyacencias
caminos de longitud 1
1
1( )dA
D V1 V2 V3 ... VvV1 0 d3 ... d2
V2 d9 0 d4 ...V3 d2 d5 0 ... d8
... ... ... ... ... ...Vv d7 d6 ... 0
d1
d1
d1
1
1( )dA V1 V2 V3 ... Vv
V1 0 0 ... 0V2 0 0 0 ...V3 0 0 0 ... 0... ... ... ... ... ...
Vv 0 0 ... 0
11
1
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
dist frecd1 3
d2 2
d3 1... ...dd 1
Matriz de adyacencias
Para obtener los caminos de longitud
L buscamos las matrices:
1 1
1( ) ( )
L Ld dA A
caminos de longitud 1
1
1( )dA
1
1( )dA V1 V2 V3 ... Vv
V1 0 0 ... 0V2 0 0 0 ...V3 0 0 0 ... 0... ... ... ... ... ...
Vv 0 0 ... 0
11
1
V1 V2 V3 ... Vv
V1 0 0 ... 0V2 0 0 0 ... 0V3 0 0 0 ... 0... ... ... ... ... ...
Vv 0 0 0 ... 0
1
3( )dA
1
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
dist frecd1 3
d2 2
d3 1... ...dd 1
Matriz de adyacencias
Para obtener los caminos de longitud
L buscamos las matrices:
1 1
1( ) ( )
L Ld dA A
V1 V2 V3 ... Vv
V1 0 0 ... 0V2 0 0 0 ... 0V3 0 0 0 ... 0... ... ... ... ... ...
Vv 0 0 0 ... 0
1
3( )dA
1
Para cada distancia buscaremos los
caminos de longitud máxima
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
dist frecd1 3
d2 2
d3 1... ...dd 1
Conjunto de caminos SI
Caminos SI encontrados:
(S1, I1, L1)
(S2, I2, L2)
...
(Sc, Ic, Lc)
Para cada distancia buscaremos los
caminos de longitud máxima
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Selección de los mejores caminos SI
LEVT con cubos
Cubo 1Cubo 2Cubo 3
Cubo w
Cubo 4Cubo 5Cubo 6Cubo 7Cubo 8
Caminos SI encontrados:
(S1, I1, L1)
(S2, I2, L2)
...
(Sc, Ic, Lc)
Utilizamos la LEVT para
escoger los kSI caminos de
mejor cobertura
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Evaluamos la cobertura de cubos obtenida para cada camino SI
LEVT con cubos
Cubo 1Cubo 2Cubo 3
Cubo w
Cubo 4Cubo 5Cubo 6Cubo 7Cubo 8
Caminos SI encontrados:
(S1, I1, L1)
(S2, I2, L2)
...
(Sc, Ic, Lc)
4
Cobertura
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Evaluamos la cobertura de cubos obtenida para cada camino SI
LEVT con cubos
Cubo 1Cubo 2Cubo 3
Cubo w
Cubo 4Cubo 5Cubo 6Cubo 7Cubo 8
Caminos SI encontrados:
(S1, I1, L1)
(S2, I2, L2)
...
(Sc, Ic, Lc)
Cobertura
4
5
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Evaluamos la cobertura de cubos obtenida para cada camino SI
LEVT con cubos
Cubo 1Cubo 2Cubo 3
Cubo w
Cubo 4Cubo 5Cubo 6Cubo 7Cubo 8
Caminos SI encontrados:
(S1, I1, L1)
(S2, I2, L2)
...
(Sc, Ic, Lc)
4
5
2
...
Cobertura
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Alargamos los caminos obtenidos intentando mejorar la cobertura de cubos
Li
S i
+Ii Forward ExtraScan
Backward ExtraScan
(Si, Ii, Li) 1 i c
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Alargamos los caminos obtenidos intentando mejorar la cobertura de cubos
Li
+Ii Forward ExtraScan
S i
Backward ExtraScan
(Si, Ii, Li) 1 i c
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Alargamos los caminos obtenidos intentando mejorar la cobertura de cubos
(Si, Ii, Li) 1 i c
Finalmente nos quedamos con los kSI caminos con mejor cobertura
(Si, Ii, Li) 1 i SIk
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Fase 1- Generación no-determinística de
vectores a partir de la LCVT.
- Obtención de kSS tripletes SS.
- Mínima ocupación de memoria.
- Es posible llegar a la cobertura total de fallos incrementando N.
- Penaliza en N cuando existen fallos difíciles en el circuito.
Comparación fase 1 vs fase 2
Fase 2- Generación determinística de
vectores a partir de la LEVT.
- Obtención de kSI tripletes SI.
- Mayor ocupación de memoria.
- Difícil llegar a la cobertura total de fallos con los tripletes SI.
- Permite la detección de fallos difíciles sin penalizar en N.
fase 2 complementa a la fase 1
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Metodología final LUCSAM
1. Obtener la LCVT a partir del Simulador de fallos.
2. Aplicar la fase 1 del LUCSAM. Si conseguimos llegar a la cobertura deseada (FC) sin superar unos límites para N y M finaliza el algoritmo LUCSAM.
3. En el caso que no se consiga el punto anterior fijamos una cobertura mínima FDmin para los caminos SS encontrados.
4. Encontramos la LEVT para los fallos no cubiertos por los caminos que cumplían la restricción anterior.
5. Aplicar la fase 2 del LUCSAM.
6. Obtener los k caminos a almacenar en memoria.
1 2 1 2
2 1
, , ..., , , , ..., SI SSk k SS SI
fase fase
SI SI SI SS SS SS k k k
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Resultados obtenidos
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Circuitos ISCAS-85
c432 Controlador de interrupciones 36 7 153 392c499 Circuito corrector de 32 bits 41 32 170 486c880 ALU de 8 bits 60 26 357 886c1355 Circuito corrector de 32 bits 41 32 514 1174c1908 Circuito corrector de 16 bits 33 25 855 1826c2670 ALU de 12 bits 233 140 1129 3004c3540 ALU de 8 bits 50 22 1647 3438c5315 ALU de 9 bits 178 123 2184 4970c6288 Multiplicador 16x16 32 32 2384 4896c7552 Sumador/Comparador de 34 bits 207 108 3405 7440
FunciónPosibles fallos
stuck-atEntradas Salidas
Nodos internos
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Fase 1
Vectores en la LCVT
FCLCVT FCLCVT(%) kSS N M FCfase 1 FCfase 1(%)
c432 392 42 389 99.23% 1 119 2 389 99.23%c499 486 54 486 100.00% 1 470 2 486 100.00%c880 886 24 886 100.00% 2 966 3 886 100.00%c1355 1174 89 1173 99.91% 1 1500 2 1174 100.00%c1908 1826 72 1823 99.84% 1 2497 2 1824 99.89%c2670 3004 50 2933 97.64% 42 2125 43 2933 97.64%c3540 3438 94 3336 97.03% 1 2417 2 3336 97.03%c5315 4970 63 4967 99.94% 1 4102 2 4967 99.94%c6288 4896 46 4879 99.65% 1 54 2 4879 99.65%c7552 7440 77 7350 98.79% 45 4331 46 7353 98.83%
LCVT LUCSAM fase 1
Fallos stuck-at
ISCAS-85
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
M & N vs Lmax (fase 1 del c2670)
30
35
40
45
50
0 2000 4000 6000 8000 10000Lmax
M
0
10000
20000
30000
40000
50000
60000
70000
0 2000 4000 6000 8000 10000Lmax
NFC=97.64%
FC=97.64%
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
60%
65%
70%
75%
80%
85%
90%
95%
100%
0 200 400 600 800 1000 1200 1400 1600 1800 2000 2200N
FC
FC vs N (c2670)
fase 1
2125
Lmax=1000
42 tripletes SS
FC=97,64%
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
60%
65%
70%
75%
80%
85%
90%
95%
100%
0 200 400 600 800 1000 1200 1400 1600 1800 2000 2200N
FC
FC vs N (c2670)
fase 1+ fase 2
fase 1
666 2125
Lmax=1000
42 tripletes SS
FC=97,64%
Lmax=1000
30 tripletes SS
5 tripletes SI
FC=97,64%
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
80%
85%
90%
95%
100%
0 400 800 1200 1600 2000 2400 2800 3200 3600 4000 4400N
FC
FC vs N (c7552)
fase 1
4331
Lmax=1000
45 tripletes SS
FC=98,83%
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
80%
85%
90%
95%
100%
0 400 800 1200 1600 2000 2400 2800 3200 3600 4000 4400N
FC
FC vs N (c7552)
fase 1+ fase 2
1347
Lmax=1000
30 tripletes SS
2 tripletes SI
FC=98,79%
Lmax=1000
45 tripletes SS
FC=98,83%
4331
fase 1
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
70%
75%
80%
85%
90%
95%
100%
0 5 10 15 20 25 30 35 40 45Amax
FC
Efecto de las agrupaciones (fase 1 del c1355)
Lmax=1100n=41
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
70%
75%
80%
85%
90%
95%
100%
0 5 10 15 20 25 30 35 40 45Amax
FC
FCCM
Efecto de las agrupaciones (fase 1 del c1355)
Lmax=1100n=41
2Amax log 1101
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Comparación del LUCSAM con otros TPG
AdTPG - GATSBY
(S.Chiusano, P.Prinetto and H.J.Wunderlinch)
LFSR
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
GATSBY vs LUCSAM
0
500
1000
1500
2000
2500
3000
3500
4000
4500
c432 c499 c880 c1355 c1908 c2670 c3540 c5315 c6288 c7552
Nú
me
ro d
e v
ec
tore
s g
en
era
do
s (
N)
GATSBY LUCSAM
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
GATSBY vs LUCSAM
0
20
40
60
80
100
120
140
c432 c499 c880 c1355 c1908 c2670 c3540 c5315 c6288 c7552
Nú
me
ro d
e p
ala
bra
s e
n m
em
ori
a (
M)
GATSBY LUCSAM
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
GATSBY vs LUCSAM
95%
96%
97%
98%
99%
100%
c432 c499 c880 c1355 c1908 c2670 c3540 c5315 c6288 c7552
FC
(%
)
GATSBY LUCSAM
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
LFSR vs LUCSAM (fase 1) para el c1908
70%
75%
80%
85%
90%
95%
100%
0 250 500 750 1000 1250 1500 1750 2000 2250 2500
N
FC
LFSR LUCSAM
-8%
-6%
-4%
-2%
0%
2%
4%
0 250 500 750 1000 1250 1500 1750 2000 2250 2500
N
FC
dif
FCdif(%) = FCLUCSAM(%) - FCLFSR(%)
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Conclusiones del proyecto
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Conclusiones del proyecto
Hemos obtenido un método para seleccionar tripletes para un AdTPG de forma eficiente.
Se han solucionado los problemas clásicos de los AdTPG.
Se reducen los parámetros N y M sin penalizar en cobertura de fallos.
Tiempos de simulación necesarios para obtener los tripletes menores respecto a métodos alternativos AdTPG.
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Líneas futuras
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
Líneas futuras
Alternativa al método adaptativo: método algebraico. En este caso durante la asignación de las Z’s se intenta favorecer la distancia más repetida en la matriz de distancias.
Estudio del LUCSAM a nivel de potencia consumida durante la excitación del CUT con los vectores generados.
Aplicación del LUCSAM a otros modelos de fallos diferentes al stuck-at, como por ejemplo al modelo de fallos de retardo.
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s
PFC de Lucas García DeirosDirector del proyecto: Salvador Manich Bou
2003
Departament d’Enginyeria Electrònicasecció Campus Sud (ETSEIB)
LUCSAM: Generador de patrones de test basado en suma aritmética para SOC’s