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).