
Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The instructions for homework 8 in cs 2504 intro computer organization. Students are required to design and implement circuits using logisim for encoding and decoding hamming codes. The assignment includes three parts: encodehamming, checkhamming, and fixhamming. Encodehamming takes a 7-bit input and computes the hamming encoding, checkhamming determines if there is an error based on given data bits and parity bits, and fixhamming corrects a single bit error. The circuits should be submitted to the curator system by the deadline.
Typology: Assignments
1 / 1
This page cannot be seen from the preview
Don't miss anything!

CS 2504 Intro Computer Organization Homework 8: Hamming Coder/Decoder
Follow the instructions given below to prepare your solutions to the questions. Your submission will be a single Logisim file containing circuits solving the problems posed below. Submit your file to the Curator system by the posted deadline for this assignment. No late submissions will be accepted.
You will submit your answers to the Curator System (www.cs.vt.edu/curator) under the heading HW8.
For each question, design and use Logisim to implement and test the specified logic circuit. Obey any restrictions that are imposed in the individual questions. Input and output components should be given descriptive labels. Input and output pins should display the bits in the order shown in the notes; that is, data bits should be shown in the usual left-to-right order with the high-order bit at the left and parity bits should be shown in left-to-right order as well.
1. [50 points] Design and implement a circuit, EncodeHamming, that takes a 7-bit input and computes the Hamming(11,7) encoding of the input. The interface must include at least the following features:
¾ A 7-bit input pin, DataIn, to specify the binary value to be encoded. ¾ A 4-bit output pin, ParityOut, to contain the computed parity bits.
The circuit does not need to store the input value or the parity bits internally, so there's no need for flip-flops or registers or a clock signal. The computed parity bits will NOT be intermingled with the data bits, mainly to make it easier to check the correctness of the results.
2. [50 points] Design and implement a Hamming(11,7) checker, that is, a circuit, CheckHamming, that takes 7 data bits and 4 parity bits as input, and determines whether or not there is a detectable error. The interface must include the following features:
¾ A 7-bit input pin, DataIn, to specify the data bits to be checked. ¾ A 4-bit input pin, ParityIn, to specify the parity bits to be checked. ¾ An LED output that is gray if there are no detected errors and red otherwise.
EC [50 points] Design and implement an extension of the CheckHamming circuit, FixHamming, that assumes that no more than 1 bit is incorrect, determines which bit that is, and corrects it. The interface must include the following features:
¾ A 7-bit input pin, DataIn, to specify the data bits to be checked. ¾ A 4-bit input pin, ParityIn, to specify the parity bits to be checked. ¾ A 7-bit output pin, DataOut, and a 4-bit output pin, ParityOut, to specify the (possibly) corrected bits. ¾ A 1-bit output pin, ECC, that indicates whether or not a correction was made.
(This is for extra credit. If you choose to do it, the points will just be added into your overall homework total.)