Diseño de CIs I Máquina de test Generación de vectores de test para cada fallo Definición del modelo de fallos (Lista de fallos) Simulación de fallos(*) Reducción de la lista de fallos ("Fault collapsing") Evaluación de la cobertura de fallos Suficiente Insuficiente (*) La simulación se realiza para obtener un conjunto mínimo de vectores de test Generación de vectores de test : El método teórico
Diseño de CIs I Simuladores de fallos Circuito Modelo de fallos (lista de fallos) Conjunto de vectores de test Cobertura de fallos Lista de fallos no detectados Restricciones del ATE
Diseño de CIs I Generación de vectores de test : El método práctico Máquina de test Vectores de simulación Definición del modelo de fallos (Lista de fallos) Simulación de fallos Generación de vectores de test específicos para cada fallo Reducción de la lista de fallos (no siempre) Evaluación de la cobertura de fallos Suficiente Insuficiente
Diseño de CIs I DISEÑO PARA LA TESTABILIDAD Problemas sin resolver: 1.Circuitos poco testables ( requieren demasiados vectores de test o incluyen demasiados fallos no detectable). 2.Lógica secuencial 3.Test a lo largo de toda la vida activa del circuito
Diseño de CIs I MEDIDAS DE TESTABILIDAD 1.Observabilidad: Observabilidad de un nodo: Facilidad con que el valor lógico del nodo puede ser “observado” por una salida 2.Controlabilidad: Controlabilidad de un nodo: Facilidad con que se puede forzar un valor lógico sobre el nodo 3.Testabilidad Testabilidad del circuito: Grado de controlabilidad y observabilidad de todos sus nodos El objetivo del DPT es conseguir que la testabilidad del circuito sea lo más alta posible
Diseño de CIs I DISEÑO PARA LA TESTABILIDAD Alternativas de solución: 1.Circuitos poco testables ( requieren demasiados vectores de test o incluyen demasiados fallos no detectable). “Reglas de diseño para la testabilidad” 2.Lógica secuencial Técnicas de scan-path o similares 3.Test a lo largo de la vida activa del circuito BIST: Built-In Self-Test
Diseño de CIs I Reglas de diseño para la testabilidad Regla 1: Facilitar el acceso y la observación de nodos internos Regla 2: Asegurar la inicialización de los biestables (reset) Regla 3: Evitar la lógica redundante Regla 4: Evitar la generación interna de señales de reloj. No incluir circuitería asíncrona. Regla 5: Partición del circuito Regla 6: Documentar el diseño … ect
Diseño de CIs I Soluciones “históricas”.... A B C D E F G out TÉCNICAS ESTRUCTURADAS
Diseño de CIs I out A B C D E F G Salida_nodoTest/no-testEntrada_nodo A B C D E F G Salida_nodo Si tenemos 40 nodos conflictivos necesitaremos 40*2+1=81 pines extras !!!!
Diseño de CIs I A B C D E F G out Test/no-test Scan_inScan_out load
Diseño de CIs I El scan-path sigue las ideas anteriores pero aprovecha los propios flip-flops del circuito: Scan-path DQ DQ DQ Lógica combinacional..... Entradas externas Salidas externas System CK
Diseño de CIs I Scan-path DQDQDQ Lógica combinacional Scan Select (SS)Scan Data In (SDI) Scan Data Out (SDO)..... Entradas externas Salidas externas System CK
Diseño de CIs I Scan-path
Diseño de CIs I PROBLEMA circuito combinacional x1x1 Y1Y1 Y2Y2 Y3Y3 y1y1 y2y2 y3y3 Z1Z1 SDI SDO CK SS Scan-ff D Q Q D0 D1 S0 Scan-ff system input scan input Scan Select (SS) CK
Diseño de CIs I PROBLEMA
Diseño de CIs I PROBLEMA circuito combinacional x1x1 Y1Y1 Y2Y2 Y3Y3 y1y1 y2y2 y3y3 Z1Z1 SDI SDO CK SS Scan-ff Para introducir los valores de y1, y2 e y3 a los elementos de memoria procederemos de la siguiente manera: 1. Configurar los elementos de memoria en forma de registro de desplazamiento poniendo el circuito en “modo test” (es decir, forzando SS=1) 2. Introducir los valores de y1, y2 e y3 por SDI en el orden correcto (primero y3, después y2 y finalmente y1) 3. Poner el circuito en modo sistema (SS=0) para que los valores de Y1, Y2, Y3 generados por la lógica combinacional lleguen a las entradas de los flip-flops. Estos valores necesitamos poder observarlos desde el exterior para que la máquina de test pueda compararlos con los valores correctos, por tanto,… 4. Volveremos a pone el circuito en modo test (SS=1) para poder ir “sacando” los valores de Y1, Y2, Y3 secuencialmente por SDO. El valor de Z1 es directamente observable desde el exterior en todo momento.
Diseño de CIs I PROBLEMA circuito combinacional x1x1 Y1Y1 Y2Y2 Y3Y3 y1y1 y2y2 y3y3 Z1Z1 SDI SD O CK SS Scan-ff
Diseño de CIs I SCAN-PATH Ventajas “Resuelto” el problema del test de partes secuenciales Permite la partición del circuito utilizando varios scan-paths Desventajas Test lento (2n+1 ciclos de test para cada fallo; n:nº ffs) Test del circuito “congelado” (=> test a baja frecuencia) Lógica (área) extra. Overheads de 5-15%. Pines extras (SS, SDI, SDO) Degradación de las prestaciones del circuito
Diseño de CIs I Concepto fundamental : COMPRESION del test Salidas Entradas Señales de control Analizador de signatura Circuito Generador de secuencias de test Comprobación externa de la signatura ASIC BIST (Built In Self Test) : Circuitos Autotestables
Diseño de CIs I Entradas externas Señales de control Analizador de signatura Circuito F Salidas externas (4) Generador de secuencias pseudo- aleatorias Comprobación externa de la signatura Analizador de paridad Genera una secuencia de n vectores de test ASIC Concepto fundamental : SIGNATURA
Diseño de CIs I Q1Q1 D B1B1 DDD Q3Q3 Q2Q2 Q4Q4 Z1Z1 Z4Z4 Z3Z3 Z2Z2 B2B2 Sout Registro BILBO
Diseño de CIs I BIST: Built-In Self Test Ventajas Test a lo largo de la vida activa del circuito. No necesitan ATEs (¿no?) Test a la velocidad real del circuito Desventajas Lógica (área) extra. Overheads de 10-30%. (pocos) Pines extras Degradación de las prestaciones del circuito
Diseño de CIs I ¿Qué técnica de DFT emplear en cada circuito? Las que puedas... En circuitos grandes se utilizan varias técnicas de DFT a la vez A recordar … El test de grandes circuitos digitales es complejo y requiere la introducción de lógica y pines extras para permitir el test Estos “overheads” cuestan dinero y degradan las prestaciones del circuito Pero si el circuito es grande... NO HAY MÁS REMEDIO que utilizar las técnicas de DFT