19 votos

SRAM no está en blanco en el momento del encendido, es esto normal?

Por fin había terminado mi Z80 tarjeta de memoria, pero me ha decepcionado al ver que no estaba funcionando correctamente (simple NOP prueba con las líneas de dirección conectado a algunos de los LEDs) como el contador rápidamente en espiral fuera de control en lugar de incrementar como debería. Sin embargo, yo no soy de los que dan y después de unos treinta minutos de pruebas de continuidad para develar la ausencia de cortocircuitos y todas las conexiones apropiadas, I por último pensamiento para comprobar si el SRAM chip fue encendido con todos los 0s almacenados. Soy muy consciente de que la SRAM (a menos que no volátil, que mi chip en particular no lo es) va a perder todo su contenido a perder el poder, pero yo siempre había asumido que sería llenado con 0 (es decir, "vacío") cuando se recuperó el poder. El SRAM estoy usando parece ser al azar lleno de 1 y 0 cada vez que la alimentación se restablece. Nunca se acuerda de datos, pero no es de carga vacío. Esto no es realmente un problema como puedo simplemente escribir un pequeño programa en ROM para cargar todos 0 en la memoria RAM en el momento del encendido, aunque todavía me gustaría saber si esto es como el SRAM debe estar funcionando o no. Gracias!

Edit: se me olvidó mencionar que después de usar la ROM de carga de 0 en SRAM el sistema funcionó muy bien, así que este era realmente el problema.

37voto

user64619 Puntos 11

A menos que usted tiene un estado inicial programada, será más o menos al azar. Aunque esto puede variar con diferentes SRAM implementaciones. También dicen que "en blanco". Algunos podrían pensar que el azar es la "supresión" de todos 0.

SRAM memoria almacena la memoria en la parte posterior de los inversores.

simple sram

De esta forma un bi-estable (sistema de dos estados estables con metaestabilidad la división). Así, tras el encendido de la parte posterior de los inversores son brevemente metaestable.

Esto sucede porque a medida que el voltaje aumenta (de ser activado), ambos NMOS y PMOS de la parte posterior de los inversores sería 'igual', sosteniendo ambos bitnodes en la mitad de la tensión de alimentación (este es el estado metaestable). Con el tiempo, algunas ruido térmico (o cualquier proceso que introduce variación) empuja o tira de este valor hacia arriba o hacia abajo un poco. En este punto, el bitnodes complemento a uno de sus biestable de los estados.

  • Como un ejemplo, considere la posibilidad de \$ Q=Q'=\frac{V_{supply}}{2} \$
  • Luego, algunos el ruido térmico en Q aumenta la tensión hasta \$ \frac{V_{supply}}{2} + \delta \$
  • Ahora, el NMOS de alimentación Q' se convirtió en sólo un poco más. Y el PMOS de alimentación Q' se apaga solo un poco más. Por lo Q' se tira hacia abajo de \$ \frac{V_{supply}}{2}\$\$ \frac{V_{supply}}{2} - \delta \$.
  • Siguiente, dado que el voltaje en la compuerta del FET de conducción Q nodo disminuye, el PMOS se convierte en un poco más (y NMOS apaga más). Esto hace Q aumente aún más a la oferta. Y este rápidamente se asiente Q' a 0 y Q a 1.

De hecho, hay incluso un papel de "Power-Up SRAM Estado como la Identificación de huellas Dactilares y la Fuente de la Verdadera Números Aleatorios"

Uno muy útil de la parcela que figura en el documento a continuación. La línea de puntos representa el voltaje de la fuente de la rampa:

metastability at powerup

  • En el lado izquierdo, todo es igual. En este caso, la variación aleatoria debido a la temperatura o a otro número de factores de golpes el bitnode en un estado o en otro.
  • En el lado derecho, hay una bitnode que es sesgada (intencionalmente o no) a ser mucho más propensos a inicializar en un estado en particular.

Dependiendo de cómo cada bitnode en el SRAM está utilizando actualmente fue fabricado, al final, más o menos, de una de las dos situaciones anteriores. En ambos casos, a menos que intencionalmente sesgada de la SRAM, los primeros resultados se vería más o menos al azar. En la parte izquierda de la situación, cada uno de los siguientes powerup generaría más patrones aleatorios. En la mano derecha de la situación, la puesta en marcha inicial sería aparentemente al azar. Pero más powerups haría que el SRAM que tienden a seguir ciertos estados.

5voto

Scottie Verde Puntos 31

Después de haber trabajado con SRAM durante muchos años, puedo decir que va a poder con aparentemente al azar contenido, aunque he visto los dispositivos que la potencia con casi el mismo azar que buscan contenido de cada momento. Si el poder fuera de ciclo corto suficiente (dependiendo de la fuente de alimentación características y el número y valor de los condensadores de bypass), grandes fragmentos de escritos previamente de datos puede permanecer en el SRAM a través de ciclos de potencia - aunque el contenido será dañado.

2voto

Uwe Puntos 43

Un solo bit se almacena en un SRAM en un circuito de 6 o más transistores. Si quieres un encendido definidos en el reset para el comportamiento de la SRAM, cada una memoria RAM de células necesitaría más de 6 transistores sólo. La necesaria área de chip será sustancialmente más grande y el SRAM de fichas será más caro. Este es un poder paralelo en el reset de todos los bits al mismo tiempo. Una serie de restablecimiento requeriría un oszilator, una dirección, un contador y el tiempo suficiente durante el encendido hasta que se restablece todas las RAM bits o bytes de forma secuencial. Si el procesador accede a la SRAM antes de la serie power on reset está terminado, pueden producirse errores y los datos pueden ser perdidos o cambiado.

Hay entornos de programación de microprocesadores con la información detallada de la asignación de memoria de varios RAM áreas. Usted puede definir un área con o sin power on reset, como requerido por la aplicación. Varias áreas diferentes dentro de la misma SRAM son posibles. No siempre es necesario para restablecer toda la SRAM en el programa de inicio.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X