Close

Logisim Model - Run Control

A project log for BREDSAC

Electronic Dynamic Storage Breadboard Computer

gregewinggreg.ewing 06/10/2018 at 13:340 Comments

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. In continuous-running
mode (none of the SINGLE X inputs are active), RUN remains active until
the STOP button is pressed. The Stop FF then becomes set on the next
rising clock edge, which 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.

The SINGLE X modes provide alternative ways of stopping the machine.
For example, in SINGLE INSTR mode, the machine will run only until END
OF INSTR becomes active, and then will be stopped just as if the STOP
button had been pressed. The dual flip-flop arrangement ensures that
another instruction will not be executed until the CONTINUE button has
been released and pressed again.


You can see a video of the Run Control circuit working here.

Discussions