Browse Prior Art Database

Error Detection for Adders

IP.com Disclosure Number: IPCOM000107371D
Original Publication Date: 1992-Feb-01
Included in the Prior Art Database: 2005-Mar-21
Document File: 3 page(s) / 76K

Publishing Venue

IBM

Related People

Voorbrood, PM: AUTHOR

Abstract

Disclosed is an alternative method of checking errors in adders. Conventionally, errors are being checked using some kind of parity scheme to validate a row of bits being generated by the adder. The described method takes a different approach: each bit is checked on a column basis. The bits being: - Carry-in - Data in (Bit one of the bits being added) - Data in (Bit two of the bits being added) - Sum out (Result of the addition) - Carry out (Result of the addition)

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Error Detection for Adders

       Disclosed is an alternative method of checking errors in
adders.  Conventionally, errors are being checked using some kind of
parity scheme to validate a row of bits being generated by the adder.
The described method takes a different approach:  each bit is checked
on a column basis. The bits being:
      -    Carry-in
      -    Data in (Bit one of the bits being added)
      -    Data in (Bit two of the bits being added)
      -    Sum out (Result of the addition)
      -    Carry out (Result of the addition)

      The advantage of this method is that double-bit errors are
still being detected and the need for a parity bit has been
eliminated.

      Assume the following addition for the i(th) bit:
         A(i) + B(i) + C(i-1) = S(i) + C(i)
where:  A(i)   = Data bit to be added at cycle (i)
         B(i)   = Data bit to be added at cycle (i)
         C(i-1) = Carry-in bit from previous cycle (i-1)
         S(i)   = Sum produced by the addition at cycle (i)
         C(i)   = Carry produced by the addition at cycle (i)

      From the above, the following truth table can be generated to
produce the logic for the sum error:
      C(i-1)    A(i)   B(i)    S(i)   ERROR
         0       0      0        0      0     (0+0=0: Therefore
ERROR=0)
         0       0      0        1      1
         0       0      1        0      1
         0       0      1        1      0
         0       1      0        0      1
         0       1      0        1      0
         0       1      1        0      0
         0       1      1        1      1
         1       0      0        0      1
         1       0      0        1      0
         1       0      1        0      0
         1       0      1        1      1
         1       1      0        0      0
         1       1      0        0      1
         1       1      1        0      1
         1       1      1        1      0

      The same kind of table can be constructed for the carry being
generated.  The generated carry is independent of the sum value
generated.  Hence the following table:
        A(i)    B(i)   C(i-1)   C(i)   ERROR
       ...