Search for question
Question

ALU Implementation

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