• 沒有找到結果。

Scan-cell Reordering Considering Both Response and Pattern Correlations

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 V1stVi, V2ndVj, VlastV2nd; 12 while non-ordered V

13 costmin← ∞; n ← (n + 1) ; 14 for each non-ordered Vnon

15 if (Cost(Vlast, Vnon, n) < costmin) 16 costminCost(Vlast, Vnon, n) ; 17 Vnext Vnon ;

18 endif

19 endfor

20 VlastVnext

21 endwhile

22 endfor 23 end

Figure 3.10: The proposed algorithm for finding a Hamiltonian path with minimal W T Ctotal.

相關文件