DocumentCode
3148383
Title
Implementation Specific Verification of Divide and Square Root Instructions
Author
Guralnik, Elena ; Birnbaum, Ariel J. ; Koyfman, Anatoly ; Kaplan, Avi
Author_Institution
IBM Haifa Res. Lab., Haifa, Israel
fYear
2009
fDate
8-10 June 2009
Firstpage
114
Lastpage
121
Abstract
Floating point operations such as divide and square root are typically implemented in microcode rather than dedicated logic. Bugs in these operations missed by generic black-box verification tools, were analyzed. This led to the conclusion that the corner cases, in addition to being implementation dependent, could not be characterized in terms of special input or output values in a straightforward manner. However, many of those cases can be easily generalized for many known implementations. The typical implementation uses a known iterative approximation algorithm, such as the Newton-Raphson method, to calculate the desired result; thus, it is sufficient to produce the corner cases associated with the specific algorithm. We investigated the following problem: given an iterative algorithm to compute a binary floating point operation, the iteration number, and an interval, find random inputs for the operation that, after the requested iteration, yield a relative error within the specified interval. This paper describes a method to solve this problem. This method was implemented in a floating-point test generator and is currently being used to verify the floating-point units of several processors.
Keywords
Newton-Raphson method; floating point arithmetic; Newton-Raphson method; binary floating point operation; black-box verification tool; divide instruction; floating-point test generator; iterative approximation; square root instruction; Approximation algorithms; Computer bugs; Digital arithmetic; Floating-point arithmetic; Hardware; Iterative algorithms; Iterative methods; Logic; Newton method; Testing; floating-point; microcode; verification;
fLanguage
English
Publisher
ieee
Conference_Titel
Computer Arithmetic, 2009. ARITH 2009. 19th IEEE Symposium on
Conference_Location
Portland, OR
ISSN
1063-6889
Print_ISBN
978-0-7695-3670-5
Type
conf
DOI
10.1109/ARITH.2009.24
Filename
5223348
Link To Document