Sequential Redundancy Removal w/o State Space Exploration - PowerPoint PPT Presentation

About This Presentation
Title:

Sequential Redundancy Removal w/o State Space Exploration

Description:

If a label (m = a) is overwritten by the label (m = *) in the current set of ... Suppose m = a was first instance of overwritten by a * and let nj = bj be an ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 28
Provided by: eecsBe
Category:

less

Transcript and Presenter's Notes

Title: Sequential Redundancy Removal w/o State Space Exploration


1
Sequential Redundancy Removal w/o State Space
Exploration
A. Mehrotra, S. Qadeer, V. Singhal, R. Brayton,
A. Aziz, A. Sangiovanni-Vincentelli, Sequential
Optimization Without State Space Exploration
ICCAD 97, November 1997
M. Iyer, D. Long and M. Abramovici, Identifying
Sequential Redundancies without Search, DAC June
1996
2
Outline
  • Compatible Redundancies
  • Combinational
  • Sequential
  • Results

3
incompatible redundancies
similarly for n1 (s-a-1 redundant)
but setting them both to 1 at the same time gives
wrong circuit
Generally, we know that we can find a number of
redundancies at once, but setting any one of them
to their constant may invalidate the other
redundancies. Like dont cares. They need to be
compatible if they are to be used simultaneoously.
4
Recursive learning
a0 ? f0
recursive learning
5
Initial state?
  • We will not use an initial state
  • Instead we use concept of c-cycle redundancy
  • after c cycles of clocking, old and new machines
    have same I/O behavior
  • use concept of safe-delayed replacement which
    preserves concept of initializing sequences.

Definition An assumption A on a set of signals P
is a labeling from 0,1 on P
6
Implications
AND / INV
1
b ? b
1
0
1
0
b ? b
0 (1)
1
1
0
1
0
1
0 (1)
Observability
Note a can only imply a


0




7
Incompatible redundancies
0
0
1
  • Obviously wrong because of overwriting
  • When is overwriting legitimate?
  • could use rule to never overwrite
  • but then conservative

8
However!
  • New rule can overwrite a 0 or 1 with a , but
    never overwrite a with a 0 or 1


d
b
1
1 0
e
0
a2
c
1 0
a
a1
1 0
0 1
(a1 implications above the lines and a0
implications below the lines)
implies that a2 s-a-0 redundant
9
Combinational Algorithm
  • redundancy_remove(G (V,E))
  • while (there is unvisited n)
  • S1 learn_implications(n 1)
  • S0 learn_implications(n 0)
  • For every implication (l v) in R set l
    constant v
  • propagate constants
  • simplify network

v in 0,1
This requires the set of redundancies R is
compatible
10
Combinational Algorithm
  • learn_implications( G (V,E), A)
  • forall (n v in A) label n ? v
  • while (some rule can be invoked)
  • let (n b) be the new implication from rule
  • if (b ) label n ? b continue
  • if (b conflicts with a current label)
  • return l l in E // assumption A was
    inconsistent
  • else n ? b (I think we need to make sure a
    current label is not )
  • return set of all current labels

A conflict is if the label is both 0 and 1.
11
Rules and properties
  • At all times a net has a unique label
  • A 0 or 1 can be overwritten by a
  • But a is not allowed to be overwritten by a 0
    or 1
  • Set R is a set of compatible redundancies

12
Key concept to prove that set of redundancies
returned is compatible
  • Implication Graph
  • Vertices are labeled with (n r) for some net n
    and r in 0,1,
  • Root vertices labeled with (ma) in A
  • There is exactly on leaf vertex
  • For non-root node its label can be obtained from
    the labeling of its parents by using one of the
    rules of inference.

13
Example - implication graph
n1
n7
n3
n4
n9
n8
n2
n5
n6
14
Key Lemma
  • Lemma Let A be consistent. If a label (m a) is
    overwritten by the label (m ) in the current
    set of labels, then for all labels (nj bj),
    there is an implication graph such that (m a)
    is not a label of any vertex in the graph
  • Proof it is proved that if a constant label is
    overwritten with a , then every other label must
    have an implication graph which does not depend
    on the overwritten label.

15
Proof.
Suppose m a was first instance of overwritten
by a and let nj bj be an implication that
uses ma n1b1?n2b2??ma??njbj but
does not have a valid implementation graph now.
ith Case 1
2
3 Case1. assume
bj a constant. Then all bk are constants since a
can only imply a .
OR
16
Theorems
  • Let A be consistent. Then the set of labels
    returned by the algorithm is compatible.
  • Let ni s-a-vi redundant for all be
    the set of redundant faults reported by the
    algorithm. Then the circuit obtained by setting
    ni vi for all is combinationally
    equivalent to the original.

17
Sequential Redundancies
  • We will use the notion of c-cycle replacement,
    which says that we are willing to wait c cycles
    after power-up to start getting the correct
    results
  • Every signal will have a superscript which gives
    a time frame relative to a generic one t, e.g.
    dt, dt1, dt-2
  • Rules of implication are the same except when the
    implication is across a latch, the superscript is
    adjusted accordingly.

18
Example
i
y
f
Might conclude that c0 is a 2-cycle redundancy.
But WRONG. If we were to replace c by 0, and
the new circuit powers-up in state 1 1, then it
would produce x 1 all the time. However old
circuit produces x 0 for t gt 0.
d
b
a
g
e
c
Problem is that needed c1 was needed when a1
was used to imply c0
19
New Rule
  • Insure that no net is labeled with different
    values at different times.
  • Algorithm labels a net n with at most one value.
    If a net is labeled then we store a list of time
    offsets for when this label is valid.

20
c-cycle redundncy
  • Definition Suppose we conclude that n is s-a-v
    redundant at time t
  • let t be the least time offset in the
    implication graphs for n s-a-v such that some net
    m, mt is labeled with a constant
  • then we say that n is c-cycle s-a-v redundancy
    where

21
Lemma 1
  • Let a net be c-cycle s-a-v redundant. Then the
    circuit obtained by setting net n v results in
    a c-delayed safe replacement of the original
    circuit.

1 M. Iyer, D. Long and M. Abramovici,
Identifying Sequential Redundancies without
Search, DAC 1996
22
Lemmas
  • Let A be a consistent assumption. If a label nt
    a is replaced with nt in the current set of
    labels, then for all labels ntj bj, there is
    an implication graph such that nt a is not a
    label in the graph.
  • Let A be a consistent assumption. Then the set of
    labels returned by the algorithm is compatible.

23
Theorem
  • Let ni be ci-cycle s-a-vi redundant for all
    and . Then, the circuit
    obtained by setting the ni vi for all i is an
    N-delay safe replacement of the original circuit.

24
Results Application to sequential circuits -
Table 2
10636
full_simplify not run red redundancies
removed L latches, LR1, LR2 latches
removed A mapped area after script.rugged,
A1, A2 mapped area after red. removals C
c-cycle replacement (upper bound)
Compare to next table to see how much Sequential
redundancy removal can to over combinational
25
Results Application to combinational circuits
10636
Combinational redundancy removal only
26
Question
  • We saw that
  • Unroll the circuit n time frames
  • Assume that the present state lines in the first
    time frame are fully controllable
  • Assume that the next state lines in the last time
    frame are fully observable.
  • Use combinational test pattern generator
  • Two different procedures
  • Fault occurs only in the last time frame
  • Fault occurs in all time frames
  • In either case, lack of combinational test
    implies that fault is sequentially undetectable
  • What can we say about c-cycle redundancy?

27
Questions
  • How much did compatibility help in speeding up
    redundancy removal?
  • Seems like we can get the same set of
    redundancies without using compatibility.
  • Can we combine unrolling and compatible
    redundancies to get a more powerful method?
  • i.e. unroll and then reconnect registers after n
    time frames. Then detect and remove sequential
    redundancies.
  • Using the similarity with CODCs, can we extend
    the compatible redundancies to get a more
    powerful method?
Write a Comment
User Comments (0)
About PowerShow.com