Dismiss
InnovationQ will be updated on Sunday, Jan. 21, from 9am - 11am ET. You may experience brief service interruptions during that time.
Browse Prior Art Database

# A modular-based error detection apparatus for an integer arithmetic unit

IP.com Disclosure Number: IPCOM000022649D
Original Publication Date: 2004-Mar-23
Included in the Prior Art Database: 2004-Mar-23
Document File: 3 page(s) / 38K

IBM

## Abstract

Disclosed is a modular-based error detection apparatus for an integer arithmetic unit. In order to detect the arithmetic error on the fly, the disclosed method calculates mod p values of the input data and the output data independently, and checks if the mod p values are the same.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 59% of the total text.

Page 1 of 3

A modular-based error detection apparatus for an integer arithmetic unit

Disclosed is a modular-based error detection apparatus for an integer arithmetic unit. In order to detect the arithmetic error on the fly, the disclosed method calculates mod p values of the input data and the output data independently, and checks if the mod p values are the same. The method uses additional modulo units to calculate mod p when p is small. However, if p becomes large, the amount of hardware resources to implement the mod p units drastically increases. For large p , this disclosure shows the way to use the arithmetic unit itself to calculate mod p without increasing the hardware resources for modulo calculation.

a x y

(bitwidth of a )

(bitwidth of y )

(bitwidth of x )

mod mod p

p

mod p

log2(p) log2(p) log2(p)

(bitwidth of z' )

a' x' y'

multiply accumulator F1

z = a + x × y

multiply accumulator F2

z' = a' + x' × y'

(bitwidth of z )

z

Figure 1. Multiply-accumulator arithmetic unit with mod p units

Figure 1 shows an example of the modular-based error detection apparatus for a multiply-accumulator arithmetic unit. The multiply-accumulator F1 is the original circuitry that performs multiply-accumulation z = a + x y . For the error detection, the multiply accumulator F2, a comparator, and five mod p units are added. In parallel with F1, the upper three mod p units calculate mod p values a ', x ', and y' for input values a , x , and y , respectively. The multiply-accumulator F2 performs multiply-accumulation z ' = a ' + x ' y '. The lower two mod p units calculate mod p values for z and z'. The comparator asserts the error detection signal, error , if it finds out the mod p values are not the same.

The method uses additional modulo units to calculate mod p . However, if p becomes large, the amount of hardware resources to implement the mod p units drastically increases. For large p , the arithmetic unit itself can be used to calculate mod p instead of adding the multiply accumulator dedicated to z ' calculation.

The reciprocal number of p is represented in a recurring decimal form,

z'

mod mod p

compare

p

z

error

1

=

×

=

α

0where αis a first term of the reciprocal number of p , and β is a common ratio of the reciprocal number of p .

=modZXIn order to calculate p :

β

i

p

i

Z

X

=

×

 

-

×

p

p

=

 

=

=

X

×

α

�...