GaryMac wrote:
Attached is the schematic of the memory section and a couple of pics of the system as it stands.
Particularly with fast RAMs (like the 25ns 7C198 you are using), the timing of the trailing edge of the WE pulse is critical. If this edge is late (wrt the address changing), then you violate the RAM's 0ns address hold time and end up with unreliable writes.
The W65C02 address is only guaranteed stable for 10ns after the Phi2 edge, so you don't need to delay the end of the write cycle by much to be in trouble.
Things that might delay the trailing edge of RAM WE signal in your system include:
- Deriving the system clock from Phi2O rather than Phi2 (this is an easy mistake to make, and can add 5ns-10ns delay)
- Buffering the system clock
- Additional capacitance on the system clock (e.g. driving several loads on a bus)
- Using a slow NAND gate to generate RAM WE (HC/HCT devices will add 10ns-15ns)
What processor are you using? A W65C02S?
It would be helpful to see a schematic of the CPU board, to understand whether the address bus is buffered in any way, and how the clock named Phi2 is derived.
Dave