GARTHWILSON wrote:
On most SRAMs (including mine), the OE\ input is ignored when WE\ is low. Having CS\, OE\, and WE\ all low at once is a valid write.
The EEPROM chip I was looking at suggested that OE and WE must be used seperately, except I think it has a chip erase feature that uses both. I could be reading it wrong though EDIT: (although as you said, the SRAM is probably fine with them together)
GARTHWILSON wrote:
Starting the CS early on as Ed recommended is good (although in many cases not necessary for fast SRAM, which is available in speeds faster than anything else on the board). But assuming you do this, you absolutely must not assert WE\ before phase 2 rises. This is because WE\ is not guaranteed to wait until after the address is valid, let alone that it has given a decent setup time, and in fact it's not even guaranteed not to lead the address. IOW, if you don't wait for phase 2 to rise, you could be writing to an unintended address. You must make it impossible to write before phase 2 rises. (This is in the primer.)
Right, I mis-stated what I meant. both READ\ and WRITE\ are qualified with PHI2...except I may have qualified it backwards (I think I'm looking for PHI2 to go low rather than high, I'll have to check the layout)
GARTHWILSON wrote:
About the address map: I haven't worked it out, but I expect it will be easier and result in fewer gate delays if you make your bottom 32KB of RAM to be part of the 4M memory module, rather than trying to make the module cover the second bank of the first 4MB through the first bank of the second 4MB. Yeah, you'll lose 32KB out of the 4MB; but it's a small price to pay for getting the other benefits.
So, this may end up working better, but my reasoning so far was this:
1. I can run the machine without the 4M module, and it will run fine, just with a lot less memory
2. Even if the 4M module covers the bottom 32KB, wouldn't it still break the first 4M bank boundary? (I.E. there's 32KB in there that's dedicated to EEPROM and IO, so it would still go 32KB over the first 4M) <- I may be wrong on this part
I'll post the address decode schematic in just a minute, after I check how READ\ and WRITE\ are qualified with PHI2
EDIT: checked, it is correctly setup with PHI2 high being paired with READ\ and WRITE\