Challenges in datapath verification


Dr. Sam Elliottlogo


In 1994, a bug was discovered in the floating point division unit of Intel’s Pentium processor. The bug occurred for only 1 in 9 billion random inputs, but came up much more frequently in certain applications. Intel ultimately set aside $475 million to pay for the fallout of the bug. The issue demonstrates one of the key difficulties of arithmetic datapath verification: corner cases are often obscure to the designer, but common in certain usages. As processors become more complex, and hardware is reused for multiple purposes to increase performance, the challenge of confidently verifying arithmetic datapath becomes more intricate, and mixes with other areas of verification, like the verification of control logic. We discuss some of the challenges facing the industry in verifying datapath-heavy modules, some of the solutions which can be employed, and the questions which remain.


Dr. Sam Elliott is a Senior Verification Engineer and the lead of the Datapath Group at Imagination Technologies. He began his career as an academic mathematician, completing his PhD and postdoctoral work at the University of Leeds, as well as attaining Masters degrees from the Universities of York and Cambridge. He joined Imagination Technologies 4½ years ago as a formal verification specialist, and now looks after an applied research team of both design and verification engineers, working on the cutting edge of both disciplines to deliver innovative, highly optimised, correctly functioning datapath components for mobile applications.