Efficient Boolean Characteristic Function for Timed Automatic Test

IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 28, NO. 3, MARCH 2009
417
Efficient Boolean Characteristic Function for Timed
Automatic Test Pattern Generation
Yu-Min Kuo, Student Member, IEEE, Yue-Lung Chang, and Shih-Chieh Chang, Member, IEEE
Abstract—Timing analysis is critical for many circuit optimizations. An accurate timing analysis can be achieved by finding input
vectors that simultaneously satisfy both functional and temporal
requirements. The problem of finding such input vectors can be
modeled as a Boolean equation called the timed characteristic
function (TCF). Despite the usefulness of the TCF, traditional TCF
construction and solving is slow for large circuits. In this paper,
we present a more efficient way to use the TCF. On average, our
method is much faster than other most recent works.
Fig. 1. Example of a combinational circuit.
Index Terms—Boolean function, logic design, modeling, timed
characteristic function (TCF), timing analysis.
I. I NTRODUCTION
A
CCURATE timing analysis is extremely important for an
advanced very large scale integration design. Most previous papers in timing analysis attempt to estimate the delay of
a circuit pessimistically by taking false paths into account [3],
[4], [12], [15], [17], [18]. However, applications such as those
in [4], [6], [8], [10], and [11] require input vectors that, when
evaluated, can meet some functional and temporal requirements
simultaneously. In addition, the temporal requirement is not
necessarily limited to the longest delay of the circuit. The
problem of finding input vectors that satisfy functional and
temporal requirements simultaneously is normally referred to
as timed automatic test pattern generation or timed ATPG [4],
[20], [21], [22]. For example, in Fig. 1, each node has the delay
of 1. Given the objective of finding an input vector such that
output r is 0 and r is stable later than time t = 5, an input vector
(a, b, e, g, j, m, o) = (1, 0, 1, 1, 0, 1, 0) may be returned. It can
sensitize a path from node a to node r with delay = 7 in the
floating mode of operation shown in Fig. 2. We observe that
input vector (1, 0, 1, 1, 0, 1, 0) satisfies not only the functional
requirement, r = 0, but also the temporal requirement, for r to
be stable later than time t = 5.
Several previous papers specify the need for an input vector
generator or timed ATPG as a core engine to solve problems
related to timing analysis. For example, crosstalk analysis
requires knowing whether a transition at some time instant
Manuscript received March 7, 2008; revised June 14, 2008 and September 5,
2008. Current version published February 19, 2009. This work was supported
by the R.O.C. National Science Council under Grants NSC 97-2220-E-007041 and NSC 96-2220-E-007-006. This paper was recommended by Associate
Editor I. Markov.
Y.-M. Kuo and S.-C. Chang are with the Department of Computer Science,
National Tsing Hua University, Hsinchu 300, Taiwan (e-mail: ymkuo@cs.
nthu.edu.tw; [email protected]).
Y.-L. Chang is with Globalunichip, Inc., Hsinchu 300, Taiwan (e-mail:
[email protected]).
Digital Object Identifier 10.1109/TCAD.2009.2013269
Fig. 2. Input vector satisfies the objective of finding output r = 0 to be stable
later than time t = 5.
of a line might induce noise on another line. A timed-ATPG
approach is proposed for finding input vectors to activate and
observe the crosstalk effects [10]. A timed-ATPG approach is
reported for finding input vectors to activate the maximum instantaneous current [8]. Moreover, the methods proposed in [4],
[6], and [17] find the delay of a circuit based on timed ATPG.
Traditionally, the path-oriented decision making (PODEM)
algorithm is extended to consider the temporal domain [4].
Backtracking is performed when logic or timing conflicts occur.
Additionally, implications are conducted forward and backward
based on timed calculus, which handles the logic and timing
propagations simultaneously. However, several previous papers
have reported that this PODEM-based method was not scalable
using the PODEM method of implementation. In [1] and [9],
the researchers show that the PODEM-based method cannot
handle large circuits even though the timed ATPG gets better
results than other approaches such as simulated annealing and
genetic algorithms.
An alternative way of finding input vectors is to construct
a Boolean function called the timed characteristic function
(TCF) or characteristic function [13] whose on-set contains
input vectors having a delay greater than a time instant when
evaluated. Let us consider the same example in Fig. 1. The TCF
of node r = 0 to be stable later than time t = 5 is equal to (eg +
eo + j ) · (a b eg + a b ej + a b eo + mo) . Then, the TCF
can be solved by running a satisfiability (SAT) solver [5], [14],
[16], [19] or an ATPG engine on the corresponding TCF. For
example, input vector (a, b, e, g, j, m, o) = (1, 0, 1, 1, 0, 1, 0)
0278-0070/$25.00 © 2009 IEEE
418
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 28, NO. 3, MARCH 2009
belongs to the on-set of the aforementioned TCF, and this input
vector causes node r = 0 with delay = 7 in the floating mode
of operation. In [2], the algebraic decision diagram, a data
structure similar to BDD, is proposed to represent the relation
between each input vector and its corresponding output arrival
time. However, the method is not feasible for large circuits due
to the high cost of computation. In [3], [12], [13], [17], [23],
and [24], several recursive formulas are derived based on the
sensitization criteria for the TCF. The functional and temporal
requirements of a node are modeled by a TCF, which can be
recursively constructed.
In this paper, we propose effective ways to model the TCF,
which dramatically speed up the run time. We also demonstrate
that our algorithm can derive more compact TCFs than the
previously reported results in [17] and [26]. In addition, we
extract the useful correlation information about TCFs so that
SAT solvers or ATPG engines can easily find solutions. Our
experimental results show that, among a set of selected circuits
using the TSMC 0.13-μm cell library, on average, the combined
technique is 13.25 times faster than that of [17] for the run time
of the TCF construction and 8.98 times faster than that of [17]
for the run time of the SAT solver. Moreover, to demonstrate
the effectiveness of our TCFs, we have successfully applied
our method to an important application, the circuit-delay
computation.
The remainder of this paper is organized as follows.
Section II introduces the TCF, and Section III provides the efficient implementation of the TCF. Then, Section IV shows the
overall algorithm. Section V shows the experimental results.
Section VI concludes this paper, summarizing our contributions.
stability later than or equal to time t = 5, can be expressed as
the on-set of the Boolean function TCF(r = 0, 5+).
Most previous papers related to timing analysis discuss
path-sensitization criteria to determine whether a path is true
or false in the floating-mode model. For example, the static
sensitization describes a path sensitized by a vector if all the
side inputs along the path stabilize noncontrolling values. Also,
the viability sensitization [13] describes the criterion that a
path is sensitized by a vector if side inputs are required to be
noncontrolling values or to stabilize later than the node on the
path. Chen and Du [3] proposed a general framework to present
different path-sensitization criteria for comparison.
Unlike those proposing path sensitization, several papers do
not trace the path. They model the path-sensitization criteria
using a Boolean function and then test the SAT of the function.
Basically, this paper belongs in this category. McGeer et al. [12]
proposed an efficient method for generating the functional
forms of timing analysis and robust path delay-fault test generation. Silva et al. [17] conducted a comprehensive study of
modeling circuit-delay computation, accounting for false paths
as a sequence of instances of Boolean SAT. The research in [17]
provides three sensitization criteria to obtain the TCF. In the following, we consider only the exact floating-mode sensitization
criterion. If node y is an OR gate, I(y) denotes all inputs of node
y, and d denotes the delay of node y. If node y is an OR gate
TCF(y = 1, t+)
=
[z = 1] ·
TCF (z = 1, (t − d)+)
z∈I(y)
·
z∈I(y)
{TCF (w = 1, (t − d)+) + [w = 0]}
(1)
TCF(y = 0, t+)
=
[z = 0] ·
TCF (w = 0, (t − d)+)
(2)
w∈I(y)
II. TCF
In this section, we review the definitions of the TCF and a
way to compute the Boolean function. As with most previous
papers, we use the floating mode of operation and apply all
input vectors at time t = 0. In the floating mode of operation
[3], a transition is defined as a value change from an unknown
state to a known state of a node in the circuit.
In addition, for simplicity of discussion, each node has a
constant delay of 1 in all examples. The general delay model
can be easily extended to cope with the industrial cell library
with variable rise and fall delays, different pin-to-pin delays,
and the interconnect delay.
Let y be a circuit node, val be a functional requirement, and
t be a temporal requirement. The Boolean function TCF(y =
val, t+) characterizes the set of input vectors that, when evaluated, can cause node y = val to stabilize later than or equal to
time t but not earlier than time t. In other words, given an input
vector x, the Boolean function TCF(y = val, t+) is equal to 1
if and only if node y = val is stable later than or equal to time
t when input vector x is applied. The functional requirement
val can be 0 or 1. The symbol “+” is used to emphasize the
concept of “later than” or equal to the temporal requirement
t. For example, in Fig. 1, suppose that we are interested in
finding input vectors that cause node r = 0 to be stable later
than or equal to time t = 5. All input vectors satisfying the
functional requirement, r = 0, and the temporal requirement,
z∈I(y)
w∈I(y)
where we use [z = 1] to denote the functional requirement of
node z to stabilize at 1, use the summation symbol Σ to denote
the OR operation, and use the multiplication symbol Π to denote
the AND operation. TCF(y = 1, t+) describes the sensitization
condition when node y stabilizes at 1 later than time t. The
requirements of the condition are as follows: 1) at least an
input must stabilize at 1 later than time t − d and 2) each input
must stabilize at 1 later than time t − d or stabilize at 0 without
the timing constraint. Similarly, TCF(y = 0, t+) describes the
sensitization condition when node y stabilizes at 0 later than
time t. The requirements of the condition are as follows: 1) all
inputs must stabilize at 0 and 2) one of all inputs must stabilize
at 0 later than time t − d. Similarly, if node y is an AND gate
TCF(y = 1, t+)
[z = 1] ·
TCF (w = 1, (t − d)+)
=
z∈I(y)
(3)
w∈I(y)
TCF(y = 0, t+)
=
[z = 0] ·
TCF (z = 0, (t − d)+)
z∈I(y)
·
w∈I(y)
z∈I(y)
{TCF (w = 0, (t − d)+) + [w = 1]} .
(4)
KUO et al.: EFFICIENT BOOLEAN CHARACTERISTIC FUNCTION FOR TIMED ATPG
Let us consider the example in Fig. 1. Using the aforementioned equations, TCF(r = 0, 5+) can be derived from its
inputs’ TCFs, which again are derived from their inputs’ TCFs.
Finally, with logic minimization, we obtain TCF(r = 0, 5+) =
(eg + eo + j ) · (a b eg + a b ej + a b eo + mo) .
During the recursive construction process, intermediate
TCFs with different temporal requirements are constructed.
When certain boundary conditions are met, an intermediate
TCF can be determined without further recursive construction.
Let us consider node f in Fig. 1 and try to find TCF(f = 0, 1+).
First, there are three paths from the primary inputs to node f :
paths {a, c, d, f } and {b, c, d, f } with a path delay of 3 and
path {e, f } with a path delay of 1. Since all paths from the
primary inputs to node f have a path delay greater than 1, the
temporal requirement, stability later than or equal to time t = 1,
is met for all input vectors. Since the temporal requirement of
TCF(f = 0, 1+) is met, we need only to consider the functional
requirement f = 0. Therefore, we have TCF(f = 0, 1+) = f .
Recently, Roy et al. [26] proposed the use of the event
propagation conditions to obtain an accurate circuit-delay computation. The key difference between [26] and this paper is the
assumption of the mode of operation. Whereas [26] assumes
the transition mode, we adopt the floating mode. Because the
transition mode may violate the monotonic speedup property
[25], Roy et al. [26] performs an optimistic estimation of the
circuit delay, whereas ours performs a pessimistic estimation.
419
of all four Boolean functions are mutually exclusive. For
example, an input vector satisfying TCF(y = 1, t−) = 1
must cause TCF(y = 0, t−) = 0, TCF(y = 1, t+) = 0,
and TCF(y = 0, t+) = 0 by the definition of TCF. As a
result, we have the following: TCF(y = 1, t−) = TCF(y =
0, t−) + TCF(y = 1, t+) + TCF(y = 0, t+). Thus, we obtain
TCF(y = 1, t−) · y
= TCF(y = 0, t−) + TCF(y = 1, t+)
+ TCF(y = 0, t+) · y
= TCF(y = 0, t−) · y + TCF(y = 1, t+) · y
+ TCF(y = 0, t+) · y.
(7)
Let us consider the term TCF(y = 0, t−) · y in (7). It can be
easily shown that TCF(y = 0, t−) · y = 0 because it is impossible to have an input vector that causes y = 0 and y = 1
simultaneously. Similarly, we have TCF(y = 0, t+) · y = 0.
Moreover, TCF(y = 1, t+) · y = TCF(y = 1, t+) because an
input vector that causes node y = 1 to be stable earlier than
time t must also cause node y = 1 to be stable. Therefore, we
can obtain
TCF(y = 1, t−) · y = TCF(y = 1, t+).
Similarly, we can also obtain
TCF(y = 0, t−) · y = TCF(y = 0, t+).
III. E FFICIENT TCF I MPLEMENTATION
Using the procedure in the previous section, we can derive
a TCF. However, the size of the TCF can be much larger than
the original circuit. In Section III-A, we show novel compact
recursive formulations and then propose reduction techniques
in Sections III-B and C.
Theorem 2: Given a circuit node y whose inputs are denoted
by I(y) and delay is denoted by d, we have the following.
If node y is an OR gate
TCF (z = 1, (t − d)−)
(8)
TCF(y = 1, t−) =
z∈I(y)
A. Recursive TCF Formulations
First, we discuss some properties of a TCF. Note that
TCF(y = val, t+) defined previously uses the + symbol to
express the concept of later than or equal to the temporal
requirement t. We can also use the “−” symbol to express
the concept of “earlier than” the temporal requirement t. The
Boolean function TCF(y = val, t−) characterizes the set of
input vectors that, when evaluated, can cause node y = val to
stabilize earlier than time t and to stay stable later than time t.
A TCF with the − symbol is called an earlier timed TCF, and a
TCF with the + symbol is called a later timed TCF.
We now discuss the reasons why the recursive formulations
of earlier timed TCFs can lead to a compact representation for
TCFs. The two theorems are shown as follows.
Theorem 1: Given a circuit node y and a temporal requirement t, we have the following:
TCF(y = 1, t+) = TCF(y = 1, t−) · y
(5)
TCF(y = 0, t+) = TCF(y = 0, t−) · y .
(6)
Proof: First,
TCF(y = 1, t−) + TCF(y = 0, t−) +
TCF(y = 1, t+) + TCF(y = 0, t+) = 1. Also, the on-sets
TCF(y = 0, t−) =
TCF (z = 0, (t − d)−) .
(9)
TCF (z = 1, (t − d)−)
(10)
z∈I(y)
If node y is an AND gate
TCF(y = 1, t−) =
z∈I(y)
TCF(y = 0, t−) =
TCF (z = 0, (t − d)−) . (11)
z∈I(y)
Proof: First, let us consider the case when node y is an
gate. Because the controlling value of OR gate y is 1, y is
stable at 1 earlier than the time t if one of the inputs of node y
is stable at the controlling value 1 earlier than the time t − d.
The corresponding TCF formulation is summarized in (8). On
the other hand, because the noncontrolling value of OR gate
y is 0, y is stable at 0 earlier than the time t if all inputs of
node y are stable at the noncontrolling value 0 earlier than the
time t − d. The corresponding TCF formulation is summarized
in (9). Similarly, one can prove the cases when node y is
an AND gate.
OR
420
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 28, NO. 3, MARCH 2009
Fig. 4. Recursive derivation process TCF(r = 0, 5+) using the gate
representation.
TABLE I
VARIABLE AND CLAUSE COMPARISONS FOR A K-INPUT OR GATE
BETWEEN THAT OF [17] AND OUR EQUATIONS
B. Sharing Mechanism for TCFs
Fig. 3. Recursive derivation process TCF(r = 0, 5+) using the equation
representation.
Theorem 1 shows that a later timed TCF can always be
translated to an earlier timed TCF, and Theorem 2 shows that an
earlier timed TCF of a node can be expressed by earlier timed
TCFs of the node’s inputs. In our algorithm, if a TCF is later
timed, it is translated into an earlier timed TCF by (5) or (6) in
Theorem 1. Then, we recursively derive the earlier timed TCF
by (8)–(11) in Theorem 2. In this way, all TCFs are of the same
type, which is important for the sharing mechanism discussed
in the next section.
Let us consider the problem of finding TCF(r = 0, 5+)
in Fig. 1. First, we translate TCF(r = 0, 5+) to TCF(r =
0, 5+) = TCF(r = 0, 5−) · r by (6). Then, we recursively
derive TCF(r = 0, 5−). Since node r in Fig. 1 is an OR
gate, we need to use the formula from (9), and then, we
have TCF(r = 0, 5−) = TCF(h = 0, 4−) · TCF(q = 0, 4−) ·
TCF(p = 0, 4−). After that, we will need to derive the equations for TCF(h = 0, 4−), TCF(q = 0, 4−), and TCF(p =
0, 4−). The construction process continues toward the primary
inputs. The entire derivation of TCF(r = 0, 5+) is shown in
Fig. 3, and its gate representation is shown in Fig. 4.
Generally speaking, we provide equations to derive earlier
timed TCFs, which are simpler than the later timed TCFs of
[17]. For example, in Table I, we show the comparisons of the
SAT variables and clauses for a K-input OR gate between that
of [17] and our equations by using the method in [27]. The
later timed TCFs of a K-input OR gate of [17] are (1) and (2)
while the earlier timed TCFs of a K-input OR gate of ours are
(8) and (9). We can observe that our variables and clauses are
fewer than that of [17]. In addition, we also provide equations
to transform later timed TCFs to earlier timed TCFs.
A TCF derived directly by the recursive formulation may be
much larger than the original circuit, mainly because all fanout branches of a node may require different TCFs. Let us
consider node f in Fig. 1, which has three fan-out branches.
During the recursive construction process of TCF(r = 0, 5+),
three intermediate TCFs, TCF(f = 0, 1−), TCF(f = 0, 2−),
and TCF(f = 0, 3−), are needed for node f .
In general, each fan-out branch of a node may have its
own functional and temporal requirements. Without careful
planning, we may need to build TCFs for all fan-out branches of
a node. However, some TCFs are functionally equivalent, even
with different temporal requirements. Before a TCF is finally
constructed, the equivalence of two different intermediate TCFs
can be difficult to recognize. For example, TCF(f = 0, 2−) and
TCF(f = 0, 3−) have different temporal requirements but have
equal functionality after construction.
We propose the collection of useful arrival-time information,
which allows equivalent TCFs to be recognized during the recursive construction process. First, there can be many different
paths from the primary inputs to a node n. Each path delay
from a primary input to node n represents a possible delay or a
possible arrival time when an input vector is applied. For the
same example, in Fig. 1, there are three paths—{a, c, d, f },
{b, c, d, f }, and {e, f }—from the primary inputs to node f ,
where {a, c, d, f } and {b, c, d, f } have a path delay of 3 and
{e, f } has a path delay of 1. Therefore, there are two possible
arrival times for node f after applying an input vector: 1 and 3.
Let {Aj } be a sorted set of possible arrival times for node y,
i.e., Ak < Ak+1 . In addition, let {Ti } be a set of the temporal
requirements for which we must construct the earlier timed
TCFs on node y. We say that the arrival time Ak is the nextlarger arrival time of Ti if Ak−1 < Ti ≤ Ak . Let us consider
the example in Fig. 1. Node f has two possible arrival times:
1 and 3. In addition, node f has three temporal requirements:
1, 2, and 3. The next-larger arrival time of temporal requirement
2 is 3, and the next-larger arrival time of temporal requirement
3 is 3. Then, we have the following lemma.
KUO et al.: EFFICIENT BOOLEAN CHARACTERISTIC FUNCTION FOR TIMED ATPG
Fig. 5.
421
TCF(r = 0, 5+) after applying sharing mechanism.
Lemma 3: For the two TCFs TCF(y = val, t1−) and
TCF(y = val, t2−), if these two temporal requirements t1 and
t2 have the same next-larger arrival time
TCF(y = val, t1−) = TCF(y = val, t2−).
Proof: Let the next-larger arrival time for t1 and t2 be Ak .
The on-set of TCF(y = val, t1−) must contain all the vectors
that belong to the on-set of TCF(y = val, Ak −) because the
on-set of TCF(y = val, Ak −) contains all input vectors whose
path delays to node y are less than Ak , and each path delay to
node y must be exactly equal to a possible arrival time of node
y. Therefore, we can obtain
TCF(y = val, t1−) = TCF(y = val, Ak −).
(12)
Similarly, we can also obtain
TCF(y = val, t2−) = TCF(y = val, Ak −).
(13)
By (12) and (13), we can obtain TCF(y = val, t1−) =
TCF(y = val, t2−).
In Fig. 3 or Fig. 4, TCF(f = 0, 2−) and TCF(f = 0, 3−) are
equivalent according to Lemma 3, since temporal requirements
2 and 3 have the same next-larger arrival time. Therefore, we
need to build only one of these two TCFs. The result is shown
in Fig. 5.
In our algorithm, the arrival-time information can be derived
by the same algorithm in [7]. After that, during the recursive
construction process of a TCF, we use Lemma 3 to merge
intermediate TCFs whose temporal requirements have the same
next-larger arrival time, without constructing several equivalent TCFs.
C. Correlation Information Extraction
In this section, we illustrate how to extract the correlation
information about TCFs to SAT solvers or ATPG engines.
The correlation information, which can be easily recognized
during the recursive construction process of a TCF, describes
the relationship between two intermediate TCFs of a node. We
have the following two lemmas.
Lemma 4: For a circuit node y and two temporal requirements t1 and t2 where t1 < t2
TCF(y = val, t1−) ⊆ TCF(y = val, t2−)
or
TCF(y = val, t1−) + TCF(y = val, t2−) = 1.
Fig. 6. Flow diagram of the TCF construction algorithm.
Proof: If TCF(y = val, t1−) is 1, TCF(y = val, t2−)
must be 1 because any input vector that causes node y = val
to be stable earlier than t1 must also cause node y = val to be
stable earlier than t2.
Lemma 5: For a circuit node y and two temporal requirements t1 and t2
TCF(y = val, t1−) ∩ TCF(y = val , t2−) = ∅
or
TCF(y = val, t1−) + TCF(y = val , t2−) = 1.
Proof: If TCF(y = val, t1−) is 1, TCF(y = val , t2−)
must be 0 because any input vector that causes y = val to be
stable must not cause y = val to be stable.
When the condition in Lemma 4 is satisfied, we add
an extra Boolean function TCF(y = val, t1−) + TCF(y =
val, t2−) = 1 to the overall TCF. When the condition in
Lemma 5 is satisfied, we add an extra Boolean function
TCF(y = val, t1−) + TCF(y = val , t2−) = 1 to the overall
TCF. These extra Boolean functions do not change the on-set of
the overall TCF but provide the correlation information when
we solve the overall TCF.
IV. O VERALL A LGORITHM F LOW
Now, we describe our overall algorithm for constructing a
TCF in Fig. 6. Given the functional and temporal requirements
of a node, we model these two requirements as a TCF.
1) If the TCF is later timed, it is translated to an earlier timed
TCF by (5) or (6) in Theorem 1.
2) Then, the arrival-time information of each node is
computed.
3) After that, we construct the TCF recursively from the
node toward the primary inputs by (8)–(11) in Theorem 2.
422
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 28, NO. 3, MARCH 2009
TABLE II
RESULTS UNDER THE UNIT DELAY MODEL
During the recursive construction process, we use
Lemma 3 to merge all equivalent intermediate TCFs.
4) After constructing the overall TCF, we apply the correlation information from Lemmas 4 and 5.
V. E XPERIMENTAL R ESULTS
In this section, we demonstrate and evaluate our TCF construction algorithm. We perform two experiments including
the TCF construction in Section V-A and the circuit-delay
computation in Section V-B. Experiments are conducted on the
Sun Microsystems sun4u Sun Blade 2500 whose CPU clock
frequency is 1600 MHz, system clock frequency is 160 MHz,
and memory size is 4 GB.
A. Results of the Efficient TCF Construction
We reimplement the algorithm shown in [17] and conduct
experiments on a set of MCNC benchmark circuits. Since the
main purpose in [17] is to find a circuit’s delay, in order to
compare fairly with their results, we generate ten temporal requirements, from the largest to the smallest possible arrival time
with an equal interval. Then, for each temporal requirement
t, we attempt to find an input vector that causes at least one
primary output to be stable later than or equal to time t. This
requirement is modeled as (14). Then, we solve the TCF using
the SAT solver MiniSat [5]
[TCF(y = 0, t+)+TCF(y = 1, t+)]. (14)
TCFC+ (t)=
y∈P O(C)
We perform experiments under different delay models such
as the unit delay model where each node has a constant delay
of 1, the unit fan-out delay model where each node has a delay
of 1 plus the value 0.2 multiplied by the fan-out number of
the node, and the TSMC 0.13-μm cell library. Let us take
C1908 using the TSMC 0.13-μm cell library as an example.
The latest and the earliest arrival times among all primary
outputs are 2.74 and 0.15 ns. First, we determine the interval
by (2.74 − 0.15)/(10 − 1) = 0.28. Therefore, the ten temporal
requirements for C1908 are 2.74, 2.46, 2.18, 1.90, 1.62, 1.34,
1.06, 0.78, 0.50, and 0.22. Then, we can apply our approach to
the circuit for these ten temporal requirements. The largest and
smallest possible arrival times are also known as the delay of
the longest topological path (LTP) and the delay of the shortest
topological path, respectively.
Note that, in the floating mode of operation, the first vector is
pessimistically assumed to be unknown. Thus, TCF(y = 1, t−)
describes the condition that a rising transition of node y is stable
earlier than time t. Moreover, the delay d in (8) and (10) should
be obtained from the rise delay of node y. Similarly, TCF(y =
0, t−) describes the condition that a falling transition of node
y is stable earlier than time t. Moreover, the delay d in (9) and
(11) should be obtained from the fall delay of node y.
Table II shows the results under the unit delay model.
Table III shows the results under the unit fan-out delay model.
Table IV shows the results using the TSMC 0.13-μm cell
library. Column 1 shows the name of the circuit. Column 2
shows the gate count of a circuit. Columns 3, 4, and 5 show the
average number of variables of the TCF (titled as Vars), the
average run time of the TCF construction (titled as TCF),
and the average run time of the SAT solver (titled as SAT),
respectively, for the ten temporal requirements by [17] while
columns 6, 7, and 8 show the results of our approach with the
correlation information, and columns 9, 10, and 11 show the
results of our approach without the correlation information. To
avoid too many Boolean functions obtained from Lemmas 4
and 5 for the correlation information, we limit the number of
these Boolean functions within the 5% of the TCF’s variables
by using some engineering rules in the following: 1) The node
in the tested network is a multiple fan-out node; 2) the node
is close to primary inputs; and 3) the node has many temporal
requirements.
We have made several observations from the experiment
results among a set of selected circuits. First, both the run
time of the TCF construction and the run time of the SAT
solver are reduced significantly. For the run time of the TCF
construction, our approach is 4.68 times faster than that of
[17] under the unit delay model, 14.59 times faster than that
of [17] under the unit fan-out delay model, and 13.25 times
faster than that of [17] using the TSMC 0.13-μm cell library.
For the run time of the SAT solver, our approach is 8.05 times
faster than that of [17] under the unit delay model, 8.09 times
KUO et al.: EFFICIENT BOOLEAN CHARACTERISTIC FUNCTION FOR TIMED ATPG
423
TABLE III
RESULTS UNDER THE UNIT FAN-OUT DELAY MODEL
TABLE IV
RESULTS USING THE TSMC 0.13-μm CELL LIBRARY
faster than that of [17] under the unit fan-out delay model, and
8.98 times faster than that of [17] using the TSMC 0.13-μm
cell library. Finally, we would like to mention that, with the
correlation information, the run time of the SAT solver is
reduced by about 27% compared with the run time without the
correlation information. However, when including the run time
of the TCF construction, the total run time is only improved
marginally. We would like to mention that the improvement
from the correlation information extraction is not always very
effective since the SAT solver may spend time for the additional
clauses of the correlation information from Lemmas 4 and 5.
B. Results of the Circuit-Delay Computation
A key application of the TCF is the circuit-delay computation. The TCF can solve the false-path problem to avoid
overconservative circuit-delay values [4], [6], [17]. For the
circuit-delay computation, we use a stepping method similar
to that in [17] to approach the true delay of a circuit using
a dynamically adjustable step size. Then, we integrate the
stepping method and our proposed TCF construction algorithm
to compute the delay of a circuit. The TCF is constructed as (14)
with and without the correlation information to model at least
one primary output to be stable later than or equal to time t.
Then, we reimplement the algorithms of the circuit-delay
computation in [17] and [26] and then apply these to several
MCNC/ITC 99 benchmark circuits and several practical
circuits including a Triple Data Encryption Standard design,
an Advanced Encryption Standard design, an MD5 hash core,
an Audio Codec ’97, and a 32-b multiplier using the TSMC
0.13-μm cell library. Table V shows the results of the benchmark circuits, and Table VI shows the results of the large practical circuits. Column 1 shows the name of the circuit. Column 2
shows the number of the gates. Columns 3 and 4 show the
delay of the LTP (titled as LTP) and the delay calculated by our
method (titled as Delay). Columns 5, 6, and 7 show the largest
number of variables of the TCF among TCFs with different
temporal requirements (titled as Vars), the total run time of the
TCF construction (titled as TCF), and the total run time of the
SAT solver (titled as SAT) of the method in [17]. Columns 8, 9,
and 10 show the results of the method in [26]. Columns 11, 12,
and 13 show the results of our approach with the correlation
information. In the table, the entries labeled ∗ indicate that the
results cannot be obtained due to the memory shortage.
For the run time of the TCF construction, on average, our
approach is about 5.18 times faster than that of [17]. For
the run time of the SAT solver, on average, our approach is
about 1.67 times faster than that of [17]. The run time of the
424
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 28, NO. 3, MARCH 2009
TABLE V
RESULTS OF THE CIRCUIT-DELAY COMPUTATION FOR BENCHMARK CIRCUITS
TABLE VI
RESULTS OF THE CIRCUIT-DELAY COMPUTATION FOR PRACTICAL CIRCUITS
SAT solver is improved slightly, but the run time of the TCF
construction is improved greatly even for large circuits. In
addition, for the run time of the TCF construction, on average,
our approach is about 191.58 times faster than that of [26].
For the run time of the SAT solver, on average, our approach
is about 178.62 times faster than that of [26]. Note that [26]
adopts the transition mode of operation while Silva et al. [17]
and we adopt the floating mode of operation. It may not be fair
to directly compare results with different modes of operation.
The maximum memory usage is 2310 MB when our approach
is applied to ITC benchmark circuit b19.
VI. C ONCLUSION
In this paper, we present very effective ways for the TCF
modeling. Our contributions include the compact formulations,
the sharing mechanism, and correlation information extraction
techniques for TCFs. On average, our algorithm is 13.25 times
faster than that of [17] for the run time of the TCF construction,
and our algorithm is 8.98 times faster than that of [17] for
the run time of the SAT solver. Moreover, we demonstrate the
effectiveness of our TCF formulas by means of finding the
delay of a circuit. On average, our algorithm is 5.18 times faster
than that of [17] for the run time of the TCF construction,
and our algorithm is 1.67 times faster than that of [17] for
the run time of the SAT solver. On average, our algorithm is
191.58 times faster than that of [26] for the run time of the TCF
construction, and our algorithm is 178.62 times faster than that
of [26] for the run time of the SAT solver.
R EFERENCES
[1] P. Ashar and S. Malik, “Functional timing analysis using ATPG,” IEEE
Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 14, no. 8,
pp. 1025–1030, Aug. 1995.
[2] R. I. Bahar, H. Cho, G. D. Hachtel, E. Macii, and F. Somenzi, “Timing
analysis of combinational circuits using ADDs,” in Proc. IEEE Eur. Des.
Test Conf., 1994, pp. 625–629.
[3] H. C. Chen and D. Du, “Path sensitization in critical path problem,”
IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 12, no. 2,
pp. 196–207, Feb. 1993.
[4] S. Devadas, K. Keutzer, and S. Malik, “Computation of floating mode
delay in combinational circuits: Theory and algorithms,” IEEE Trans.
Comput.-Aided Design Integr. Circuits Syst., vol. 12, no. 12, pp. 1913–
1923, Dec. 1993.
[5] N. Een and N. Sörensson, “A SAT solver with conflict-clause
minimization,” in Proc. SAT, 2005. [Online]. Available: http://minisat.se/
MiniSat.html
[6] J. L. Güntzel, A. C. M. Pinto, and R. Reis, “A timed calculus for ATGbased timing analysis of circuits with complex gates,” in Proc. IEEE Latin
Amer. Test Workshop, 2001, pp. 234–239.
[7] H. Kriplani, F. Najm, and I. N. Hajj, “Pattern independent maximum
current estimation in power and ground buses of CMOS VLSI circuits: Algorithms, signal correlations, and their resolution,” IEEE Trans.
Comput.-Aided Design Integr. Circuits Syst., vol. 14, no. 8, pp. 998–1012,
Aug. 1995.
[8] Y. M. Jiang, A. Krstic, and K. T. Cheng, “Estimation for maximum
instantaneous current through supply lines for CMOS circuits,” IEEE
Trans. Very Large Scale Integr. (VLSI) Syst., vol. 8, no. 1, pp. 61–73,
Feb. 2000.
[9] Y. M. Jiang, K. T. Cheng, and A. Krstic, “Estimation of maximum power
and instantaneous current using a genetic algorithm,” in Proc. IEEE Custom Integr. Circuits Conf., 1997, pp. 135–138.
[10] R. Kundu and R. D. Blanton, “Timed test generation for crosstalk switch
failure in domino CMOS circuits,” in Proc. IEEE VLSI Test Symp., 2002,
pp. 379–385.
[11] R. Kundu and R. D. Blanton, “ATPG for noise-induced switch
failures in domino logic,” in Proc. Int. Conf. Comput.-Aided Des., 2003,
pp. 765–768.
KUO et al.: EFFICIENT BOOLEAN CHARACTERISTIC FUNCTION FOR TIMED ATPG
[12] P. C. McGeer, A. Saldanha, P. R. Stephan, R. K. Brayton, and
A. L. Sangiovanni-Vicentelli, “Timing analysis and delay-fault test
generation using path-recursive functions,” in Proc. Int. Conf. Comput.Aided Des., 1991, pp. 180–183.
[13] P. C. McGeer and R. K. Brayton, Integrating Functional and Temporal
Domains in Logic Design. Norwell, MA: Kluwer, 1991.
[14] M. W. Moskewicz, C. F. Madigan, Y. Zhao, L. Zhang, and S. Malik,
“Chaff: Engineering an efficient SAT solver,” in Proc. Des. Autom. Conf.,
2001, pp. 530–535.
[15] J. P. M. Silva and K. A. Sakallah, “Efficient and robust test
generation-based timing analysis,” in Proc. Int. Symp. Circuits Syst., 1994,
pp. 303–306.
[16] J. P. M. Silva and K. A. Sakallah, “GRASP: A search algorithm for
propositional satisfiability,” IEEE Trans. Comput., vol. 48, no. 5, pp. 506–
521, May 1999.
[17] L. G. Silva, J. P. M. Silva, L. M. Silveira, and K. A. Sakallah, “Satisfiability models and algorithms for circuit delay computation,” ACM Trans.
Design Autom. Electron. Syst., vol. 7, no. 1, pp. 137–158, Jan. 2002.
[18] H. Yalcin and J. P. Hayes, “Hierarchical timing analysis using conditional
delays,” in Proc. Int. Conf. Comput.-Aided Des., 1995, pp. 371–377.
[19] H. Zhang, “SATO: An efficient propositional prover,” in Proc. Int. Conf.
Autom. Deduction, 1997, pp. 272–275.
[20] M. K. Michael, T. Haniotakis, and S. Tragoudas, “A unified framework
for generating all propagation functions for logic errors and events,”
IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 23, no. 6,
pp. 980–987, Jun. 2004.
[21] S. Padmanaban and S. Tragoudas, “Efficient identification of (critical)
testable path delay faults using decision diagrams,” IEEE Trans. Comput.Aided Design Integr. Circuits Syst., vol. 24, no. 1, pp. 77–87, Jan. 2005.
[22] K. Yang, K. T. Cheng, and L. C. Wang, “TranGen: A SAT-based ATPG for
path-oriented transition faults,” in Proc. Asian South Pacific Des. Autom.
Conf., 2004, pp. 92–97.
[23] Y. M. Kuo, Y. L. Chang, and S. C. Chang, “Efficient Boolean characteristic function for fast timed ATPG,” in Proc. Int. Conf. Comput.-Aided Des.,
2006, pp. 96–99.
[24] W. K. C. Lam and R. K. Brayton, Timed Boolean Functions: A Unified
Formalism for Exact Timing Analysis. Norwell, MA: Kluwer, 1994.
[25] S. Devadas, A. Ghosh, and K. Keutzer, Logic Synthesis. New York:
McGraw-Hill, 1994.
[26] S. Roy, P. P. Chakrabarti, and P. Dasgupta, “Event propagation for accurate circuit delay calculation using SAT,” ACM Trans. Design Autom.
Electron. Syst., vol. 12, no. 3, p. 36, Aug. 2007.
[27] T. Larrabee, “Test pattern generation using Boolean satisfiability,” IEEE
Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 11, no. 1, pp. 4–
15, Jan. 1992.
425
Yu-Min Kuo (S’08) received the B.S. and M.S.
degrees in computer science from National Tsing
Hua University, Hsinchu, Taiwan, in 2002 and 2004,
respectively, where he is currently working toward
the Ph.D. degree in computer science.
His current research interests include the noiseaware timing analysis, logic optimization, and related computer-aided design techniques.
Yue-Lung Chang received the B.S. and M.S. degrees in computer science from National Tsing Hua
University, Hsinchu, Taiwan, in 2004 and 2006,
respectively.
Since 2007, he has been with Globalunichip, Inc.,
where he is currently an Engineer in the Design Flow
and Development Group 2. His current research
interests include design for testability and related
computer-aided-design techniques.
Shih-Chieh Chang (S’92–M’95) received the B.S.
degree from National Taiwan University, Taipei,
Taiwan, in 1987 and the Ph.D. degree from the University of California, Santa Barbara, in 1994, both in
electrical engineering.
He was with Synopsys, Inc., Mountain View, CA,
from 1995 to 1996. Then, he was with the faculty of
the Department of Computer Science and Information Engineering, National Chung Cheng University,
Minsyong, Taiwan, from 1996 to 2001. He is currently a Professor with the Department of Computer
Science, National Tsing Hua University, Hsinchu, Taiwan. His current research
interests include logic synthesis, functional verification for systems-on-a-chip,
and noise analysis.
Dr. Chang is the recipient of the Best Paper Award at the 1994 Design
Automation Conference.