Using Non-Trivial Logic Implications for Trace Buffer-
based Silicon Debug
Sandesh Prabhakar Michael Hsiao
Electrical and Computer Engineering Electrical and Computer Engineering
Virginia Tech, Blacksburg, VA, USA
e-mail: sandeshp@vt.edu
Virginia Tech, Blacksburg, VA, USA
e-mail: hsiao@vt.edu
Abstract – An effective silicon debug technique uses a trace
buffer to monitor and capture a portion of the circuit response
during its functional, post-silicon operation. Due to the limited
space of the available trace buffer, selection of the critical trace
signals plays an important role in both minimizing the number of
signals traced and maximizing the observability/restorability of
other untraced signals during post-silicon validation. This paper
presents a new method for trace buffer signal selection for the
purpose of post-silicon debug. The selection is performed by
favoring those signals with the most number of implications that
are not implied by other signals. Then, based on the values of the
traced signals during silicon debug, we introduce an algorithm
which uses a SAT-based multi-node implication engine to restore
the values of untraced signals across multiple time-frames.
Experimental results for sequential benchmark circuits showed
that the proposed approach selects the trace signals effectively,
giving a high restoration percentage compared with other
techniques.
Index Terms – Silicon debug, Logic implication, Trace-signal
selection, State Restoration, Forward Learning.
I. INTRODUCTION
Silicon Debug is a technique used to detect and locate the
undetected design bugs and/or manufacturing defects which
may have escaped the pre-silicon verification or
manufacturing test. There are two existing types of silicon
debug: scan-based and trace buffer-based. Design-for-debug
(DFD) hardware is needed in both these approaches. In the
scan-based approach, the internal scan chains are reused
wherein the captured data from the internal state elements
corresponding to specific triggering events are off-loaded (or
dumped) through the scan chains. In [6] and [7], the authors
discuss post-processing algorithms which can be used to
identify the failing state elements from the scan dump data. In
[5] a method was proposed which utilizes backward and
forward logic implications of the scan-dump values to restore
more circuit gate values. However, the main disadvantage of
the scan-based approaches is the repeated scan-dumps. Many
scan dumps would be both costly and cumbersome for silicon
debug. The trace buffer-based approach is a complementary
technique which can be used to acquire continuous data. An
embedded logic analyzer (ELA) [8] is used for sampling
internal signal data into on-chip trace buffers. This is followed
by a post processing stage [9] wherein the sampled data is off-
loaded for analysis to reconstruct internal signal values and
identify functional bugs.
Two parameters limit the amount of data which can be
acquired by the trace buffer: the buffer’s depth and width. The
former limits the number of samples that can be stored and the
latter limits the number of trace signals which can be sampled
and recorded in each clock cycle [3]. In [4], [8] and [10]-[12],
methods for ELA design improvement were proposed. In
[13]-[15] trace compression methods were proposed to
increase the number of trace signal samples. However,
because of the trace buffer memory limitation, the selection of
the critical trace signals which can maximize the restoration of
the missing signal values is highly desirable. In [1], [2] and
[3], algorithms were proposed for trace signal selection and
state restoration using restorability metrics that consider both
the topology and behavior of logic gates.
In this paper, we present a new algorithm using a logic
implication-based [16] learning approach to intelligently
select the trace signals. We favor selecting those signals which
contain more implications that are not implied by other
signals. We show that our trace selection method is efficient
and is able to achieve better restoration than other techniques.
The rest of the paper is organized as follows. Section II
gives a brief overview of static logic implications [16] and
defines parameters used to evaluate the quality of trace
selection. Section III discusses the proposed approach for trace
buffer signal selection. Section IV introduces the algorithm
used for state restoration. Section V reports experimental
results, and Section VI concludes the paper.
II. PRELIMINARIES
A. Static Logic Implications
Let us consider a circuit with n gates. Logic implications
determine the effect of assigning logic values (0 or 1) to one
or more gates in the circuit. The implications are stored using
a directed implication graph G (V, E) where V (vertices) the
set of 2n nodes corresponding to both value assignments (0
and 1) and E (edges) single-node implications. For
sequential circuits, each edge is annotated with an integer
weight w that indicates the number of time frames that this
implication spans. Static logic implications can be sub-divided
into direct, indirect and extended backward implications [16].
Indirect and extended backward implications use logic
simulation as well as the contra-positive and transitive laws
extensively. These learned implications are thus non-trivial.
These non-trivial logic implications are used to form a new
restorability metric to drive the trace signal selection. The
2009 Asian Test Symposium
1081-7735/09 $26.00 © 2009 IEEE
DOI 10.1109/ATS.2009.20
135
2009 Asian Test Symposium
1081-7735/09 $26.00 © 2009 IEEE
DOI 10.1109/ATS.2009.20
135
2009 Asian Test Symposium
1081-7735/09 $26.00 © 2009 IEEE
DOI 10.1109/ATS.2009.20
131