PinDown 4.2, available now, introduces line granularity . PinDown 4.2 can debug regression failures down to the exact line within a commit.

An Example
In the example bug report below, several lines were updated in the file called vscale_alu.v. PinDown groups these updates into 3 chunks of code (a chunk may be a sub-set of a line or several lines of code) and manages to narrow down the problem to one chunk, which is the line highlighted in the bug report. In this example (where we have added bugs to V-scale, a RISC-V processor from UC Berkeley) it turns out to be a bad idea to register the input signals to the ALU.

Fig 1. PinDown 4.2. Bug Report with Line Granularity

Debugging with line granularity takes you all the way to the code line (or lines) which is causing the test to fail.

New Command
Debug granularity is a trade-off between performance and precision. It can be controlled by a new command called set_debug_granularity. It can be set to commits, files or lines.

To see line granularity in action please check out this new demo.