Logisim Model - Run Control

Before building any hardware, I'm going to model the CPU using Logisim to test out the design.

Here's the first part, the Run Control circuit. Its purpose is to take signals from the front panel controls for starting and stopping the machine, together with some signals derived from the machine's state, and generate a RUN signal that is active whenever the machine should be running. This signal will be used to gate BITCLK pulses to the rest of the machine, so its transitions need to be aligned with BITCLK period boundaries.



CONTINUE and STOP will be connected to pushbuttons on the front panel. (In the original EDSAC, CONTINUE was named "Reset", but I've renamed it to avoid confusion with the power-on reset signal.)

SINGLE CYCLE,  SINGLE INSTR and SINGLE CLOCK are mode-selection inputs that will be connected to switches of some kind. END OF CYCLE and END OF INSTR are internal signals that will be active during the last clock period of a short word cycle or a complete instruction respectively.

At power up, the PO RESET signal resets both flip flops so that RUN is initially inactive.

When the CONTINUE button is pressed, on the next rising edge of BITCLK the Run FF becomes set and RUN becomes active. It remains active until the Stop FF is set, which occurs at the next rising BITCLK edge for which one of the following things is true:
When the Stop FF is set, it deactivates RUN via the AND gate. This condition persists until both CONTINUE and STOP are released, whereupon both flip flops are reset and the machine is ready to be started again.

Run Control Test Video

If the player below doesn't work, you can download the video here.