I have a question that I am very confused about.

Parity Checking.

  1. Produce a truth table for a parity checking circuit that is based on $4$ input data bits, an input parity bit and a single output bit that reflects whether an error has occurred. The parity bit is based on even parity.

  2. Produce an algebraic form for the output bit.

My problem is for (1.)

I realize that I will have a truth table with $16$ different options. ($a, b, c, d$ data inputs) and then I will have a $5^{\rm th}$ column for the parity bit. I will calculate the parity bit by making it a $1$ if the input bits add up to an odd number.

I am asked to make the truth table for this, but my problem is with the output column. Since I already based my parity bit on even parity won't my output bit always be $0$?

Any help or tips would be greatly appreciated.

  • 2
    $\begingroup$ You need a table with 5 input bits, including the parity bit, and thus 32 rows. The output column is a bit indicating either "good" or "error". $\endgroup$ – hmakholm left over Monica Oct 28 '11 at 1:16
  • $\begingroup$ Ok, I see what you mean, but does it seem plausible because with that, I will have 16 different 1s, and I have to draw a circuit diagram from all 1s. Also, the algebraic expression will be huge no? And I won't be able to simplify down very much since there are 5 input bits $\endgroup$ – Cheesegraterr Oct 28 '11 at 1:23
  • $\begingroup$ You shouldn't try to construct the algebraic expression systematically from the truth table here. Instead figure out how you decided which values to fill into the truth table, and write down an algebraic expression that does the same thing. $\endgroup$ – hmakholm left over Monica Oct 28 '11 at 1:28
  • $\begingroup$ So you are saying that I should randomly put 1s on the output and then make the algebraic expression off of that? Because wouldn't that be very difficult to mark as a teacher because we also have to make the algebraic express, condense it down, and then make a circuit diagram out of it. $\endgroup$ – Cheesegraterr Oct 28 '11 at 1:37
  • $\begingroup$ No, that is not at all what I'm saying. There is a right answer for each of the 32 rows. You know how to find that right answer -- construct your circuit such that it produces the right answer in the same way you do yourself. $\endgroup$ – hmakholm left over Monica Oct 28 '11 at 1:40

(EDIT: I misunderstood the problem description initially; this has been corrected to fix that misperception.)

I'm not sure what you mean by 'won't my output bit always be 0?'. Your output bit will be precisely 'were an even number of my input bits on or not?' - in other words, 'was this a valid example or not?'; for instance, the truth table for checking parity on two data bits would look like:

$$\begin{array}{ccc|l} a&b&parity&out\\ \hline \\ 0&0&0&1 \\ 1&0&0&0 \\ 0&1&0&0 \\ 1&1&0&1 \\ 0&0&1&0 \\ 1&0&1&1 \\ 0&1&1&1 \\ 1&1&1&0 \end{array} $$

This shows the definition of the output bit as the negation of the XOR of the other bits - and that representation, incidentally, makes the algebraic expression much easier to find (hint: how can you express $a$ XOR $b$ algebraically? Having that 'subroutine' will make the overall job much simpler).

  • 2
    $\begingroup$ You said that the output bit is the parity bit itself. But in the question it says i need "4 input data bits, an input parity bit and a single output bit that reflects whether an error has occurred." meaning 6 bits total in the top of the truth table $\endgroup$ – Cheesegraterr Oct 28 '11 at 1:26
  • $\begingroup$ Thank you. I understand now. I need to produce all possible combinations (those giving me an error is transmission and those than dont) which will be 32 combinations, 16 being correct 16 not $\endgroup$ – Cheesegraterr Oct 28 '11 at 1:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.