Le Kit GA144, la mémoire SRAM

 

Comment apprendre à programmer en langage Forth ? Il est plus facile d’assimiler en s’amusant par le biais d’exercices, de construire soi-même des bouts de programmes.

 

1.   La vitesse du GA144, modification du code

               

Pour améliorer la vitesse d’écriture et de lecture de  la SRAM, il est possible de modifier le code du node 007 (Data bus and control).

 

Sur le kit de GreenArrays, la mémoire utilisée est la SRAM : 1M*16 Cypress CY62167EV18LL-55BXVI (1Mx16) 55ns       : http://www.findchips.com/avail?part=CY62167ev18

 

http://esaid.free.fr/tutoriel_arrayforth/Ga144_pcb/composants/CY62167EV18.jpghttp://esaid.free.fr/tutoriel_arrayforth/Ga144_pcb/composants/VFBGA.jpg

 



Sur mon kit, la sram porte la reference   ISs61wv102416all     ISSI - IS61WV102416ALL-20TLI  SRAM Chip Async Single 1.8V 16M-Bit 1M x 16 20ns 48-Pin TSOP-I

 

http://esaid.free.fr/tutoriel_arrayforth/Ga144_pcb/composants/IS61WV.jpg http://esaid.free.fr/tutoriel_arrayforth/Ga144_pcb/composants/TSOP48.jpg


Cette dernière est beaucoup plus facile à souder, et de plus est plus rapide 20ns.

 

Dans le blog de Chuck Moore   http://colorforth.com/timings.htm , il est intéressant de noter que  « for unext » dure 2.3ns approximativement (la température influence le résultat).

 

  

Le code pour gérer la mémoire SRAM,  (4.2  Node 0007- Data bus and  Control) est prévu pour la mémoire ayant un temps d’accès de 55ns :

 

Attention dans la version ArrayForth 022a le code en 246 est en 274

 

Il faut modifier pour le mot w16  et r16  la boucle, et on obtient  10  for unext

 

 

« 10 for unext » : donne une pause de 23 ns approximativement donc compatible avec notre mémoire  SRAM is61wv102416all.

 

 

 

2.    Résultat

 

Maintenant pour pouvoir profiter pleinement de la vitesse d’accès à la mémoire, il nous suffit de reprogrammer eForth.



http://esaid.free.fr/tutoriel_arrayforth/Programmtion_Flash.html

 

Eforth : Programmation Flash Eforth:               1190 load

 

 

Et maintenant essayons de comparer le résultat sous eForth :

 

Le mot « asd » dure à l’exécution environ 2 secondes alors qu’avant il était de 3 secondes auparavant.

asd