You are on page 1of 3

1004QBT FOUNDATIONS OF COMPUTING SYSTEMS ASSIGNMENT

THE ARITHMETIC AND LOGIC CALCULATOR


INDIVIDUAL ASSIGNMENT
MARKS: 60
WEIGHTING: 30% OF COURSE
DUE: TUESDAY 28 JULY (WEEK 5)

ASSIGNMENT SUMMARY
Using the Logisim software, build a two-bit arithmetic and logic calculator that performs the
functions described below. Then write documentation to explain how it works.
Use only AND, OR and NOT gates to build the components. You can create any other component
using only these three gates. You may create more complex gates and use them as library function.
All components in all circuits must be named using Logisim labels.

CALCULATOR DESCRIPTION
Build a calculator which has:
1) For one-bit input registers (D-type latch)
2) One one-bit carry-in register (D-type latch)
3) One six-bit instruction register (D-type latches). The register will specify the operation to be
performed, and the input registers to get the data from.
The first two bits of the instruction register (B1, B2) will choose one input register.
The second two bits of the instruction register (B3, B4) will choose the operation.
The third two bits of the instruction register (B5, B6) will choose a second input
register.
Input Register 0 is addressed as 00.
Input Register 1 is addressed as 01.
Input Register 2 is addressed as 10.
Input Register 3 is addressed as 11.
Operation 0, NAND, is addressed as 00.
Operation 1, ADD, is addressed as 01. ADD should also accept input from the carryin register.
Operation 2, AND, is addressed as 10.
Operation 3, XOR, is addressed as 11.
4) The operations should be stored in an ALU.
5) Multiplexors and Decoders should be used to select inputs and outputs.
6) The output of the chosen operation should be stored in a one-bit output register (D-type
latch) and a one-bit carry-out register (D-type latch).
Your assignment should be created to fit in AssignmentHarness.circ (which has been provided for
you). You may use the EmptyCalculator.circ (which has been provided for you) as a template.

You can create circuits to use as subcircuits in two different ways:


1. With one circuit file open, click the Add circuit button.
2. Create and save your subcircuit. Then, with the supercircuit file open, select Project > Load
Library > Logisim Library, and select the subcircuit.
Important: Be careful when loading subcircuits in this way, as you can get a loop in which each file
tries to open a new file.

CREATING THE CALCULATOR


You will have time to work on the calculator and its components in classes.
In Tutorial 2, you will create the following components and write out their truth tables: AND, OR,
NOT, NOR, NAND, XOR, HALF-ADDER, FULL-ADDER (13 marks)
In Tutorial 3, you will create the following components and write summaries of their use and
behaviour: SR LATCH, D-TYPE LATCH, DECODER, MULTIPLEXOR, ALU (14 marks)
In Tutorial 4, you will combine the circuits you have created into your calculator, and write
comprehensive documentation. This will be marked after submission.

DOCUMENTATION
In your documentation, explain:

How the calculator as a whole works.


How instructions may be entered. Define the meaning of each opcode and operand.

Please include your name and student ID in a header or footer.

SUBMISSION
Submit Logisim files through the link in the portal. Ensure you submit ALL circuits you have created.
If circuits are missing, we may not be able to open your assignment. If we cannot open your
assignment, you will receive 0 marks.
Submit documentation through TurnItIn.
To confirm the assignment has been completed individually all students must be prepared to
explain how their circuits work in a face-to-face interview. If you are selected for interview and are
unable to explain how the individual components of your circuit work or how the overall circuit
functions you will not receive marks for those components you cannot explain.
This does not mean everyone will be interviewed, only that if an assignment looks too similar to
another assignment, or appears to have been copied from somewhere else, I may investigate further.
If I do ask you to an interview, that does not mean you are being accused of anything - I will just be
checking.

MARKING SCHEMA
Documentation

Marked
after
submission
Marked in
Tutorial 2
Marked in
Tutorial 3
Marked after submission

Instructions
Explanation of inputs
4
- Opcodes
4
- Operands
4 Explanation of how calculator works
Circuits
1 NOR
1 NAND
1 XOR
1 Half-adder
1 Full-adder
1 SR Latch
1 D-type latch
1 Decoder
1 Multiplexor
4 ALU - Correct circuits + connected to multiplexor in right way
Calculator
2 Instructions correctly implemented as D-type latches
2 Input and carry-in registers correctly implemented as D-type latches
2 Input to ALU correctly selected by multiplexor
1 Output of ALU correctly selected by multiplexor
1 Output of ALU correctly stored in D-type latch
8 Overall calculator works correctly
Presentation
3
- Components labelled correctly
2
- Circuits laid out in a clear and easy to understand manner

Marked in
Tutorial 3

Truth tables
AND
OR
NOT
NOR
NAND
XOR
Half-adder
Full-adder
SR Latch
D-type latch
Decoder
Multiplexor

Marked in Tutorial 2

Marks
1
1
1
1
1
1
1
1
2
2
1
1

You might also like