Dan Moos wrote:
Thanks guys. I just ordered 4 of the oscillators that BigDumbDinosaur suggested. I also ordered some 2 mHz parts also.
Follow up. At what clock speed do I need to start worrying about transmission line effects/chip heat/propagation delay issues/yada yada? What's the "safe zone" for a hack job on a breadboard?
I've long said that 8 MHz is possible with 74HC logic on a reasonably well-designed wire-wrapped board. Higher frequencies are possible on a wire-wrapped unit with meticulous construction and faster logic. Transmission line effects are more likely to get you with a solderless breadboard than with wire-wrapped construction. Just for your reference, electrical impulses travel about six inches per nanosecond, which means, to repeat a quote often heard around here, you can get away with murder at 1 MHz.
Reactive effects are the enemy of computer circuits, due to the high switching speeds that are involved. The longer the circuit paths the greater the series inductance and parasitic capacitance, and the greater the difficulty in maintaining good timing and acceptable waveform quality. Solderless breadboards are notorious for reactive problems, especially inductance from long curving wires going all over the place. Getting such a design to run in a stable fashion at more than a few megahertz is a real challenge.
Turning to glue logic, the more granularity it has the more important propagation delay becomes in how well the system will perform. The 6502 family does stuff on both phases of the clock. Generally speaking, the address bus is set up by the MPU during Ø2 low and the data bus becomes active when Ø2 is high. In other words, the time available for a read or write to occur is more-or-less one half the clock cycle time, 50 nanoseconds at 10 MHz, for example.
A little thought will show that in order to guarantee that an addressed device will reliably respond to read/write requests from the MPU, the device's chip select and read-enable or write-enable inputs must be asserted in enough time for the device to capture the data bus (write) or drive the data bus (read). If too much time passes from when the MPU puts the device's address on the bus until the device is ready for access the system will be unstable or may crash. Prop time through the glue logic, as well as overall system design, makes or breaks the timing and hence makes or breaks a design.