Help for Two Bit Error Correction and Three Bit Error Detection Hamming Code Program

Instructions for each step: Applicable Frame:
Step 1

Enter a 32-bit data value, in hexadecimal format, in the entry box.  This data represents the word that was originally sent to the memory, before any errors occurred.  Any non-hex characters will be treated as "0" (0X0).  Leading "0"s will be pre-pended if the value is less than 32-bits.  Leading characters are truncated if the value entered is longer than 8 characters.  Data input validation changes, if needed, will be displayed after the button in step 2 is pressed.

 

Step 2

Click on the "Calculate Check Bits" button to have the program calculate the check bits for the data that was entered in step 1.  The data and check bits are also put in the entry boxes for step 3 for convenience.  Data input validation changes for the data entered in step 1 are done in this step.

Step 3

Edit the values in these entry boxes to inject errors into the data or check bits that will be returned from memory.   Data input validation changes similar to those in step 1 are performed as needed after the button in step 4 is pressed.  Steps 3 and 4 can repeated as often as desired.

Step 4

Click on the "Decode" button to have the program calculate the data value returned after it has been processed by the error correction circuit.  Single and double bit errors injected during step 3 will be corrected and triple bit errors will be detected.  "X"s are displayed for invalid data.  Note that the data and status returned depends only on the data and check bits from step 3.  Steps 3 and 4 can repeated as often as desired.

Description

Click on the description icon to display a window which describes the decoding circuit.

Step 5

Click on the "Update Values" button to have the program display the values in the decode circuit for the data entered in step 3 and calculated in step 4.  The values shown in the boxes correspond to the values of the same name in the diagram.  "X"s are displayed for invalid data.