Dismiss
Surety is performing system maintenance this weekend. Electronic date stamps on new Prior Art Database disclosures may be delayed.
Browse Prior Art Database

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

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.

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