Theoretical comparison between sequential redundancy addition and removal and retiming optimization...
-
Upload
independent -
Category
Documents
-
view
1 -
download
0
Transcript of Theoretical comparison between sequential redundancy addition and removal and retiming optimization...
Journal of Systems Architecture 49 (2003) 529–541
www.elsevier.com/locate/sysarc
Theoretical comparison between sequentialredundancy addition and removal and retiming
optimization techniques
Enrique San Mill�aan *, Luis Entrena, Jos�ee Alberto Espejo, Celia L�oopez
Universidad Carlos III de Madrid, Butarque 15, 28911 Legan�ees, Madrid, Spain
Abstract
This paper attempts to determine the capabilities of existing redundancy addition and removal (SRAR) techniques
for logic optimization of sequential circuits. To this purpose, we compare this method with the retiming and resynthesis
(RaR) techniques. For the RaR case the set of possible transformations has been established by relating them to STG
transformations by other authors. Following these works, we first formally demonstrate that logic transformations
provided by RaR are covered by SRAR as well. Then we also show that SRAR is able to identify transformations that
cannot be found by RaR. This way we prove that the sequential redundancy addition and removal technique provides
more possibilities for logic optimization.
� 2003 Published by Elsevier B.V.
Keywords: Logic synthesis; Sequential circuits; Redundancy addition and removal; Retiming
1. Introduction
Optimization of synchronous sequential circuits
is still an open and challenging problem. The
optimization can be made in two different levels of
abstraction: the state machine level and the logic
level. At the state machine level, optimization can
be achieved in different ways: through the mini-
mization of the finite state machine [16], throughstate encoding and decomposition [5–7,9]. The
limitation of the optimization at this level is that
* Corresponding author. Tel.: +34-91-6249430/6249194; fax:
+34-91-6249194.
E-mail address: [email protected] (E. San Mill�aan).
1383-7621/$ - see front matter � 2003 Published by Elsevier B.V.
doi:10.1016/j.sysarc.2003.06.002
the estimation of the area of the final circuit is notaccurate. For this reason, further optimization can
be obtained at the logic level (sequential logic
optimization) where better area estimation is pos-
sible.
Given an initial circuit description at the gate
level, sequential logic optimization aims at com-
puting an equivalent circuit with a smaller area
occupation usually estimated through the gate,connection or literal counts.
There are several approaches for sequential
logic optimization. The most extended method
consists in the separation of the flip-flops in the
circuit from the combinational part, and then
apply well-known combinational logic optimiza-
tion techniques [1,10] to the combinational part of
530 E. San Mill�aan et al. / Journal of Systems Architecture 49 (2003) 529–541
the circuit. The limitation of this method is that
the sequential behaviour of the circuit is not used
for optimization and therefore a better optimiza-
tion of the circuit is possible.
A second method for optimization is an
improvement of the first method by adding somesequential information to the circuit with sequen-
tial do not cares extracted from the STG [9]. The
main problem of this technique is that it has been
shown to be NP-complete in the case of completely
specified finite state machines.
Finally, the two main approaches to sequential
logic optimization are retiming and resynthesis
(RaR) [14,15] and sequential redundancy additionand removal (SRAR) [8]. Both are efficient meth-
ods and use the sequential behaviour of the circuit
for the optimization. The retiming technique con-
sists in moving the flip-flops across combinational
gates, merging combinational blocks and optimiz-
ing the resulting logic with combinational tech-
niques in a resynthesis step. This method has
become quite attractive, despite its limitations.Recently, the set of transformations that can be
provided with RaR has been formalized [11].
The redundancy addition and removal tech-
nique is based on the iterative addition and re-
moval of redundancies. This technique has
demonstrated to produce excellent results for
combinational circuits [8,18], being the major
advantages the low memory usage and the shortrun times. Sequential logic optimization is also
possible using this technique by considering
sequential redundancies [8].
In this work we compare the sequential trans-
formations that can be obtained by RaR and by
SRAR, working towards a formalization of the set
of transformations that can be obtained with the
latter technique. In particular, we demonstratethat the SRAR technique covers all the possible
optimizations that can be provided by the RaR
technique. Then we will show that SRAR is able to
optimize some typical circuit cases that cannot be
optimized by RaR. This way, we demonstrate the
superiority of the SRAR technique.
The rest of this paper is organized as follows.
Section 2 reviews the SRAR technique forsequential logic optimization. Section 3 reviews the
RaR technique and the set of transformations that
it allows to obtain. Then Section 4 demonstrates
that SRAR is able to cover all RaR transforma-
tions and Section 5 shows that there are transfor-
mations that are not possible with RaR but are
possible with SRAR. Finally, Section 6 presentsthe conclusions of this work.
2. Logic optimization by sequential redundancy
addition and removal
Redundancy addition and removal has been
shown to be a powerful logic optimization methodby several authors [4,8,13,18]. With this method,
a logic network is optimized by iteratively add-
ing and removing redundancies that are identi-
fied using Automatic Test Pattern Generation
techniques based on the implication of manda-
tory assignments. If the addition of k redundant
wires/gates creates more than k redundant wires/
gates elsewhere in the network, the removal ofthe created redundancies will result in a smaller
area.
Redundancy addition and removal is also
applicable to sequential circuits [8]. In this case,
sequential redundancies can be considered for
addition and removal. Sequential redundancies
can be identified by using the well-known time
frame model and performing the implication pro-cess across time frames. Sequential redundancy
addition may involve also the addition of flip-flops
[17] in order to temporarily expand the state set
and reduce it later on with redundancy removal.
Along with other general improvements that have
been proposed, such as using BDDs for implica-
tion [2] and multiple wire/gate addition [4], a large
set of sequential optimization transformations canbe identified.
The basic redundancy addition and removal
approach can be summarized as follows. A wire
is selected and tested for stuck-at fault. If no test
is possible, then the wire is redundant and can be
removed. Otherwise, we try to add a wire or a
gate to the circuit in order to make the target
fault redundant. Candidates for addition are alsotested for stuck-at fault in order to verify that
FF1FF2
ab
z
(b)
b / 1
(a)
a+b / 0 S0
a+ b / 1
b / 0
S1
FF1
FF2
ab
z
(c)
FF2
a b
z
(e)
FF1
FF2
ab
z
(d)
Fig. 1. Example of SRAR. (a) A two-state machine, (b) a one-hot coded implementation (S0¼ 01, S1¼ 10), (c) adding a sequentially
redundant connection do not after the behaviour of the circuit, (d) another connection in the circuit becomes now redundant, so it can
be removed, (e) the resultant equivalent circuit has one flip-flop only.
E. San Mill�aan et al. / Journal of Systems Architecture 49 (2003) 529–541 531
the addition preserves the functionality of the
circuit.
Example (taken from [8]). Fig. 1 shows the state
graph of a two-state machine and a one-hot coded
implementation of this machine. The machine has
two inputs, a and b, and one output. Since this
sequential circuit contains no redundancies, we tryfirst to add some sequential redundancy, as shown
in Fig. 1(c) with a dashed line. To prove that the
new circuit has the same functionality, we test the
stuck-at-0 fault at the new wire. These fault re-
quires that the mandatory assignments FF1¼ 1
and FF2¼ 1, i.e., the circuit must be in state 11,
which is unreachable, and therefore the connection
added is sequentially redundant. Because of theaddition of the new connection, another connec-
tion becomes redundant, as shown in Fig. 1(d).
After removing this connection and its fanins
which become floating, the circuit has only one
flip-flop and is a minimal-bit encoded machine
(Fig. 1(e)).
3. Retiming and resynthesis
3.1. Logic optimization by retiming and resynthesis
RaR [14] is a sequential optimization method
that can be applied, as redundancy addition and
removal, to optimize sequential designs described
at the logic level.
In retiming, the flip-flops are relocated acrosscombinational gates, changing the interaction
Forward (i)
Forward (iii)
Backward (ii)
Backward (iv)
Fig. 2. Primitive retiming operations.
ab
out
ab
out
outab
(a)
(b)
(c)
Fig. 3. RaR example. (a) Original circuit, (b) retimed circuit,
(c) resynthesized circuit.
532 E. San Mill�aan et al. / Journal of Systems Architecture 49 (2003) 529–541
between different combinational blocks, and with
the resynthesis step it allows to make logic opti-
mizations not possible by combinational methods
alone. A sequence of retiming and combinational
resynthesis steps provides the way to optimize
sequential circuits at the logic level.RaR consists on the application of a sequence
of two basic steps, synthesis and retiming, which
are described as follows:
• Synthesis: In this step the flip-flops are un-
touched and the flip-flop inputs and outputs
are treated as primary circuit inputs and out-
puts. This step provides simple combinationaloptimization alone.
• Retiming: Moves the flip-flops across combina-
tional blocks under certain rules, with the fol-
lowing effects:
(a) Change in cycle time: The delay along the
combinational path between flip-flops can
change, because those flip-flops are moved.
(b) Change in area: The number of flip-flopscan increase or decrease due to the move-
ment across combinational blocks.
(c) Change the interaction between combina-
tional blocks: This is the most important ef-
fect of retiming, as it provides the way to
further optimization of the circuit by combi-
national optimization.
(d) Changes on the state transition graph: Ret-iming may change the state transition graph
of the original circuit by changing the differ-
ent encodings of the state transition graph,
or changing the transition between states.
The possible movements of flip-flops across
combinational gates can be built from a sequence
of four primitive retiming operations, as stated inthe following lemma [11]:
Lemma. A general retiming operation can be con-structed as the sequence of retiming moves acrossprimitive transformations (i), (ii), (iii) and (iv) shownin the Fig. 2. These transformations are:
ii(i) moving flip-flops forward across a NAND gate,i(ii) moving flip-flops backward across a NAND
gate,
(iii) moving flip-flops forward across a multiple fan-out point,
(iv) moving flip-flops backward across a multiplefanout point.
An example of RaR is shown in Fig. 3. The
initial circuit has two registers and three combi-
national gates (Fig. 3(a)). The step of retiming
reduces the number of registers to one, and pro-duces the interaction between the combinational
gates (Fig. 3(b)). The next step, resynthesis, allows
a better optimization. The final circuit results in
only one register and only one gate (Fig. 3(c)).
s1s11
s12
2-way merge
2-way split
s
s11
s12
s
s11
s12
2-way switch
i1
i2
i1
i2
i2
i1
i3
i2
i1
i3
Fig. 4. State graph transformations.
s
s11
s12
s1
s s
s11
s12
2-way merge 2-way split
2-way switch
i3
i2
i1
i2
i1
i3
i2
i1
i3
Fig. 5. 2-way switch as a sequence of 2-way merge and 2-way
split.
E. San Mill�aan et al. / Journal of Systems Architecture 49 (2003) 529–541 533
3.2. Power of logic optimization by retiming and
resynthesis
The method of RaR has been widely studied,
and the optimization capability of these methodshave been formally established by several authors
[3,11,12,14].
The approach to establish the capabilities of the
method has been characterized by relating them to
the STG transformations. The characterization of
the relationship between RaR and STG transfor-
mations is given by the following definitions and
theorems [11,14]:
Theorem (Malik). Given a machine implementationM1, corresponding to a state transition graph G,with a state assignment S1, it is always possible toderive a machine M2 corresponding to the samestate transition graph G, and a state assignment S2
by applying only a series of resynthesis and retimingoperations on M1.
This theorem from Malik considers the case of
identical STGs with different state assignments. It
shows the encoding power of RaR. However, in
the case where the STGs of M1 and M2 are dif-
ferent, where not only a change of state assignment
is needed in the circuit, not is always possible to
derive the machine M2 from M1. The followingdefinitions and theorem show exactly when it is
possible.
Definition 1. For a given STG, two states s1 and s2
are 1-step equivalent if they have the same output
and if for all inputs i, the next state of s1 on i is the
same as the next state of s2.
Given a machine implementation M1 corre-
sponding to a state transition graph G1, and a
machine M2 corresponding to a state transition
graph G2, then G1 may be modified to obtain G2
though a series of three basic transformations.
These transformations may create states that are
equivalent to existing states, merge states that are
equivalent to existing states, and modify statetransitions to go to states equivalent to the original
destinations. The definitions of these basic trans-
formations are given below:
• 2-way split: A state s1 in G1 is split into two 1-
step equivalent states in G2 (Fig. 4).• 2-way merge: Two 1-step equivalent states s11
and s12 in G1 are merged to a single state s1
in G2 (Fig. 4).
• Switch: A transition in G1 to state s11 is modi-
fied to go to an 1-step equivalent state s12 in G2
(Fig. 4).
The 2-way split and 2-way merge constituteprimitive transformations. A 2-way switch, multi-
way splits and merges can be accomplished by a
sequence of 2-way splits and merges. In Fig. 5 it is
shown how to make a 2-way switch using a 2-way
split and a 2-way merge.
Definition 2. A transformation of an STG G1 into
another STG G2 is a 1-step equivalent transfor-mation if F2 has been obtained from G1 by either
splitting a state into 1-step equivalent states, or
merging two 1-step equivalent states, or switching
between two states that are 1-step equivalent.
Definition 3. Two STGs G1 and G2 are 1-step
equivalent if one can be obtained from other by a
sequence of 1-step equivalent transformations.
s-a-01 1
Propagation path blocked
s-a-0
1
1
Propagation path blocked
1
(b)
(a)
ab
ab
534 E. San Mill�aan et al. / Journal of Systems Architecture 49 (2003) 529–541
Theorem. Let M1 be an implementation corres-ponding to state assignment S1 and STGG1 andM2
be an implementation corresponding to state assign-ment S2 and STG G2. Then M2 can be obtainedfrom M1 using only a sequence of RaR operations ifand only if G1 and G2 are 1-step equivalent.
The definitions and theorems shown in this
section formalize the type of transformations that
can be obtained with RaR. It shows exactly the
possible transformations provided by retiming: the
1-step equivalent transformations. Any other
transformations in a circuit, that are not 1-stepequivalent, are not possible to obtain with just
series of RaR moves.
ab
(c)
s-a-101
1
Propagation path blocked
Fig. 6. Circuit of Fig. 3 optimized with SRAR. (a) Addition
step 1, (b) elimination step 1, (c) elimination step 2.
4. Possible retiming transformations with redun-
dancy addition and removal
Although redundancy addition and removaltechniques have been shown to be efficient opti-
mization techniques, the power of optimization of
these methods has not been formalized yet. In this
section we will show some of the capabilities of
these methods by comparing them with the reti-
ming methods and then showing that SRAR is
able to cover all RaR transformations.
First we will illustrate with one example thatRaR optimizations can also be obtained by
redundancy addition and removal. Consider again
the example in Fig. 3. The optimization of this
example with SRAR is described in Fig. 6.
To reach circuit in Fig. 3(c) from circuit in Fig.
3(a) the following transformations can be made:
(a) The OR gate highlighted in Fig. 6(a) is redun-dant, and thus can be added without changing
the functionality of the circuit. This redun-
dancy can be proved by taking into consider-
ation the fault stuck-at-0 shown in Fig. 6(a).
(b) The wire at the input of the second flip-flop in
Fig. 6(b) is redundant because the fault shown
in that figure is not detectable, and can be re-
moved, leading to circuit in Fig. 6(c).(c) The wire at the second input of the AND gate
in Fig. 6(c) is also redundant, so it can be re-
moved.
In the following result we will show that this
example is only a particular case, and in general,
all the optimizations available to retiming are also
available to redundancy addition and removal.
Theorem. All possible retiming transformations in acircuit can be obtained by redundancy addition andremoval transformations.
Proof. As all possible retiming transformations are
compositions of four primitive operations, we just
need to proof that each one of these primitives can
be performed by a redundancy addition and re-
moval transformation. We consider the four cases
(i), (ii), (iii) and (iv) shown in Fig. 2:(i) Moving forward two registers across a NAND
gate can be accomplished in two steps: moving firstthe inverter, and then the and gate. So we considerboth cases:
• Moving forward an and gate:
Consider the circuit in Fig. 7(a). We need tomove forward g1 across FF1. First we can add g2
FF1
FF1
FF1
FF1
FF2
FF2
FF2
g1
g2g1
g1g2
g2
s-a-1
0
0
00
s-a-1
0
0
0
Propagation path blocked
Propagation path blocked
(a)
(b)
(c)
(d)
Fig. 7. Moving forward an AND gate.
FF2
FF2
FF2
FF1
FF1
FF1
g
g
s-a-1
00
1
0
1
1
s-a-1
01
0
1
(a)
(b)
(c)
(d)
Propagation path blocked
Propagation path blocked
0
Fig. 8. Moving forward an inverter.
E. San Mill�aan et al. / Journal of Systems Architecture 49 (2003) 529–541 535
and FF2 as shown in Fig. 7(b) because the con-
nection between g2 and FF2 is redundant. Toshow this redundancy, consider the stuck-at-1
fault shown in Fig. 7(b). To justify the fault, FF2
needs a mandatory assignment of 0, and by
implication, g1 and FF1 have assignments of 0.
FF1¼ 0 prevents the fault propagation, and thus,
connection FF2 to g2 is redundant.
Now, by adding this redundancy to the circuit,
a new redundancy has appeared as shown in Fig.7(c). Stuck-at-1 fault shown in that figure produces
a mandatory assignment of 0 in g2, which blocks
the fault propagation. So the second input to g1 is
redundant, and by eliminating this redundancy we
get 7(d), reaching the transformed circuit we were
looking for.
• Moving forward an inverter:
Consider the circuit in Fig. 8(a). We need to
move the inverter across FF1. First we add FF2
followed by an inverter and g as shown in Fig.
8(b), because the second input of g is redundant.
To proof this redundancy, consider the fault stuck-
at-1 shown in 8(b). To justify this fault a manda-
tory assignment of 0 is needed at the output of thepreceding inverter. Now, by implication a man-
datory assignment of 0 is obtained at FF1, which
prevents the fault propagation.
Once this redundancy is added, FF1 becomes
redundant. This can be proved by taking into ac-
count the stuck-at-1 fault shown in Fig. 8(c). The
condition of justification of the fault is FF1 having
a mandatory assignment of 0. By implication, thesecond input of g gets a value of 0, which prevents
the fault propagation, and thus it is redundant.
Removing this redundancy leads to 8(d).
(ii) Moving backward a register across a NANDgate:
It can be accomplished as in (i) in two steps:
moving first the and gate and then moving the
inverter.
• Moving backward an and gate:
Starting from circuit in Fig. 9(a), transforma-
tions to reach circuit in Fig. 9(d) are the following.
FF1
FF1
FF1
FF1
FF2
FF2
FF2
g1
g2g1
g2g1
g2
s-a-10
1
0
0
s-a-1
Propagation path blocked
00
00
Propagation path blocked
(a)
(b)
(c)
(d)
Fig. 9. Moving backward an AND gate.
FF1
FF2
FF2
FF2
FF1
FF1
s-a0
1
0
1
1
s-a-10
01
0
1
1
(a)
(b)
(c)
(d)
Fig. 10. Moving backw
536 E. San Mill�aan et al. / Journal of Systems Architecture 49 (2003) 529–541
First gate g2 is added as shown in Fig. 9(b) be-
cause it is redundant. To show the redundancy,
consider the stuck-at-1 fault at the second input of
g2. This implies a mandatory assignment of 0 at
FF2, which prevents the fault propagation at g1.
By the addition of this redundant gate, nowFF2 becomes redundant: consider stuck-at-1 fault
at the output of FF2 as shown in Fig. 9(c). Then
FF2 has a mandatory assignment of 0 to activate
the fault, and by implication g2¼ 0, FF1¼ 0. FF1
having a value of 0 prevents the fault propagation
at g1, and then FF2 is redundant. Elimination of
FF2 leads to circuit in Fig. 9(d).
• Moving backward an inverter:
Starting from circuit in Fig. 10(a), the following
transformations lead to circuit in Fig. 10(d):
First, addition of g and inverted FF2 is shown to
be redundant. Consider the fault stuck-at-1 at the
first input of g, shown in Fig. 10(b). A mandatory
assignment of 0 in FF2 is needed to activate the
fault. By implication FF1 has a value of 1 and thesecond input of g has a value of 0. This input with a
value of 0 prevents the fault propagation.
Now, the addition of this logic makes the sec-
ond input of g redundant. Consider the stuck-at-1
g
g
-1
0
Propagation path blocked
ard an inverter.
E. San Mill�aan et al. / Journal of Systems Architecture 49 (2003) 529–541 537
fault in the second input of g, shown in Fig. 10(c).
To activate the fault, an assignment of 0 is needed
at the output of the preceding inverter. By impli-
cation, FF2 has a value of 0, which prevents the
fault propagation.
(iii) Moving forward a register across a multiplefanout point:
Circuit 11(a) can be transformed into circuit
Fig. 11(d) applying the following transformations:
First, addition of g and FF2 as in Fig. 11(b) is
redundant. Consider the stuck-at-0 fault at the
second input of g. To activate the fault FF2 gets an
assignment of 1. By implication the first input of g
gets a value of 1 which prevents the fault propa-gation.
Once this logic is added, the first input of g
becomes redundant. Consider the stuck-at-0 fault
at the first input of g shown in Fig. 11(c). To
activate the fault, FF1 has an assignment of 1, and
by implication the second input of g gets an
(d)
(b)
(c)
(a)
s-a-0
11
1
1
s-a-0
11
1
Propagation path blocked
Propagation path blocked
FF1
FF1
FF1
FF1
FF2
FF2
FF2
g
g
Fig. 11. Moving forward a register in a multiple fanout point.
assignment of 1, which prevents the fault propa-
gation. Removing this redundant connection leads
to circuit in Fig. 11(d).
(iv) Moving backward registers across a multiplefanout point:
Circuit 12(a) can be transformed into circuit12(d) applying the following transformations:
First, addition of g as shown in Fig. 12(b) is
redundant. Consider the fault stuck-at-0 at the first
input of g. To activate the fault, FF1 has a man-
datory assignment of 1, and by implication FF2
has an assignment of 1 which prevents the fault
propagation.
Once this redundant gate is added, FF2 be-comes redundant. Consider the stuck-at-0 fault
shown in Fig. 12(c). To activate this fault, FF2
needs to have a mandatory assignment of 1.
Implicating this value, FF1 gets an assignment of
1, and prevents the fault propagation at g.
After removing FF2, circuit 12(d) is obtained.
Having proved that all the primitive retiming
transformations can be achieved by redundancy
s-a-0
1
1
1
s-a-01
1
FF1
(a)
(b)
(c)
(d)
1
Propagation path blocked
Propagation path blocked
FF2
FF2
FF2
FF1
FF1
FF1
g
g
Fig. 12. Moving backward registers in a multiple fanout point.
538 E. San Mill�aan et al. / Journal of Systems Architecture 49 (2003) 529–541
addition and removal transformations, the proof is
finished. h
This theorem shows that the optimization
power of redundancy addition and removal tech-
niques is at least the same as the one stated forretiming methods.
It is remarkable that for the proof of the theo-
rem only a subset of all the possible redundancy
additions is used. Addition of multiple wires/gates
at the same time is not needed for the proof.
As we have characterized the possible retiming
transformations by relating them to the STG
transformations, we can apply those results toredundancy addition and removal methods as
follows:
s-a-0
(a) Original Circuit
(c)
(d)
11
1
Camin
1
Fig. 13. Exam
Corollary (encoding power of redundancy addi-
tion and removal). Given a machine implementationM1, corresponding to a state transition graph G,with a state assignment S1, it is always possible toderive a machine M2 corresponding to the samestate transition graph G, and state assignment S2 byapplying only a series of redundancy addition andremoval operations on M1.
Corollary. Let M1 be an implementation corre-sponding to state assignment S1 and STG G1 andM2 be an implementation corresponding to stateassignment S2 and STG G2 such that G2 is 1-stepequivalent to G1. Then M2 can be obtained fromM1 using only a sequence of redundancy additionand removal operations.
s-a-0
(b) Equivalent Circuit
g1
1
o de propagación bloqueado
ple 5.1.
x
e
y
e
x
e
0
y
e
e
e
s-a-10
0
00 0
Propagation path blocked
s-a-1
1
1
1 1x
y
(a) Original Circuit
(c)
(d)
(b) Equivalent Circuit
g1
g1
g1
g2
g2
0
Fig. 14. Example 5.2.
E. San Mill�aan et al. / Journal of Systems Architecture 49 (2003) 529–541 539
5. Redundancy addition and removal transforma-
tions which are not possible with retiming and
resynthesis
In the previous section we have establishedsome of the capabilities of the redundancy addi-
tion and removal methods. Now we will show that,
opposed to the retiming methods, these are not the
only possible STG transformations that these
techniques provide. In particular, we will show
some examples where optimization by RaR is not
possible, but optimization by redundancy addition
and removal is.
Example 5.1. In the example shown in the Fig. 13,
is not possible to reach circuit 13(b) from circuit
13(a) by a sequence of RaR transformations. This
result is shown in [12]. However, the redundancy
addition and removal technique can perform this
optimization. To this purpose, consider first the
addition of a redundant gate, as it is shown in Fig.13(c). To prove that this gate is redundant, we test
the stuck-at-0 fault at the second input of g1 and
obtain that the activation of this fault requires
both flip-flops assigned to 1 (state 11). The impli-
cations of the flip-flop assignment in the previous
time frame results in a conflict, leading to the
conclusion that state 11 is unreachable and the
fault is sequentially redundant.After adding gate g1, we can also prove that the
XOR gate becomes redundant. To this purpose,
consider stuck-at-0 fault at the the second input of
the XOR gate. To activate this fault, the second
flip-flop needs to have a mandatory assignment of
1, which prevents fault propagation at g1.
Example 5.2. In the example shown in the Fig. 14,is not possible to reach circuit 14(b) from circuit
14(a) by a sequence of RaR transformations. This
result is shown in [11].
As in the previous example there is a transfor-
mation of redundancy addition and removal that
can transform one circuit into the other. This
transformation consists in the following steps: the
addition of the redundant AND gate shown in Fig.14(c) makes the wire shown in Fig. 14(d) redun-
dant, and then the removal of this redundant wire
leads to circuit 14(b).
These two simple examples show that there are
more possible transformations provided by
SRAR than by RaR. The limitation of the reti-
ming operations is that flip-flops can not be
moved outside a feedback loop. This limitation
makes impossible to perform the operations nee-
ded to optimize the simple circuits in Examples5.1 and 5.2. However, the SRAR techniques do
not have this limitation, and therefore there are
more possible transformations available for opti-
mization.
6. Conclusions
Logic optimization for synchronous sequential
circuits is still an open issue. The two main ap-
proaches to sequential logic optimization are RaR
and SRAR. In this work we have compared the
sequential transformations that can be obtained
with both methods.
540 E. San Mill�aan et al. / Journal of Systems Architecture 49 (2003) 529–541
We have formally demonstrated that all the
possible transformations that can be obtained in a
circuit by a sequence of RaR operations can also
be obtained by a sequence of SRAR transforma-
tions. It is remarkable that for the proof of this
result only a subset of the possible transformationsprovided by SRAR is used.
We have also shown with some examples that
SRAR is able to perform transformations that
cannot be found by RaR. As there are more pos-
sible transformations provided by SRAR than by
RaR we can finally conclude that the SRAR
techniques have more potential for optimization
than the RaR methods.
References
[1] E.M. Sentovich, K.J. Singh, L. Lavagno, C. Moon, R.
Murgai, A. Saldanha, H. Savoj, P.R. Stephan, R.K.
Brayton, A.L. Sangionanni-Vincentelli, SIS: a system for
sequential circuit synthesis, Technical Report UCB/ERL
M92/41, Electronics Research Lab, Univ. Of California,
Berkeley, CA 94720, May 1992.
[2] E. San Mill�aan, L. Entrena, J.A. Espejo, Silvia Chiusano,
Fulvio Corno, Integrating symbolic techniques in ATPG-
based sequential logic optimization, in: Proc. DATE�99,
March 1999, pp. 516–523.
[3] H. Zhou, V. Singhal, A. Aziz, How powerful is retiming?,
in: Proc. IEEE/ACM Intl. Workshop on Logic Synthesis,
May 1998, pp. 111–125.
[4] J.A. Espejo, L. Entrena, E. San Mill�aan, E. Ol�ııas, General-
ized reasoning scheme for redundancy addition and
removal logic optimization, in: Proc. DATE�01, March
2001, pp. 391–395.
[5] L. Jozwiak, A. Slusarczyk, A. Chojnacki, Fast and
compact sequential circuits through the information-driven
circuit synthesis, DSD�2001––Euromicro Symposium on
Digital System Design, September 4–6, 2001, Warsaw,
Poland, IEEE Computer Society Press, Los Alamitos, CA,
USA, pp. 46–53.
[6] L. Jozwiak, General decomposition and its use in digital
circuit synthesis, VLSI Design: An International Journal of
Custom Chip Design Simulation and Testing 3 (3–4)
(1995).
[7] L. Jozwiak, Simultaneous decomposition of sequential
machines, Microprocessing and Microprogramming 30
(1990) 305–312.
[8] L.A. Entrena, K.-T. Cheng, Combinational and sequen-
tial logic optimization by redundancy addition and
removal, IEEE Transactions on CAD 14 (7) (1995)
909–916.
[9] P. Ashar, S. Devadas, A.R. Newton, Sequential Logic
Synthesis, Kluwer Academic Publishers, 1992.
[10] R.K. Brayton, R. Rudell, A.L. Sangiovanni-Vincentelli,
A.R. Wang, MIS: a multiple-level logic optimization
system, IEEE Transactions on Computer-Aided Design
Integrated Circuits CAD 6 (6) (1997) 1062–1081.
[11] R.K. Ranjan, V. Singhal, F. Somenzi, R.K. Brayton, On
the optimization power of retiming and resynthesis trans-
formations, in: Proc. ICCAD�98, November 1998, pp. 402–
407.
[12] R.K. Ranjan, Design and implementation verification of
finite state systems, PhD thesis, Electronics Research
Laboratory, University of California, Berkeley, CA
94720, 1997, Memorandum No. UCB/ERL M97/99.
[13] S.C. Chang, M. Marek-Sadowska, Perturb and simplify:
multi-level Boolean network optimizer, in: Proc. ICCAD-
94, November 1994, pp. 2–5.
[14] S. Malik, E.M. Sentovich, R. Brayton, A. Sangiovanni-
Vincentelli, Retiming and resynthesis: optimizing sequen-
tial circuits using combinational techniques, IEEE
Transactions on CAD of Integrated Circuits and Systems
10 (1991) 74–84.
[15] S. Malik, Combinational logic optimization techniques in
sequential logic synthesis, PhD thesis, University of Cal-
ifornia Berkeley, November 1990, Memorandum No.
UCB/ERL M90/115.
[16] T. Kam, T. Villa, R.K. Brayton, A. Sangiovanni-Vincen-
telli, Synthesis of Finite State Machines: Functional
Optimization, Kluwer Academic Publishers, 1997.
[17] U. Gl€aaser, K.-T. Cheng, Logic optimization by an
improved sequential redundancy addition and removal
technique, in: Proc. ASP-DAC, September 1995.
[18] W. Kunz, P.R. Menon, Multi-level logic optimization by
implication analysis, in: Proc. ICCAD-94, November 1994,
pp. 6–13.
Enrique San Mill�aan received the M.Sc.degree in Mathematics at La RiojaUniversity (Spain). He is an assistantprofessor at University Carlos III ofMadrid (Spain) and currently is adoctoral student in MathematicalEngineering. His main research inter-ests include CAD tools for designautomation of digital integrated cir-cuits dealing with synthesis and verifi-cation of digital systems.
Luis Entrena received the M.E. in 1988from University of Valladolid (Spain)and the Ph.D. degree in 1995 fromPolitechnic University of Madrid.From 1990 to 1993 he was with AT&TMicroelectronics, New Jersey, USA.From 1993 to 1996 he was with TGI,Spain. Since 1996 he is Associate Pro-fessor at University Carlos III of Ma-drid, Spain. His current researchinterest include logic synthesis andtest. He is a member of IEEE.
E. San Mill�aan et al. / Journal of Systems Architecture 49 (2003) 529–541 541
Jos�ee Alberto Espejo obtained the de-gree in electronics engineering in 1992from Politechnic University of Ma-drid. Since 1995 he is teaching elec-tronics at University Carlos III ofMadrid where obtained the Ph.D. de-gree in 2002. Currently he is workingon logic synthesis for VLSI circuits.His research work is focused on thestudy of the application of structuraloptimization methods to FPGAs andASICs and CAD tools for digital de-sign automation.
Celia L�oopez received the IndustrialEngineering degree in 1995 and thePh.D. degree in 2000 from PolitechnicUniversity of Madrid, Spain. She iscurrently Associate Professor at Uni-versity Carlos III of Madrid, Spain.Her main research interests includeCAD tools for design automation ofdigital integrated circuits dealing withsynthesis aspects, functional validationquality metrics and fault tolerancemeasurement for RTL designs inVHDL language.