COMP 228 : Systems Hardware Project
Summer 2022
In this project you are required to implement the Cyclic Redundancy Check (CRC) for a group of bytes to be transmitted over a network. The CRC 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 that the user will send 1 bytes of data at a time. The data transmitted to the user is the 1-byte data in addition to the syndrome bits. The sender and receiver use the polynomial x3 + x + 1 as the agreed-on divisor.
The project is composed of two parts:
Part I: Report
In the report you write overview of the project with detailed explanation of the about the Cyclic Redundancy Check (CRC) algorithm. Include all references used.
Part II: Software Implantation
Implement the CRC 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 syndrome bits and transmit it with the data byte, the receiver will check if there is an error in the data received.
b. Sample inputs and outputs with explanation and discussion.