1 INTRODUCTION
We have learnt in "Platforms for Computing" module about different levels of computing platforms. An example machine
that we dealt with is the CdM-8 machine. As we know, the CdM-8 machine is composed of several units that include
arithmetic and logic unit (ALU), Registers, etc. In this task we will explore how to create an ALU that can perform different
operations.
2 YOUR TASK
You need to use Logisim software to design a simple 4-bit ALU that can perform different types of operations on 4-bit
numbers. The ALU should accept two 4-bit inputs, and a 2-bit opcode that determines the required operation. Finally, after
performing the requested operation, a 4-bit result, and CVZN flags are generated.
The ALU operation is selected based on the opcode input of the instruction. The opcodes and the operations that can be
performed are described in table1 below, assuming that the two 4-bit inputs to the ALU are named A and B:
Table 1 The operations supported by ALU
Opcode (2-bit) Operation
A + B
A-B
A++
A == B (Check equality, result should be 0 or 1)
00
01
10
11
The result and the flags should be generated correctly according to the requested operation.
3 TESTING YOUR CIRCUIT
You should test your circuit thoroughly before submission. You will be penalized for any missing, incomplete, or
incorrect operation.
4 SUBMISSION REQUIREMENTS:
You should submit two files a report, and a circuit file.
Report: is a word or a pdf document that talks about the development of your project and the steps you followed to produce
the required circuits. It should contain at least 4 sections: introduction, design, testing & results, and conclusions.
Circuit: is a single Logisim file that contains your actual implementation of the project. each component in the project should
be represented in this file as subcircuit (as shown in Lectures and tutorials).
Page 1 of 1
Fig: 1