Chapter 3 Power-driven Scan Cell Reordering
3.5 Scan-cell Reordering Considering Both Response and Pattern Correlations
Correlations 24
MT-fill patterns.
3.5 Scan-cell Reordering Considering Both Response and Pattern Correlations
3.5.1 Detailed Steps of Reordering Scheme
RORC reduces scan-out transitions by minimizing the response correlations between adjacent cells. It ignores the impact of the cell ordering on the number of scan-in transitions resulted from the MT-fill patterns. In this section, we introduce another scan-cell reordering scheme, named ROBPR (ReOrdering considering Both Pattern and Response correlation), which can simultaneously optimize the pattern correlations and response correlations during the reordering process. Figure 3.8 shows the flow of ROBPR consisting of four main steps. The details of steps 1-3 are described in the following subsections. The detail of step 4 is the same as the step 5 in RORC and hence omitted in this section.
Step 1: Collect pattern and response correlations
Step 2: Construct a directed multiple-weight graph based on the collected pattern and response correlations
Step 3: Find the Hamiltonian path with the minimum WTC
Step 4: Apply the MT-Fill to specify the don’t-care bits based on the derived cell ordering
Figure 3.8: Main steps of the proposed reordering scheme ROBPR.
3.5 Scan-cell Reordering Considering Both Response and Pattern
Correlations 25
Obtain Pattern and Response Correlations
In order to measure the impact of a cell ordering on the number of scan-in transitions, we first defscan-ine the pattern correlation between cell i and cell j as the probability that the pattern values on these two cells are the same when the output of cell i is connected to the input of cell j. Note that this pattern correlation is dependent on the order of cells. For a test pattern k, Table 3.4 considers each combination of pattern values between cell i and cell j, and lists its corresponding pattern correlation after MT-fill (denoted as P Ck(i, j)).
case value of cell i value of cell j P Ck(i, j)
1 0 0 1
2 0 1 0
3 0 X S0/(S0+ S1)
4 1 0 0
5 1 1 1
6 1 X S1/(S0+ S1)
7 X 0 1
8 X 1 1
9 X X 1
Table 3.4: Different cases of pattern correlations between two adjacent cells.
In cases 1, 2, 4, and 5, both values of cell i and j are specified bits and hence their pattern correlations can be determined immediately for test pattern k. In cases 7, 8, and 9, a don’t-care bit are placed prior to a specified bit and hence the don’t-care bit will be filled with the same value as the specified bit. In cases 3 and 6, a specified bit is placed prior to a don’t-care bit. Hence, the value of this don’t-care bit cannot be derived immediately and has to be determined by its first encountered specified bit when traversing toward the scan-chain output. We use S0/(S0+ S1) (S1/(S0+ S1)) to represent the probability that its first encountered specified bit is a 0 (1), where S0 and
3.5 Scan-cell Reordering Considering Both Response and Pattern
Correlations 26
S1 denote the total numbers of specified 1s and 0s in the test pattern, respectively.
After calculating the P Ck(i, j) for each pattern k, the pattern correlation between cell i and cell j for the entire test set can be obtained by averaging the P Ck(i, j) for each pattern k.
As to the response correlations, we use the same simulation-based method de-scribed in the Sec. 3.4.1 to estimate them.
Construct the Directed Correlation Graph
The correlation graph constructed in ROBPR is a revised version of the correlation graph in Sec. 3.4.1. First, this correlation graph is directed. Second, an edge in this correlation graph has two weights (Wp, Wr), where Wp and Wr represent the pattern correlation and response correlation, respectively. Figure 3.9 shows an example of con-structing such a directed correlation graph given the pattern and response correlations between three scan cells.
Figure 3.9: Construction of the directed graph based on pattern and response correlations.
3.5 Scan-cell Reordering Considering Both Response and Pattern
Correlations 27
Find the Hamiltonian Path with Minimal WTC
Unlike RORC which finds a Hamiltonian cycle first and then breaks the Hamil-tonian cycle to obtain a HamilHamil-tonian path with minimal estimated W T Cout, ROBPR uses an integrated algorithm to directly obtain the Hamiltonian path with minimal esti-mated W T Ctotal on the correlation graph. Figure 3.10 shows the proposed greedy-based algorithm, which also ordered one new vertex at a time to form such a Hamiltonian path.
When adding the nth non-ordered vertex Vnon for the Hamiltonian path, this algorithm uses a cost function Cost(Vlast, Vnon, n) to measure the impact of the new-added edge (Vlast, Vnon) on W T Ctotal, which is defined in Equation 3.3. In the definition of Cost(Vi, Vj, n) in Figure 3.10, the Wp(Vi, Vj) (Wr(Vi, Vj)) actually represents the prob-ability that a pattern-value (response-value) difference occurs between Vi and Vj. The n in the cost function actually represents the WP D(n) described in the WTC equation 3.1.
The N − 1 − n in the cost function actually represents the WRD(n) described in the WTC equation 3.2.
This cost function will guide the algorithm to emphasize more on the response correlation in the beginning of the ordering process and then gradually move its emphasis to the pattern correlation in the later stage of the reordering process, which exactly reflects the WTC definition in Equations 3.1 and 3.2.
3.5.2 Experimental Results
We conduct experiments for ROBPR on the same benchmark circuits and test pat-terns as in Sec. 3.4.2. Table 3.5 compares the results of ROBPR with the results of RORC, which considers only the response correlation during the reordering. The ex-perimental results show that, in average, ROBPR can generate 33.87% less scan-in transitions but only 5.01% more scan-out transitions compared to RORC. This
signif-3.5 Scan-cell Reordering Considering Both Response and Pattern
Correlations 28
1 #define
2 Wp(Vi, Vj) : the pattern correlation of edge (Vi, Vj) 3 Wr(Vi, Vj) : the response correlation of edge (Vi, Vj) 4 Wp(Vi, Vj) : 1 − Wp(Vi, Vj)
5 Wr(Vi, Vj) : 1 − Wr(Vi, Vj)
6 Cost(Vi, Vj, n) : Wp(Vi, Vj) × n + Wr(Vi, Vj) × (N − 1 − n) 7 begin
8 N ← # of cells ; n ← 1 ;
9 M in l ← a list of N edges having the minimum (Wp+ Wr×(N -1));
10 for each directed edge e(Vi, Vj) of M in l 11 V1st←Vi, V2nd←Vj, Vlast←V2nd; 12 while non-ordered V
13 costmin← ∞; n ← (n + 1) ; 14 for each non-ordered Vnon
15 if (Cost(Vlast, Vnon, n) < costmin) 16 costmin←Cost(Vlast, Vnon, n) ; 17 Vnext ←Vnon ;
18 endif
19 endfor
20 Vlast←Vnext
21 endwhile
22 endfor 23 end
Figure 3.10: The proposed algorithm for finding a Hamiltonian path with minimal W T Ctotal.