Clock generation

There are three different kind of clock generators in the Whizz80 computer design. A manual clock that you can trigger by hand, a slow 2hz clock to slowly step through the cycles, and a 1 Mhz oscillator to run the computer at normal speed. Each clock can be selected by a triple throw switch as only 1 clock can be connected at any given time.

graph LR A[Manual Generator] --> SWITCH[Clock Selector switch] B[2 Hz Generator] --> SWITCH C[1 MHz Generator] --> SWITCH SWITCH -->|/CLOCK|CLOCK((System Core))

Manual Clock signal

The manual clock signal is a simple circuit with a push button going through a schmitt triger for the output. The clock mirrors the state of the push button. When the button is left off, the clock signal is high. When the push button is pressed the signal goes low. I'm sending the push buttun signal through a schmitt trigger (using a 74HC74 IC) and the resister/capacitor helps to debounce the switch with a slight delay.

Manual Clock circuit

2 Hz Clock signal

This is a simple R/C type circuit passing through some schmitt inverters to generate a square wave of about 2hz. You can change the speed by adjusting the values of the resistor and capacitor. There are lots of example circuits of this type of clock signal online). I chose these values as it gives a nice ‘walking’ pace when auto stepping though your code.

2 Hz Clock circuit

1 Mhz Clock signal

A simple, single component, circuit can be used to generate a 1 Mhz square wave signal. The crystal oscillator simply outputs a square wave at a particular frequency. The 1 Mhz clock speed is the normal operation speed of the Whizz80 computer.

1 MHz Clock