Patent ID: 8566383

Claim:
A method of distributed residue checking a floating point unit having a plurality of functional elements performing floating-point operations on a plurality of operands, the method comprising: generating, by a plurality of residue generators, residue values for the plurality of operands and the plurality of functional elements; receiving, by a first residue checking unit in a plurality of residue checking units where each residue checking unit of the plurality of residue checking units is coupled to a corresponding residue generator, a first residue value generated by a first functional element of the plurality of functional elements from a first residue generator in a plurality of residue generators and a second residue value from a second residue generator in the plurality of residue generators; comparing, by the first residue checking unit, the first residue value to the second residue value in a first pipeline stage; determining whether an error has occurred in a floating point operation performed by the first functional element in the plurality of functional elements by the first residue checking unit, the determining based on the comparing of the first residue value to the second residue value; receiving, by a second residue checking unit in the plurality of residue checking units, the first residue value from the first residue generator and a third residue value from a third residue generator in the plurality of residue generators; and comparing, by the second residue checking unit, the first residue value to the third residue value in a subsequent pipeline stage; determining whether an error has occurred in a floating point operation performed by a second functional element in the plurality of functional elements by the second residue checking unit, the determining based on the comparing of the first residue value to the third residue value.