When, in the course of an integrated circuit's functional test an
assertion fires at clock k, the operational clock is stopped, the
sequence is reapplied to capture inputs to the assertion circuit that
fired, signals within the assertion circuit are computed, and the error
is backtraced. Once one or more inputs of the assertion circuit are
identified as potentially the source of the error, the process of
backtracing is performed for each such input. When the input that is
potentially the source of the error emanates from a memory circuit, the
fanin cone of the memory circuit is identified and the process of
backtracing through the last-identified fanin cone is undertaken for
clock k-1. This is repeated iteratively until either a module of the
integrated circuit is found to be the source of the error, or the error
is extended to inputs of the SoC.