FPgen - a test generation framework for datapath floating-point verification
HLDVT '03 Proceedings of the Eighth IEEE International Workshop on High-Level Design Validation and Test Workshop
Standardization and testing of implementations of mathematical functions in floating point numbers
Programming and Computing Software
Test Construction for Mathematical Functions
TestCom '08 / FATES '08 Proceedings of the 20th IFIP TC 6/WG 6.1 international conference on Testing of Software and Communicating Systems: 8th International Workshop
Standardization and testing of mathematical functions
PSI'09 Proceedings of the 7th international Andrei Ershov Memorial conference on Perspectives of Systems Informatics
Hi-index | 0.00 |
We present algorithms that solve the following problem: given three ranges of floating-point numbers Rx, Ry, Rz, a floating-point operation (op), and a rounding-mode (round), generate three floating-point numbers \overline x ,\overline y ,\overline zsuch that \overline x\in R_x ,\overline y\in R_y ,\overline z\in R_z , and \overline z = round(\overline x op \overline y). This problem, although quite simple when dealing with intervals of real numbers, is much more complex when considering ranges of machine numbers. We provide full solutions for add and subtract, and partial solutions for multiply and divide. We use range constraints on the input operands and on the result operand of floating-point instructions to target corner cases when generating test cases for use in verification of floating-point hardware. The algorithms have been implemented in a floating-point test-generator and are currently being used to verify floatingpoint units of several processors.