Laboratory Assignment 2

 

Due November 22

 

Using Multimedia Logic create an even parity checker.

Discussion:
Generally, an extra bit is transmitted with a byte of information to make sure the information is transmitted correctly.  This occurs when values are transferred from disk to main memory, from main memory to cache and many other types of transfer.

So, with even parity, an extra bit is added whose value will make the number of one valued bits even (zero is an even number).  If the data is 01100100, then the extra bit tacked on will be a 1 so that the value transmitted is 011001001 which has an even number of 1's.  If the data is 11010100, then a 0 valued bit is appended to the data to result in 110101000 being transmitted.

Your circuit will take 9 bits as input and output a 0 if the value is a valid even paritied data and output a 1 if it is not valid.  For example 110101000 will output a 0, but 110110111 will cause a 1 to be output since the number of 1 bits is not even. (you can also look at this circuit as returning 0 if the number of 1 bits is even and returning 1 if the number of 1 bits is odd.

Hint:  Solve the problem for transmitting 2-bit words (remember, you do not have to count the number of 1 bits, just determine if the number of bits is even or odd) and then build up the circuit with repeated uses of that solution (rather than building a 9-input truth table (512 rows) and a circuit from it).  Also remember even+even=odd, odd+even=even+odd=odd, odd+odd=even.