A ordem dos pinos é importante para esta RAM?

11

Estou tentando encaminhar um chip pic32 para uma SRAM de 128kBum pouco de dificuldade para obter todas as 17 linhas de endereço e todas as 8 linhas de dados conectadas. Estou tentando amarrar os primeiros 16 pinos de endereço nos pinos da porta B 0-15 e os pinos de dados na porta D 0-7. Depois de pensar nisso por um tempo, percebi que provavelmente estou dificultando minha vida tentando alinhar rb0 com a0, rb1 com a1, etc. Tudo o que realmente quero é escrever um valor de 16 bits na portaB e tenha a maioria do endereço carregado e pronto. Se eu fizer atribuições de pinos com base na facilidade de roteamento, o endereço lógico será diferente entre o mcu e o ram, mas deve ser pelo menos consistente. Como nada mais precisa se comunicar com a RAM, acho que não será um problema se o mcu solicitar o endereço 0x101 e a RAM fornecer o endereço 0x110.

No entanto, gostaria de saber se é uma boa ideia. Se houver alguma estrutura interna na RAM projetada para tornar as leituras seqüenciais mais eficientes, ou algo assim, talvez eu queira ter o trabalho de rotear 1: 1. O arranjo de pinos nas taxas de ambas as fichas é um tanto aleatório para mim, então seria muito mais fácil para mim se eu pudesse ignorar os números específicos. Existe alguma boa razão para eu fazer ou não fazer isso?

captncraig
fonte

Respostas:

12

Nesse caso , parece totalmente aceitável trocar bits de dados e trocar bits de endereço. Não é esse o caso universal, como você alude na sua pergunta.

Nesse caso, o dispositivo é uma RAM estática - uma rápida varredura na folha de dados do AS6C1008 não indicava a capacidade de executar aceses rápidos de qualquer tipo ou qualquer dependência de tempo relacionada ao endereço.


Geral:

Algumas memórias dinâmicas permitem a explosão de dados travando uma parte alta do endereço e, em seguida, sequenciando os bits de endereço baixo. Isso pode corresponder à estrutura lógica publicada de linhas e colunas ou a algum mecanismo arcano interno que não é obviamente aparente externamente. Nesses casos, você precisa seguir o que a folha de dados diz para evitar falhas de armazenamento.

Algumas memórias dinâmicas anteriores contavam com o seqüenciamento de endereços e o tempo de acesso para obter a atualização das células da memória. É improvável que você encontre muitas dessas hoje em dia.

Algumas memórias (flash, éerom, outras) têm uma vida útil dependente do número de acessos, que pode ser por acesso (leitura ou gravação) ou, geralmente, apenas por gravação e pode ser por local de memória ou por algum subconjunto de células de memória . No último caso, se você embaralhar as linhas de endereço, poderá interferir nos algoritmos de nível de desgaste. Isso só será um problema em potencial com dispositivos razoavelmente especializados e as folhas de dados provavelmente serão razoavelmente claras quanto aos requisitos

Russell McMahon
fonte
+1 para o qualificador "Neste caso" e explicação de quando pode não ser o caso.
precisa
5

Não, a ordem não importa. As linhas de endereço podem estar em qualquer ordem, assim como as linhas de dados.

mikeselectricstuff
fonte