FPGA paranoia: testing numerical properties of FPGA floating point IP-Cores

  • Authors:
  • Xuan You Tan;David Boland;George Constantinides

  • Affiliations:
  • Electrical and Electronic Engineering, Imperial College London, London, UK;Electrical and Electronic Engineering, Imperial College London, London, UK;Electrical and Electronic Engineering, Imperial College London, London, UK

  • Venue:
  • ARC'12 Proceedings of the 8th international conference on Reconfigurable Computing: architectures, tools and applications
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the early days of computing, hardware platforms were developed independently and created their own conventions for floating point to suit their underlying hardware architecture, but this meant computer programmers had to understand these conventions when designing their algorithms, and adapt their algorithms when porting to new platforms. As a result, the IEEE-754-1985 standard was created to simplify design for computer programmers by ensuring that the same software will obtain the same results across all hardware platforms. While most computers largely adhere to the standard, sometimes corner cases can be missed. Paranoia is a test suite written by William Kahan in 1983, designed to discover obvious flaws in non-compliant floating point arithmetic. The Paranoia test suite continues to show errors and inconsistencies in modern computers and compiler libraries, and has recently found similar flaws in GPUs [1]. FPGAs have historically been used to create custom hardware designs, with a focus on performance for an application specific design, meaning such portability has not been an issue. However, transistor scaling has led to FPGAs with the potential for high floating point performance, and as such FPGA-based accelerators are increasingly adopting standard single or double precision cores within hardware accelerators for high-performance computing applications. As a result, this paper has created a framework to allow FPGA IP-cores to be tested against the Paranoia benchmark to ensure that FPGA IP-cores can been subjected to the same rigorous testing as their CPU equivalents. In this paper, we discuss this effort and provide compliance results for the main vendor and open source core generators.