Probando la integridad de la SRAM

1

Estoy probando una placa que tiene SRAM externa. Al parecer, la SRAM es relativamente sensible al calor de soldadura del proceso de fabricación, por lo que se deben realizar pruebas cuidadosas para verificar la integridad de la SRAM para las placas de fabricación reciente.

¿Cuál es la mejor manera (simple) de probar la SRAM? Tengo un controlador que inicializa la SRAM para el acceso de lectura / escritura. Mi primer pensamiento es ejecutar pruebas como:

1) Establezca todos los bits en SRAM en 1, y verifique que la SRAM se haya escrito correctamente. 2) Escriba los dígitos de Pi en SRAM y verifique que la escritura se haya realizado correctamente.

¿Hay otros tipos de pruebas que debería considerar?

    
pregunta Randomblue

1 respuesta

4

He escrito algunas pruebas de RAM antes de que hayan provocado algunos errores. Esto es lo que hice:

Integridad del bus de datos: ¿están conectadas todas las líneas de datos? Primero, escriba todos los 0 en una dirección y léalos de nuevo, asegúrese de que sean todos los 0. En segundo lugar, escriba todos los 1 en una ubicación de memoria, léalos y asegúrese de que todos los 1. Esto te dirá rápidamente si una de tus líneas simplemente no está conectada. Pero esa no es toda la historia. Podría ser que varias líneas estén unidas entre sí o con VCC o tierra. Por eso también haces la próxima prueba.

Prueba de Walking 1's / walking 0's - La idea es ejercitar cada bit en su línea de datos y solo ese bit. Entonces, si tiene un bus de datos de 8 bits de ancho, comience por escribir 00000001 en una dirección de memoria, luego al leerlo y verificar que obtiene el mismo valor, luego 00000010, luego 00000100 y así sucesivamente, escribiendo un 1 en cada línea individualmente. hasta que hayas probado cada linea. Luego, realiza una prueba de 0: primero escribe 11111110 y confirma, luego 11111101 y confirma, etc.

Esta prueba se puede realizar solo una vez; no es necesario que la repita para cada dirección de memoria que tenga; solo garantiza que el bus de datos esté correctamente conectado.

Integridad de la línea de dirección: para probar el bus de direcciones, debe escribir un valor único en cada dirección de memoria a la que pueda acceder, luego regresar y verificar que los datos en cada dirección sean correctos. Si sus líneas de dirección no son correctas, verá datos incorrectos recuperados de la memoria. Por ejemplo, digamos que tengo 8 líneas de direccionamiento de memoria y la primera está cortocircuitada a VCC. Si intento escribir en la ubicación 00000000, en realidad se escribirá en 00000001 debido al corto. Luego intentaré escribir en 0x01 a 00000001 y funcionará. Sin embargo, cuando llegue el momento de verificar los datos en cada dirección, si intento acceder a la ubicación 00000000, en realidad accederé a la ubicación 00000001 debido al corto, recuperar un valor de 0x01 en lugar de 0x00 e inmediatamente detectar el error.

Es una exageración, pero ha detectado algunos errores insidiosos que nos habrían hecho tropezar en gran medida.

Lo que NO harán las pruebas anteriores es decirle si alguna de las líneas de su dirección indica que las pruebas NO lo harán, si le dirá si

    
respondido por el AngryEE

Lea otras preguntas en las etiquetas