• 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