¿El orden de los pines es importante para esta RAM?

11

Estoy tratando de enrutar un chip pic32 a una SRAM de 128kBchip y teniendo dificultades para obtener las 17 líneas de dirección y las 8 líneas de datos conectadas. Estoy tratando de vincular los primeros 16 pines de dirección a los pines del puerto B 0-15 y los pines de datos al puerto D 0-7. Después de pensarlo por un tiempo, me di cuenta de que probablemente estoy haciendo mi vida más difícil al tratar de alinear rb0 con a0, rb1 con a1, etc. Todo lo que realmente quiero hacer es escribir un valor de 16 bits en portB y tener la mayoría de la dirección cargada y lista. Si hago asignaciones de pines en función de la facilidad de enrutamiento, la dirección lógica será diferente entre el mcu y el ram, pero al menos debería ser coherente. Como nada más necesita comunicarse con la RAM, no creo que sea un problema si el mcu solicita la dirección 0x101 y la RAM le da la dirección 0x110.

Sin embargo, me pregunto si es una buena idea. Si hay alguna estructura interna en la RAM diseñada para hacer que las lecturas secuenciales sean más eficientes, o algo así, entonces tal vez quiera tomar la molestia de enrutarlas 1: 1. La disposición de los pines en ambas fichas es algo aleatoria para mí, por lo que me sería mucho más fácil si pudiera ignorar los números particulares. ¿Hay alguna buena razón por la que debería o no debería hacer eso?

captncraig
fuente

Respuestas:

12

En este caso , parece totalmente aceptable intercambiar bits de datos e intercambiar bits de dirección. Este no es el caso universalmente, como aludiste en tu pregunta.

En este caso, el dispositivo es una RAM estática: un rápido vistazo a la hoja de datos AS6C1008 no indicaba ninguna capacidad de hacer accesos rápidos de ningún tipo ni dependencias de tiempo relacionadas con la dirección.


General:

Algunas memorias dinámicas permiten la explosión de datos al enganchar una porción alta de la dirección y luego secuenciar bits de dirección baja. Esto puede corresponder a la estructura lógica publicada de filas y columnas o a algún mecanismo interno arcano que obviamente no es aparente externamente. En tales casos, debe atenerse a lo que dice la hoja de datos para evitar fallas de almacenamiento.

Algunos recuerdos dinámicos tempranos se basaron en la secuencia de direcciones y el tiempo de acceso para lograr la actualización de la celda de memoria. Es poco probable que encuentres muchos de estos hoy en día.

Algunas memorias (flash, eerom, alguna otra) tienen vidas que dependen del número de accesos, que pueden ser por acceso (lectura o escritura) o más generalmente solo por escritura, y pueden ser por ubicación de memoria o por algún subconjunto de celdas de memoria . En el último caso, si codifica las líneas de dirección, puede interferir con los algoritmos de nivelación de desgaste. Esto solo va a ser un problema potencial con dispositivos bastante especializados y es probable que las hojas de datos sean razonablemente claras sobre los requisitos

Russell McMahon
fuente
+1 para el calificador "En este caso" y explicación de cuándo podría no ser el caso.
SplinterReality
5

No, el orden no importa. Las líneas de dirección pueden estar en cualquier orden, al igual que las líneas de datos.

mikeselectricstuff
fuente