CS 2504 Homework 8: Hamming Coder/Decoder - Prof. William D. Mcquain, Assignments of Computer Science

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

Pre 2010

Uploaded on 12/02/2008

trogdor
trogdor 🇺🇸

11 documents

1 / 1

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS 2504 Intro Computer Organization Homework 8: Hamming Coder/Decoder
1
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.)

Partial preview of the text

Download CS 2504 Homework 8: Hamming Coder/Decoder - Prof. William D. Mcquain and more Assignments Computer Science in PDF only on Docsity!

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.)