Exploración de límites: interfaces de alta velocidad

4

Me dieron la tarea de evaluar los sistemas existentes de escaneo de límites. En este momento, estamos utilizando una solución simple que nos permite definir vectores de exploración de límites que podemos verificar. Esto está bien para pruebas simples y está perfectamente integrado en nuestra cadena ICT / Flying Probe / AOI. Para un nuevo proyecto se requieren pruebas de varias interfaces de alta velocidad. Hemos estado hablando con Goepel sobre nuestros requisitos, pero no estoy completamente satisfecho con las respuestas de sus vendedores. Simplemente no confío en ellos (creo que esto es más de mi ser que de no creer a los vendedores reales). Al hablar de microcontroladores más avanzados (Cortex-A8 / A9 core, ...) dijeron que era solo una cuestión de comprar el modelo apropiado para el controlador y un modelo apropiado para el DDR-RAM y que sería capaz de crear los cheques. automáticamente. Creo que esto es cierto para las interfaces que no tienen los requisitos de tiempo y pueden considerarse estáticas (SRAM, varios circuitos integrados lógicos, ...). Pregunté por la funcionalidad de DDR-RAM (en realidad será DDR2 o DDR3) y me dijeron que debería funcionar, pero en el otro lado, demostró una SRAM "simple".

Ahora, para mi pregunta: ¿alguno de ustedes ha tenido una experiencia con estos circuitos de alta velocidad junto con la exploración de límites? Solo quiero evitar decirle a nuestro cliente "Sí, podemos hacer esto" cuando todo está mal. Además: al usar JTAG, definitivamente no podemos cumplir con los requisitos de tiempo de DDR2 / DDR3, esto solo ya me parece un problema. ¿Cómo hace la prueba de tales interfaces de alta velocidad (GBit Eth, varios SERDES, DDR)? Hemos estado pensando en pruebas funcionales, ¿sería este el camino a seguir?

EDITAR: Información adicional debido a la respuesta de Dave Tweed:

De hecho, estoy apuntando a fallas de fabricación. De ninguna manera espero que los componentes funcionen fuera de las especificaciones o difieran entre las ejecuciones de producción, esto está fuera del alcance. Además, el tiempo no me importa. Básicamente, me gustaría descartar cualquier cortocircuito o desconexión que pueda ocurrir durante la producción (esto es especialmente difícil con los BGA que no se pueden verificar con AOI).

Para que DDR-RAM funcione como se espera, debo mantenerme dentro de las restricciones de tiempo. Debido a la velocidad de la interfaz JTAG (y su naturaleza), simplemente no es posible mantenerse dentro del tiempo especificado. La pregunta principal es ahora: ¿hay algo que pueda haber omitido u olvidado, lo que hace que las pruebas (por ejemplo, DDR-RAM) sean muy fáciles o esto es algo que solo se puede hacer al realizar una prueba funcional en una etapa posterior?

Daré un ejemplo: tengo un controlador que admite el escaneo de límites en sus líneas DDR. PERO la memoria en sí NO lo hace. Por lo tanto, tengo las siguientes opciones: 1) Hacer una prueba funcional (a la memtest en Linux); 2) Cree un "tipo de" secuencia de acceso a la memoria a través de la Exploración de límites (que estará fuera de las especificaciones) para probar el acceso a la memoria (direcciones y líneas de datos, escriba algunos datos en la RAM, vuelva a leer).

    
pregunta Tom L.

4 respuestas

5

Debe distinguir los tipos de fallas que busca y seleccionar las pruebas adecuadas para esas fallas. En particular, hay fallas de diseño y fallas de fabricación.

Las fallas en el diseño incluirían cosas como no cumplir con los criterios, como la sincronización, el voltaje y los niveles de corriente. Estas cosas se verifican en el laboratorio de diseño, antes de que un producto entre en producción. Las pruebas de verificación de diseño deben incluir márgenes adecuados para las tolerancias inevitables que se encuentran en los componentes que está utilizando y en sus procesos de fabricación.

Por otro lado, las fallas de fabricación incluyen errores en la fabricación y el ensamblaje de PCB, incluidas juntas de soldadura defectuosas, componentes faltantes o incorrectos, etc.

En general, si un producto está diseñado correctamente y se fabrica correctamente, funcionará. Como el diseño no cambia de una unidad a otra, generalmente solo necesita detectar fallas de fabricación en la línea de producción.

La exploración de límites está específicamente dirigida a detectar fallas en la fabricación, y para esto, las pruebas estáticas o de baja velocidad generalmente están bien. Parece que está intentando usar el escaneo de límites para verificar los parámetros de diseño (tiempo), y realmente no está diseñado para admitir esto.

Si realmente necesita este tipo de pruebas en un entorno de producción, es casi seguro que tendrá que diseñar una prueba personalizada que sea específica para el producto.

Si le preocupa si los componentes que está comprando cumplen con sus especificaciones, casi siempre es mejor probarlos por separado, antes de ensamblarlos en su producto.

Para el problema específico de las pruebas, por ejemplo, SDRAM DDR, que tiene algunas restricciones de tiempo muy estrictas (tanto mínimas como máximas) para funcionar, pero no tiene una exploración de límites propia, entonces una prueba funcional personalizada es bastante mucho la única opción.

Hay varias maneras de llegar allí. Puede usar las funciones de depuración JTAG de su CPU para cargar y ejecutar un pequeño programa de prueba (o incluso más de uno) durante la exploración de límites. De hecho, esto puede ser lo que ofrece su proveedor, pero tendrá que profundizar más para estar seguro. La otra alternativa es integrar dichas pruebas de memoria con el resto de las pruebas funcionales del sistema, en lugar de realizarlas durante la exploración de límites. Esta es probablemente la opción más común.

    
respondido por el Dave Tweed
1

Dave, Tom

Trabajo para una empresa de escaneo de límites en el Reino Unido y debo decir que todavía hay cierta confusión con respecto a la distinción entre el escaneo de límites IEEE 1149.1 y 'JTAG'. JTAG (Joint Test Action Group) fue el comité que formuló el estándar de escaneo de límites que se ratificó en 1990 como IEEE 1149.1 PERO el término JTAG también significa que significa otras cosas.

La prueba de exploración de límites implica que está utilizando el registro de exploración de límites IEEE 1149.1 definido (un registro de desplazamiento que se encuentra entre la lógica central de un IC y sus pines de señal (digital)) para controlar los pines a una velocidad determinada por la longitud de ese registro y la frecuencia del reloj que se utiliza para cambiar los datos. Esto proporciona una velocidad de datos de patrón / vector aproximada de la frecuencia de cambio / longitud / reloj. Por lo tanto, para un FPGA pequeño con 1000 bits en el BSR sincronizado a 10 MHz, la velocidad del vector sería de aproximadamente 10 KHz, siempre que pueda ser sostenida por el controlador de escaneo de límites que debe contar con "memoria detrás del pin".

Utilizar esta técnica para probar completamente cada ubicación de una RAM DRAM, SDRAM o DDR sería una locura ya que los tiempos de escritura serían prohibitivamente largos. PERO, si puede lograr una escritura en la memoria (esto a veces involucra trabajar con las especificaciones de tiempo del dispositivo) y leer, entonces es posible usar un conjunto de vectores de prueba compacto para detectar fallas de cortocircuito y de circuito abierto en las conexiones al memoria. tales conjuntos de vectores incluyen 'patrones de caminata' y 'conteos binarios'. Las herramientas avanzadas de desarrollo de exploración de límites, como JTAG ProVision que proporciona nuestra empresa, importarán los modelos BSDL para sus piezas IEEE Std 1149.1 junto con datos de conexión esquemáticos (una lista de redes) y modelos de prueba personalizados para la memoria DRAM, SDRAM DDR que proporcionamos y que proporcionan al sistema los datos del vector de prueba. ProVision generará automáticamente una prueba para las interconexiones de memoria. Es interesante que nuestras pruebas y equipos de prueba a menudo se combinan con probadores estructurales (tipos en circuito) y probadores funcionales.

Con respecto a otros usos para JTAG, muchas personas estarán familiarizadas con su uso como un puerto de configuración (para CPLD y FPGA) y también como un puerto de emulación / depuración para microprocesadores / controladores. Es el último uso al que creo que también estás evitando las posibilidades de prueba. De hecho, en JTAG Technologies hemos creado una gama de herramientas que permiten al usuario ingresar al modo de depuración del procesador y controlar los periféricos integrados (controladores de memoria y similares) para activar, entre otras cosas, las pruebas de memoria sin tener que recurrir al límite. escanear registro. Esto puede ser más útil si el dispositivo no está ya equipado con un BSR (a veces en el caso de micros de núcleo ARM de bajo costo) o si el BSR que está instalado en el chip es deficiente de alguna manera (es decir, no todos los pines críticos tienen una controlando bit de registro detrás de ellos). Las herramientas principales de control a las que me refiero aquí son llamado JTAGLive CoreCommander.

Si está abierto a evaluar también las herramientas de JTAG Technologies, no dude en ponerse en contacto conmigo y puedo organizar esto.

    
respondido por el James Stanbridge
1

Como mencionó James, el escaneo de límites se puede utilizar para realizar pruebas de apertura y cortocircuito en la memoria, incluso si la memoria en sí no es compatible con IEEE-1149.1. El componente bajo el control de exploración de límites actúa como un controlador de memoria y utiliza el comportamiento funcional de la memoria para escribir y leer patrones de prueba para detección de cortocircuitos y cortocircuitos.

La mayoría de los componentes DDR / DDR2 / DDR3 todavía funcionarán "lo suficientemente bien" para las pruebas estructurales siempre y cuando el PLL / DLL esté deshabilitado. Por supuesto, una vez que se sale de las especificaciones de tiempo de memoria publicadas, no puede estar seguro de que las piezas de diferentes proveedores se comportarán de la misma manera o, para ser franco, asegúrese de que funcionarán. La buena noticia es que la mayoría de los recuerdos que vemos (también trabajo en una empresa de análisis de límites) funcionarán con un poco de ajuste de prueba (consulte las notas adicionales a continuación).

Vea el punto "¿Puedo ejecutar la memoria DDR3 de Micron a velocidades de reloj inferiores a 300 MHz?" de las Preguntas frecuentes sobre DDR3 de Micron en enlace . Su velocidad de reloj efectiva debe ser lo suficientemente alta para cumplir con los requisitos de tREFI, que a 64 ms no suele ser un problema. En mi experiencia, es raro ver un diseño de placa con una cadena de exploración de límites que no pueda optimizarse para cumplir con este requisito.

Editar para aclarar:

No quiero dar la impresión de que toda la memoria DDR / DDR2 / DDR3 funcionará en las pruebas de escaneo de límites de velocidad de reloj baja. Como señala James, las nuevas SDRAM de Hynix generalmente no responden a velocidades de reloj bajas, incluso con la DLL deshabilitada. En caso de duda, pregunte a su proveedor de herramientas de exploración de límites si tienen un modelo de memoria para su parte que se haya demostrado que funciona. También señalaré que a veces puede encontrar otros problemas imprevistos con el dispositivo de control; quizás el registro de exploración de límites no incluya la señal del reloj de memoria o el registro de exploración de límites del bus de datos no incluya las capacidades de entrada.

Cuando no se puede utilizar el escaneo de límites para las pruebas estructurales de la interfaz de memoria, muchos ingenieros optarán por esperar hasta la prueba funcional para verificar las interconexiones de control / dirección / línea de datos. Las herramientas de prueba de emulación / depuración de la CPU también son una buena manera de mover las pruebas funcionales centradas en la memoria en una etapa más temprana del proceso de prueba, generalmente inmediatamente después del escaneo de límites.

    
respondido por el Bob Deibner
0

Tom et al

Una pequeña corrección al mensaje de Bob es que la DLL (Delay Lock Loop) dentro de la DDR es la que a menudo se requiere que esté deshabilitada. Como Bob indicó, las partes de Micron parecen responder bien a las pruebas a través del registro / interfaz de escaneo de límites, que suele ser un poco más lento que usar los comandos de depuración de Core a través de JTAG. Sin embargo, otros (por ejemplo, Hynix) no responden tan bien a las pruebas a través de la exploración de límites y son más adecuados para las pruebas a través del núcleo del procesador u otros relacionados con JTAG.

No dude en ponerse en contacto con la oficina de JTAG Technologies en Maryland (supongo que está en los EE. UU.) si desea presentar nuestras herramientas junto a Bobs: la competencia es lo que nos mantiene en pie, ¿no?

    
respondido por el James Stanbridge

Lea otras preguntas en las etiquetas