I'm confused. I understand very little about electronics, but it seems the question was about asynchronous DRAM controller while the XT and PET answers appear to describe a synchronous setup?
The DRAM chips themselves are asynchronous (there's no clock signal connected to the RAM chip), however they expect a sequence of operations with specific timings in order to work. The PET's solution was to create a small synchronous circuit to generate the control signals with the correct timings for the DRAM. This however wasn't the only way it could be done, as the other answer states how the PC/XT did it with delay lines.
This is a tangent, but in the first question post the OP mentions considering implementing helper circuitry with quote "a GAL16V8 or something but I don't think I understand them well enough, programmers are very expensive and the programming software is closed source & Windows-only as far as I know."
I went down this path on a project a few years ago and I just wanted to point out that you can burn the fuse file for the Lattice GAL16v8 or GAL22v10 chips these days using a cheap TL866 Plus programmer...
And there is a very cool way to write the JEDEC fuse files- you can draw out the circuitry you want using the [0] Digital simulation package (it is similar to Logisim) and export a compatible bitstream to burn from there. Thus skipping the need to find a way to run the old WinCUPL or the even older DOS program that was used to do the synthesis back in the day.
May want to give that a try instead.
I also use the OpenJDK on Mac and a Raspberry Pi and have no issues there, so it may be something with the Adoptium implementation on windows right now.
Weird seeing people do archeology on stuff I did almost every day for a few years. Eventually I got a job at a company with clueful CPU designers (Inmos) who had built in the DRAM timing generator on-chip. It ran off the polyphase clock and was programmable so the board only needed the address mux chips.
11 comments
[ 3.3 ms ] story [ 40.8 ms ] threadCan someone explain?
I went down this path on a project a few years ago and I just wanted to point out that you can burn the fuse file for the Lattice GAL16v8 or GAL22v10 chips these days using a cheap TL866 Plus programmer...
And there is a very cool way to write the JEDEC fuse files- you can draw out the circuitry you want using the [0] Digital simulation package (it is similar to Logisim) and export a compatible bitstream to burn from there. Thus skipping the need to find a way to run the old WinCUPL or the even older DOS program that was used to do the synthesis back in the day.
[0] https://github.com/hneemann/Digital
Wandered through the https://github.com/hneemann/Digital site and saw past issues with JRT but no obvious solution.
I have a couple hundred GALs of same or similar model number of new old stock and was hoping to somehow make use of them.
Using the 64-bit offline installer from https://www.java.com/en/download/windows_manual.jsp
May want to give that a try instead. I also use the OpenJDK on Mac and a Raspberry Pi and have no issues there, so it may be something with the Adoptium implementation on windows right now.