Angefangen mit dem DRAM-Tester wollte ich jetzt auch DRAM-Module mit maximaler Geschwindigkeit ansteuern und eine Art Super CP/M Kiste basteln. Da kam mir mein Z80 aus der Bastelkiste mit 20 MHz sehr gelegen. Das kleine Teil kommt schon ziemlich nah an die Grenzen des SIMM DRAM Timings.
Als Backup habe ich noch einen Z180 mit 33MHz im Auge. Wenn das auch funktionieren würde wäre das die Kür. Die andere Frage wäre was man wohl mit 16 MB RAM anfängt. Ein RAM-Test da ist schon ein legaler Anwendungsfall.
Die minimale Zugriffszeit ist beim M1-Zyklus mit 1.5 Takten 75ns. Wenn das nicht passt kann man immer noch den M1 Zyklus um 1 Waitstate verlängern.
Die minimale Zykluszeit Read/Write sind 3 Takte also 150 ns. Zugriffszeit sind hier 2.5 Takte also 125 ns.
Das entspricht ziemlich genau dem Timing eines 70ns Moduls.
Die Flash Ansteuerung ging problemlos. Ich hatte zuerst nach einem schnellen Flash gesucht und SST27SF020-70, aber nach etwas probieren gesehen, dass das Timing recht unkritisch ist.
Von /OE nach Valid-Data vergehen 16 ns (<35 nach Datenblatt). Selbst langsamere Flash-Typen können verwendet werden.
Jetzt startet der Rechner schon mal und ich bin begeistert von der Geschwindigkeit. Mit der DRAM Ansteuerung habe ich allerdings (bis auf meinen Atmel Tester) keine Erfahrung.
Nach Datenblatt bleiben zwischen 20...50 ns von RAS-Adresse bis CAS-Adresse.
Als /RAS Signal kann ich beim Z80 wohl /MREQ direkt verwenden, sowohl beim Normalen Lesen, als auch beim REFRESH. Eine Herausforderung schein "nur" das CAS-Timing zu werden. Da hänge ich gerade. Mein Versuch 1. wird wohl sein mit einen Multiplexer 10ns nach /RAS umzuschalten.