Computer Aided Instruction (CAI) uses tools to assist learning concepts. The Computer Organization course is the first course CS that introduces hardware, and so is out of the realm of experience for most students. This makes learning of the circuits hard, particularly as the diagrams used to introduce the circuits are static. The circuits themselves are dynamic and require the use of a clock and some logic that is controlled by sets of wires connecting to inputs on the various components, and much of this control logic is not presented in the static diagram.
My project is to create these circuits, including the dynamic behavior and all control wires. I will first produce these circuits using a circuit design tool named Logisim. I will then implement these circuits into hardware using a Field Programmable Gate Array (FPGA) and other hardware components. I have implemented two versions of multipliers and dividers in Logisim and am preparing to transfer these designs to the FPGA using the Very High Speed Integrate Circuit (VHSIC) Hardware Description Language (VHDL).
An example of the circuits I am creating is from Chapter 3 of Patterson and Hennessey
This diagram illustrates the basic components of the multiplier and the overall logic, but does not implement the steps needed to make it actual work. This diagram corresponds to the following circuit I have implemented in Logisim:
This is an example of the multiplication circuit.
Now that I have finished the circuit designs in Logisim, I will begin using the Mercury FPGA development board to implement the multiplication circuit.