Home Page > > Details

School of Computer Science

Computer Fundamentals (COMP1036) Autumn 2021

Custom ALU

Deadline: 17:00 Friday 10th of December, 2021

Collaborating in small groups of up to three students is permitted, but

you must implement your own programs (absolutely do not copy and

paste from others) and provide your own answers where appropriate.

Note that lacking proper comments will lose mark.

Description

Previous exercises have used combinatorial logic and sequential logic to construct

many of the various logic circuits that form the basis of a computer. In this exercise,

we will put some of these circuits together to build a custom 16-bit ALU chip, with

the capacity to save and re-use the output.

The core of our simplified ALU is represented pictorially below and consists of

two 16-bit inputs, x and y, and one 16-bit output. It also has a series of control

inputs, which can be used to select what function the ALU performs. Specifically,

you need to implement the following features:

Figure 1: ALU Schematic

1

1. Subtract y from x

(5 marks)

2. Multiply x by y (x, y ∈ [−100, 100])

(5 marks)

3. Divide x by 2 (x >0, keep quotient only)

(5 marks)

4. Calculate an exponential expression, x

y

(x ∈ (0, 7], y ∈ (0, 5])

(5 marks)

5. Decide if x is bigger than y, output = 1 if true, -1 if false

(5 marks)

The five control signals, S, M, D, F, and GL, are used to control the output

produced by the ALU by selecting between the output of the five possible

functions it can perform. Specifically, we have:

if (S == 1) set out = x-y // integer 2’s complement subtraction

if (M == 1) set out = x*y // integer 2’s complement multiplication

if (D == 1) set out = x/2 // integer 2’s complement division by 2

if (F == 1) set out = x^y // integer 2’s complement exponentiation

if (GL == 1),

if (x>y) set out = 1

if (x<=y) set out = -1

You can assume that only one signal will be active at once, and so the order

you select between the possible outputs doesn’t matter. The project skeleton

is supplied in the file CUSALU.hdl

Submission

You should zip all your files into one zip file to “Coursework1 Assignment”.

You should name your file as: YOURSTUDENTID YOURNAME.zip. Submit your

zip file onto Moodle submission page. Please note that every next submission

overwrites all the files in the previous one. If you submit several times,

make sure that your last submission includes all the necessary files. Include all

required chips, instructions for use, and any instruction text file. For late submission,

the standard late submission policy applies, i.e. 5% mark deduction

for every 24 hours.

Contact Us(Ghostwriter Service)

- QQ：99515681
- WeChat：codinghelp
- Email：99515681@qq.com
- Work Time：8:00-23:00

- Programhelp With ,Help With C++ Course... 2022-05-10
- Help With Data Programming,Help With C... 2022-05-10
- 5Cce2sashelp With ,Python，Java Progra... 2022-05-10
- Help With Program Programming,Help Wit... 2022-05-09
- Help With Csci 3110,Help With Java，Py... 2022-05-09
- Mth2222help With ,Help With C/C++，Pyt... 2022-05-09
- Cse3bdchelp With ,Help With Sql Progra... 2022-05-08
- Help With Cis 468,Help With Java，Pyth... 2022-05-08
- Comp Sci 4094/4194/7094 Assignment 3 D... 2022-05-07
- Cs 178: Machine Learning & Data Mining... 2022-05-07
- Data7703 Assignment 4 2022-05-07
- Data Programminghelp With ,Help With S... 2022-04-25
- Help With Ait681 Course,Help With Pyth... 2022-04-25
- Cse121l Programminghelp With ,Help Wit... 2022-04-25
- Help With Iti1120,Help With Java，C/C+... 2022-04-25
- Cmt304help With ,Help With C++，Python... 2022-04-25
- Help With Engn4528,Matlab Programmingh... 2022-04-24
- Help With Fin 2200,Help With Java，Pyt... 2022-04-24
- Bism 7255Help With ,Help With Java，Py... 2022-04-23
- Comp202help With ,Help With Java Progr... 2022-04-23

Contact Us - Email：99515681@qq.com WeChat：codinghelp

© 2021 www.asgnhelp.com

Programming Assignment Help！