Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

COMP 228 : Systems Hardware Project

Winter 2023

Due date: 11:59 pm, April- 10 -2023

In this project you are required to implement the Hamming Code error detection and correction algorithm for a group message to be transmitted over a network. Hamming code algorithm allows the receiver to detect errors that may have been introduced due to many factors such as noise, interference, and many others.

In your project you assume the following:

1.   The sender message length is 2 bytes. The data transmitted to the user is the 2-byte data in addition to the parity bits.

2.   The receiver must be able to detect and correct 1-bit error.

The project is composed of two parts:

Part I: Report

In the report you must include an overview of the Hamming code algorithm and you need to show:

1.   The detailed calculation of the minimum number of parity bits needed for a message of 2- byte length.

2.   Details on how sender generates the parity bits.

3.   Details on how thew receiver detects and corrects a 1-bit error.

Part II: Software Implantation

Implement the algorithm using MARIE machine architecture and assembly language.

Review Chapter 4 of text book and see :  https://marie.js.org/   for more information on MARIE. In this part you must:

a.   Present the assembly code to solve the problem. You need to implement code for the sender and the receiver. The sender will generate the parity bits and transmit them with the data bits, the receiver will and detect and correct an error if it occurs.

b.   Sample inputs and outputs with explanation and discussion.

The is a group project, each group is composed of 2 to 3 students. In all group members must contribute equally to the project. You project will be evaluated as per the following rubric:

Aspect/level

1 (failed)

2 (unsatisfactory)

3 ( meet expectation with restrictions)

4( meet expectation)

5 ( Exceed expectation)

Coding

Code is not readable,   not efficient and does   not produce any results

The code is poorly  organized, and very difficult to read.

It is readable only

by someone who

knows what it is

supposed to be

doing.

The   code

efficient

sacrificing

readability

understanding.

It is fairly easy to       Read and understand.

Exceptionally well organized and very easy to understand

Report

structure

Not organized and not

well written (many

grammatical

mistakes)

Report is not well organized and not well

written. Design  and results                      are presented but     with no                    explanation or         discussion.

Report is organized

and well  written.

Design  and results are        presented but with limited  explanation and discussion.

Report is well           organized and well   written. Design  and results are presented with explanation and discussion.

Report is exceptional: very well organized and is very well written. Design and    results are presented with  full explanation and           discussion.

Report template

For your report use the IEEE template presented in the link:

https://www.ieee.org/conferences/publishing/templates.html