Sequential Circuits, Multiplications, and Division
You are allowed to submit
as many times as you want before the deadline. Include your name and student number
in your Logisim circuits. Your circuits should be submitted as .circ files, and must respect
the filenames, circuit name, and circuit layout (sub-circuit appearance, viewed with the right-most
toolbar button in Logisim) to make it easier for TAs to test. Include a readme.txt file with any
special instructions, or comments on limitations of your solutions. Submit the 4 requested files only,
and do not create an archive (do not submit a zip file). Be sure to check your submission by
downloading your submission from the server and verifying that it was correctly submitted. You
will not receive marks for work that is incorrectly submitted.
1 Warm-Up Question (4 marks)
Implement a sequential circuit that displays your McGill ID one digit at a time on a row of 10 LED
lights (shown below). The only input is the clock.
For example, your McGill ID is 260******. Light #2 should be on in the first clock cycle, light
#6 should be on in the second clock cycle, light #0 should be on in the third clock cycle, etc.
Extend the provided led.circ to implement your answer. You are allowed to use any circuits from
2 Sequential Multiplication (8 marks)
Create a sequential circuit that implements a 4 bit unsigned multiplier following the design of the
simple sequential multiplier seen in class (either the simple version or the improved version). Your
circuit will have a RESET input. On a rising clock edge, when RESET is high, your circuit should
initialize its internal registers with the 4-bit inputs A and B, and then start the multiplication on
subsequent clock cycles when RESET is low. Your circuit should also provide a DONE signal that
goes high when the 8-bit result is ready. You may use anything you like from the default Logisim
library (e.g., wiring, gates, plexers, memory), but you should only use the Adder circuit from the
Arithmetic part of the library. Use the provided file to create your circuit, as it already defines the
inputs and outputs.
3 Sequential Division (3 marks)
Create a sequential circuit that implements 4-bit unsigned division. While this is trickier than
multiplication, the marks are few (diminishing returns for more effort). Again, you may use any
circuits you like from the default library, except that you should only use Adder or Subtractor
circuits from the Arithmetic part of the library. Implement RESET and DONE as per the previous
question, and design your solution in the provided circuit file.