0 8 4 5 . 8 6 4 6 . 1 3. 4 6 . 7 0 4 6 . 3 8 4 6 . 7 6. 4 7 . 2 6 4 6 . 8 7 4 7 . 3 4. 4 7 . ... 4 8 0 . 8 1. C 1 C 2 C 3. 0 . 0 0 1 . 6 1 0 . 0 0. 0 . 2 5 1 1 . 1 9 0 . 1 6 t = 6. = 8 3 .
Partition Based SoC Test Scheduling with Thermal and Power Constraints under Deep Submicron Technologies∗ Chunhua Yao, Kewal K. Saluja, Parameswaran Ramanathan Department of Electrical and Computer Engineering, University of Wisconsin-Madison {yao,saluja,parmesh}@ece.wisc.edu
Abstract For core-based System-on-Chip (SoC) testing, conventional power-constrained test scheduling methods do not guarantee a thermal-safe solution. Also, most of the test scheduling schemes make poor assumptions about power consumption. In deep submicron era, leakage power and wake-up power consumption can not be neglected. In this paper, we propose a partition based thermal-aware test scheduling algorithm with more realistic assumptions of recent SoCs. In our test scheduling algorithm, each test is partitioned and the earliest starting time of each partition is searched. To reduce the execution time of thermal simulation, we also exploit superposition principle to compute the power and thermal profile rapidly and accurately. We apply our test scheduling algorithm to ITC’02 SoC benchmarks and the results show improvements in the total test time over scheduling schemes without partitioning. Keywords: SoC Test, Test scheduling, Test partition, Thermal simulation, Superposition
1. Introduction With scaling technology and increasing design sizes, power consumption during test and test data volume have grown dramatically, especially for core-based SoC testing which allows multiple cores in testing mode concurrently. In the deep submicron era, the situation becomes worse because there are leakage power consumptions even for those idle cores. System level test scheduling strategies are normally adopted in order to reduce the test cost (specifically, the test application time) and to meet the limit power budget of the SoC system. Chou et al. [1] constructed test compatibility graph with power information and divided the problem into equal test length scheduling and unequal ∗ This work is in part supported by National Science Foundation under Grant CPA-0811467.
test length scheduling. Iyengar et al. [2] formulated the power-constrained test scheduling problem into a mixedinteger linear programming (MILP). A more recent solution to the power-constrained test scheduling problem by Zhao et al. [3] proposed a scheduling algorithm with a dynamical partitioning of the tests and a rectangle packing heuristic. However, traditional power-constrained test scheduling algorithm can not guarantee a thermal safe solution. Under the deep submicron technologies, the dramatic increase in power density on chip can result in the chip temperatures easily exceeding 100o C, especially during test mode with high switching activities [4]. Thermal hotspots can cause many problems such as high cooling cost, performance degradation, reliability issues, and device damage [5]. Thermal-aware test scheduling problem considers test resource conflicts, power consumption constraint, and the temperature constraint. Rosinger et al. [6] addressed this problem and proposed a method for the generation of thermal-safe test schedules. In their later work [7], they adopted the clique cover algorithm to find a initial test schedule meeting resource and power constraints, then eliminated the cliques which violate the temperature constraint by running thermal simulations. They also proposed a thermo-resistance model to approximately and quickly compute the thermal profile. Liu et al. [8] proposed a thermal-aware test scheduling scheme based on rectangle packing heuristic and also a scheme to spread the heat more evenly over the chip and reduce hot spots. He et al. [9] assumed that running an individual long test will exceed the temperature constraint so they proposed a test set partitioning and interleaving technique and employed constraint logic programming (CLP) to generate thermal-aware test schedules. In their later work, they proposed a heuristic [10] and added the assumption that there is thermal impact on neighboring modules [11]. Bild et al. [12] developed an optimal MILP formulation for the thermal-aware test scheduling problem. They also proposed a seed-based clustering test scheduling heuristic with a phased steady-state thermal model to reduce the thermal simulation time. In this paper, we propose a partition based thermal-aware
test scheduling scheme while taking into account the effects of deep submicron technologies. The main contributions of this paper includes: (i) We propose a partition based method to improve the performance of the SoC test scheduling under power and thermal constraints, and (ii) We consider more realistic constraints for SoC cores under deep submicron technologies, including leakage power and wake-up power for idle cores, partition overhead, and power variations. The rest of the paper is organized as follows: Section 2 discusses the limitations of related works and Section 3 explains the superposition principle to compute the power and thermal profile. The partition based thermal-aware test scheduling algorithm is described at Section 4. Section 5 shows the experimental results and the paper concludes with Section 6.
2. Limitations of related works A simple formulation of the test scheduling problem can be described as follows: A test set S, consisting of n tests ti , i = 1 to n, needs to be applied to a device under test. Each test ti has 1) test length li , which often is the number of test vectors in test ti , 2) test power consumption Pi , which indicates the power consumption when test ti alone is applied to the device, 3) test compatibility with a set of known tests. A test ti is compatible with test tj if there is no resource conflict between ti and tj and they can be applied to the device simultaneously. The test scheduling problem is to find a test schedule such that: 1. The total test application time is minimized. Total test application time is defined as the earliest time at which all tests have completed. 2. There is no resource conflict between any two simultaneously running tests. 3. The total power consumption of the device at all times is smaller than the power constraint, Pmax . 4. The temperature at every location in the device at all times is smaller than the temperature constraint, Tmax . In reality, the power consumption for a test varies in every clock cycle. However, almost all power-constrained test schedule schemes assume uniform power consumption during the lifetime of each individual test. The uniform power consumption value can be either the maximum power consumption or the average power consumption of the test. This assumption works well under a loose power constraint. However, with the sharply increased power density and tighter power constraint, a more realistic model is needed. In this paper, we do not assume uniform power consumption, instead we account for the actual power consumption in every test cycle within each individual test. We
also assume that each test has different stages which will have different average power consumptions. This is true because there are different testing requirements at different stages. For example, the power consumption of the portion of test that targets hard-to-detect faults is larger than the power consumption of the portion of the same test that targets easy-to-detect faults. This is the basis of our proposed partition based scheme and will be discussed more in section 4. Another shortcoming of uniform power consumption assumption is that a new test need only to be scheduled after the completion of the old test if scheduling the new test and the already scheduled test violates the power constraint. Under the more realistic assumption that power consumption changes each cycle, we may be able to schedule a test with partial overlap without violating the power constraint. It’s well known that the leakage power consumption becomes more important under deep submicron technologies. The idle cores, which have no test running on them, still consume large amount of leakage power and can not be neglected. Also, the power consumed in wake-up a core before applying a test can not be ignored. The power consumption to wake up the idle core can be larger than the active power consumption and further the wake-up latency can be as long as hundreds of microseconds [13]. In this paper, we consider both leakage power consumption and wake-up power consumption of idle cores. We also assume a reasonable wake-up latency before starting a new test. For thermal-aware test scheduling, thermal simulation is the bottleneck. There are two common ways to perform thermal simulation during a thermal-aware test scheduling: 1) Invoke thermal simulation tools, such as HotSpot [14]. The advantage of this method is the accuracy but the obvious shortcoming is the execution time. Every time a thermal simulation is needed, the tool must be invoked. For test scheduling of SoC with large number of cores, we may have to invoke thermal simulation a large number of times. 2) Develop simplified thermal model. This method can integrate the thermal simulation into the test scheduling algorithm and reduce the entire execution time. However, those models are not normally very accurate and will affect the performance of the thermal-aware test scheduling. In this paper, we exploit a method to compute the thermal profile rapidly and accurately using the well-known superposition principle. Our method is based on the algorithm we proposed in [15]. The method in [15] did not consider leakage and wake-up power consumption and overhead and we also used the simple uniform power consumption assumption. Partition based test scheduling are also discussed in [3] and [9]. In [3], the tests are dynamically and ”virtually” partitioned. Each test is still run-to-completion but it can cross into two or more test sessions. In [9], the authors assumed that running an individual long test alone will exceed the temperature constraint so they proposed a test set par-
titioning and interleaving technique based test scheduling. Even another test (or partitioned test) can be ”interleaved” into the cooling period of the current test, only one core can be tested during each testing cycle (or testing session). In this paper we assume that execution of each individual test will not violate the temperature constraint1 , which is true in most of the SoC test cases, and we show that partition each test into small partitions can further improve the performance of power and thermal constrained test scheduling. Another realistic assumption we made is the partition overhead, which is not considered in [9]. Partitioning the test can be realized by preemption, which means stopping and resuming the test within the duration of the test. Preemption requires save/load test states and will result in partition time overhead. In this paper, we propose a partition based thermal-aware test scheduling algorithm which can find the earliest starting time of each test partition. The starting time can be arbitrary time as long as scheduling the test partition will not violate any constraint.
S
T
=
1
C
2
C
2 1
3
2
.
0
.
1
C
2
C
8
0
.
4
2
4
.
1
3
2
4
.
3
2
2
.
8
0
3
.
4
5
2
4
.
3
2
2
.
8
0
3
.
4
5
2
3
.
7
7
2
.
8
0
3
.
4
5
2
3
.
0
0
2
.
8
0
3
.
4
5
2
1
.
7
4
2
.
8
0
3
.
4
5
2
3
.
9
4
1
5
.
1
3
3
.
4
5
2
2
.
7
5
1
3
.
3
4
3
.
4
5
2
2
.
7
0
1
6
.
2
2
3
.
4
5
4
.
1
3
1
4
.
8
9
3
.
4
5
4
.
1
3
1
4
.
6
5
3
.
4
5
4
.
1
3
2
.
8
0
3
.
4
5
4
.
1
3
2
.
8
0
3
.
4
5
3
0
.
5
7
3
0
.
5
7
3
0
.
0
2
2
9
.
2
5
2
7
.
9
9
4
2
.
5
2
3
9
.
5
4
4
2
.
3
7
2
2
.
4
7
2
2
.
2
3
1
0
.
3
8
1
0
.
3
8
5
.
8
0
3
.
4
0
.
1
a
k
e
9
u
p
9
5
P
4
.
1
3
2
.
8
0
3
.
4
5
4
.
1
3
2
.
8
0
3
.
4
5
4
.
1
3
2
.
8
0
3
.
4
5
4
.
1
3
2
.
8
0
3
.
4
5
4
.
1
3
2
.
8
0
3
.
4
5
4
.
1
3
2
.
8
0
3
.
4
5
4
.
1
3
2
.
8
0
3
.
4
5
4
.
1
3
2
.
8
0
3
.
4
5
o
w
e
1
9
.
6
4
1
8
.
8
7
1
7
.
6
1
1
9
.
8
1
1
2
.
3
3
1
8
.
6
2
1
0
.
5
4
1
8
.
5
7
T
r
2
6
1
1
1
2
1
T
4
.
1
3
2
.
8
0
3
.
4
5
4
.
1
3
2
.
8
0
3
.
4
5
e
s
t
P
o
w
L
e
e
.
1
6
.
.
7
0
8
9
5
r
a
k
a
g
e
P
o
w
e
r
Figure 1: Power profile computation
3. Superposition principle
from time 6 is added with the wake-up power consumption and then the test power consumption of test T2. At each cycle, the sum of power consumption of each core is the total power consumption of the entire SoC. For a power constrained test scheduling, a valid schedule should ensure that the total power consumption of the entire SoC at each cycle is less than the power constraint Pmax .
3.1
3.2
Power profile
When the SoC is powered on, all the cores are assumed to be in the idle state consuming leakage power Pleakage . When a test for one core is scheduled at time t, a wake-up period lwake with wake-up power Pwake is added to the initial power profile from time t. After that, the actual test is scheduled at time t+lwake with test power Ptest . For example, Figure 1 shows a core-based SoC with three cores: C1, C2 and C3. Test for C1, T1, has been scheduled at time 0 and test for C2, T2, has been scheduled at time 6. The power trace for the wake-up period is set to be Pwake − Pleakage . The reason to do so is that instead of “replacing” the leakage power with the wake-up power, we can simply add the Pwake − Pleakage to the initial leakage power Pleakage and then it becomes the wake-up power Pwake . This will further simplify the computation complexity of the superposition operations. Similarly, during the test period the power trace is set to be Ptest − Pleakage . The superposition principle to compute the power profile of the entire SoC chip works as follows: First, the power profile for the entire SoC is initialized with leakage power consumptions of each core, as seen in the left most figure of Figure 1. When T1 is scheduled at time 0, the power consumption for core C1 from time 0 is added with the wake-up power consumption and then the test power consumption of test T1 until the end of the test. Similarly, the power consumption for core C2 1 If running of a single test violates the thermal constraint, a possible solution is to a priory partition the test and insert cooling periods between the partitions. Our method has the capability to do this.
m
3
2 9
3 .
W
=
1
3
0
4
t
u
1 C
C
t
Thermal profile
The popular model used in thermal simulation is RC model [4]. It is well know that the RC model is a linear model. As a result, we exploit the superposition principle to compute the thermal profile. The superposition method is fast and as accurate as the thermal simulation tools. The computation of thermal profile of the entire chip using the superposition principle works as follows: 1. Initialize all cores with leakage power Pleakage and generate the initial thermal profile. 2. Apply each individual test to the SoC alone and start at time 0. Generate the thermal profile for each test with an initial temperature of 0. Each test consists of the wake-up and partition overhead loverhead and the actual test duration ltest . For the same reason as for the power profile, the power trace from for wake-up is set to be Pwake − Pleakage and the power trace for test is set to be Ptest − Pleakage . Thermal simulations for wake-up power and test power are performed separately because of possible partition mergers in our partition based test scheduling. Figure 2 shows example thermal profiles for a SoC consisting of three modules. Figure 2(a) shows the initial thermal profile for leakage power with an initial temperature of 45o C. Figure 2(b) and 2(c) shows thermal profiles of test T1 and T2 when they are applied individually with an initial temperature of 0o C. 3. To compute the thermal profile when there are more than one test running simultaneously, the superposition principle is used. For a test which starts at time t, the thermal profile of that test is shifted by t cycles and added to
C
1
C
2
C
3
C
1
1
4
t
=
5
.
3
9
4
5
.
3
1
4
5
.
4
.
5
C
3
2
0
.
0
C
0
0
3
.
0
C
11
4
6
.
0
8
4
5
.
8
6
4
6
.
4
6
.
7
0
4
6
.
3
8
4
6
.
7
1
6
4
7
.
2
6
4
6
.
8
7
4
7
.
3
4
4
7
.
7
9
4
7
.
3
4
4
7
.
8
8
4
8
.
2
8
4
7
.
7
8
4
8
.
3
8
4
8
.
7
4
4
8
.
9
4
8
.
8
4
11
.
00
7
00
.
22
.
5
4
0
.
6
11
00
.
0
.
00
4
6
.
5
7
.
6
5
.
9
C
2
2
4
5
.
3
C
5
4
6
.
0
4
4
7
.
0
1
same power constraint of 20, the test schedule with partition is shown in Figure 3(d), which has a smaller total test length of 32. The reduction of total test length by partition comes from overlapping between two test partitions with lower power consumptions. In this example each partition is assumed to have uniform power consumption. However, it is easy to see that this is not a strict requirement.
3
4
5
.
4
1
4
6
.
4
6
.
9
5
66
3
1
8
2
3
.
8
5
1
.
2
7
.
6
8
1
.
3
1
2
1
0
.
3
4
0
.
5
0
7
6
1
3
=
0
.
4
8
2
.
0
7
0
.
6
1
7
1
9
9
C
t
1
0
1
0
6
1
0
.
0
C
0
2
1
.
C
6
1
1
2
.
1
1
1
4
7
.
9
9
4
7
.
6
8
7
5
.
4
7
4
8
.
9
5
4
8
.
3
8
7
8
.
7
6
5
1
.
4
6
4
9
.
0
4
.
5
5
6
1
.
8
6
4
9
.
8
9
7
7
0
.
4
0
5
0
.
5
2
7
6
.
7
8
5
.
2
9
3
0
.
0
0
6
3
1
2
.
5
6
2
.
4
8
0
.
8
9
.
1
6
4
8
.
5
9
4
9
.
2
.
2
5
.
6
7
.
2
1
9
0
.
8
1
.
.
9
1
5
0
.
2
1
8
6
4
.
6
3
0
.
5
4
8
+
3
4
0
0
1
+
4
.
1
4
2
.
8
6
0
.
9
1
=
1
3
9
.
5
6
4
8
.
9
6
4
9
.
6
7
4
9
.
9
4
4
9
.
3
2
5
0
.
0
5
5
0
.
3
0
4
9
.
6
5
5
0
.
4
5
0
.
6
3
4
9
.
9
7
5
0
.
7
5
.
3
5
3
.
1
9
1
.
0
1
2
1
3
6
.
3
0
3
.
4
9
1
.
2
0
3
7
.
0
5
3
.
7
5
1
.
3
3
2
3
3
7
.
6
5
3
.
9
8
1
.
8
3
.
8
6
.
1
8
8
.
0
.
6
4
5
2
.
0
8
8
9
.
8
2
8
5
.
4
0
5
2
.
9
4
.
3
6
8
8
.
3
9
5
3
.
6
0
8
.
7
7
2
8
.
8
3
.
4
7
3
2
.
0
0
0
1
.
8
3
.
2
0
1
4
1
5
8
4
1
4
.
0
8
3
4
.
4
4
1
.
4
1
1
8
1
1
5
1
9
1
P
=
8
P
L
=
=
)
T
h
e
r
m
a
l
p
r
o
f
i
l
d
I
n
i
t
i
a
l
t
h
e
r
m
a
l
p
r
o
f
i
l
)
T
h
e
r
m
a
l
p
r
o
f
i
r
a
t
u
l
)
F
i
o
r
t
e
s
t
T
t
r
l
e
a
k
a
g
e
p
o
w
e
a
l
t
h
e
r
m
a
l
p
r
o
f
i
l
e
f
o
o
r
t
e
s
t
T
h
e
a
l
t
e
s
t
s
c
h
e
d
u
l
T
T
i
t
i
a
l
T
e
m
p
e
r
a
t
u
r
e
=
0
o
C
I
i
a
l
T
e
m
p
e
r
a
t
u
r
e
=
4
5
o
=
1
2
0
n I
t
t
i
a
l
T
e
m
p
e
r
e
=
0
o
n
i
t
i
T
e
m
p
e
r
a
t
u
r
e
=
4
5
o
C
C
C
L
=
6
P
P
=
1
=
0
P
=
1
5
L
L
=
2
=
P
Figure 2: Thermal profile computation
=
=
2
0
6
P
L
=
=
(
t
As mentioned in Section 2, test for each core can be divided into different stages and each stage has different average power consumptions. The power consumption of the test that targets hard-to-detect faults can be much larger than the power consumption of the test that targets easyto-detect faults. Partitioning the tests according to testing stages will result in test partitions with significantly different power consumptions thus benefit the power and thermal constrained test scheduling. A simple motivation example can be seen in Figure 3. Two tests, T1 and T2 are to be scheduled. T1 has a test power consumption of 10 and test length of 20. T2 has a test power consumption of 15 and test length of 20. Supposing a power constraint of 20, the final schedule without partition is shown is Figure 3(c) and total test length is 40. By partitioning T1 and T2 into three partitions, each partition will have different power and different length, as shown in Figure 3(a) and 3(b) where P means test power consumption and L means test length. Under the
=
)
P
a
r
t
i
t
i
o
n
f
o
r
t
e
s
t
T
1
(
0
t
=
t
=
b
)
P
a
r
t
i
t
o
n
f
o
r
t
e
s
=
=
1
=
=
1
1
=
0
6
1
0
2
0
P
=
=
0
t
=
2
t
=
2
6
t
=
3
2
=
=
=
=
1
=
=
2
(
c
)
T
4
e
5
0
s
(
t
s
c
h
e
d
u
l
e
w
i
t
h
o
u
6
=
1
3
0 L
=
5
2
P
L
1
0
L
P
1
8
9
P
T
1
6
L
L
t
2
5
=
P
2
T
8
=
L
t
P
=
t
1
P
t
3
6
5
L
L
i
=
0
P
T
t
p
a
r
t
i
t
i
o
d
)
T
e
s
t
s
c
h
e
d
u
l
e
w
i
t
h
=
p
6
a
r
t
i
t
i
o
n
n
Figure 3: Test partition
4. Partitioned based test scheduling Test partition
a
1
9
L
the initial thermal profile. For example in Figure 2, test T1 starts at time 0 and test T2 starts at time 6. The thermal profile of running them together is computed by shifting the thermal profile of T2 by 6 and adding the thermal profile of T1 and adding the initial thermal profile of leakage power. The final thermal profile of the test schedule is shown in Figure 2(d). The use of the superposition principle implies that the thermal simulation tool is run only once at the beginning. Then the computation of thermal profile becomes simple matrix addition operations, which significantly reduce the execution time of thermal simulation. In our study we use the thermal simulation tool, HotSpot, and we verified that it follows the superposition principle.
6
0
L
4.1
5
1
P
n
i i
1
e
2
r
I
n
1
8
r
1
f o
n
e
e
f
f
I
=
e
c )
1
5
L
b
a
4.2
Test scheduling algorithm
The pseudo-code of the proposed thermal-aware test scheduling algorithm is given in Figure 4. First, all the tests are partitioned into partitions. Then the power and thermal profile of running each partition alone is generated using thermal simulation tool. During the scheduling process, the resource conflict is checked first. If there is a resource conflict, the next possible starting time is the latest completion time of all conflicting tests. If there is no resource conflict, the power and the temperature constraints are checked by using the superposition principle for power and thermal profile computation. Actually, it is because of this efficient superposition power and thermal profile computation that we are capable to adaptively search the earliest start time of each test. Otherwise, the thermal simulation will be too time consuming to be integrated into the test scheduling algorithm. Note that we do not assume uniform power, therefore the power and thermal constraints must be satisfied for the complete duration of the overlap of tests. When two par-
titions from the same original test are scheduled together, there is no extra partition and wake-up overhead. If two partitions are scheduled separately, the wake-up and partition overhead are added before the actual test is started. In the proposed partition based test scheduling algorithm, we use the same list schedule scheme as described in [15]. P
I
F
a
r
n
i
o
t
t
i
i
t
i
a
r
o
n
l
e
a
o
c
S
e
p
t
a
h
c
e
h
t
w
a
w
r
t
i
l
e
_
t
T
i
c
(
s
u
t
a
c
h
o
f
a
T
V
i
l
t
s
O
n
d
u
f
t
o
p
r
u
/
t
t
e
s
t
/
s
h
l
e
l
t
d
e
u
s
l
i
i
o
l
n
s
e
;
g
e
n
e
r
a
t
i
o
n
;
o
p
i
a
m
d
r
l
t
e
i
i
l
Ncore 4 4 7 8 8 9 10 14 19
ltest 110-430 860-1320 230-760 210-1170 70-950 10-690 60-720 40-2060 130-1390
Ptest 1.91-34.82 4.92-27.02 3.55-9.65 1.42-10.50 1.17-17.12 2.44-17.32 1.10-6.28 0.73-10.09 0.92-9.08
Pwake 2.47-37.16 5.05-32.92 4.19-12.79 1.80-11.10 1.76-19.78 3.41-18.65 1.42-7.81 0.86-10.96 1.13-9.95
Pleakage 0.65-10.92 1.66-8.79 0.71-2.92 0.38-3.13 0.35-5.46 0.70-3.64 0.24-1.27 0.15-2.58 0.40-2.08
;
T
i
E
e
t
t
+
F
i
m
e
;
)
i
o
n
t
i
m
e
o
f
c
o
n
f
l
i
c
t
i
n
g
p
a
r
t
i
t
i
o
n
s
;
i
c
t
e
h
e
S
L
f
y
T
s
l
h
r
r
m
a
m
a
l
l
p
c
r
o
o
n
f
i
s
l
t
r
e
a
u
i
n
s
t
i
n
g
s
u
p
e
r
p
o
s
i
t
i
o
n
p
r
i
n
c
i
p
l
e
;
)
;
A
s
f
t
r
+
n
_
U
d
o
=
o
t
n
n
r
d
t
r
R
o
a
t
E
;
=
a
a
c
e
e
S
u
E
r
S
L
p
e
e
/
d
S
c
A
T
m
L
w
t
=
o
e
l
S
=
r
F
Benchmark f2126 q12710 a586710 h953 d281 u226 d695 g1023 p34392
)
t
A
w
T
=
E
C
u
u
e
a
F
_
d
S
t
=
o
d
e
c
o
p
t
e
h
t
e
t
f
L
i
=
s
e
l
n
l
+
/
c
i
o
A
o
p
r
u
f
e
e
A
c
a
h
S
E
i
n
d
t
c
t
r
F
t
e
a
r
p
d
e
e
t
S
l
i
R
u
o
e
m
l
a
l
=
o
o
S
e
t
i
u
p
(
r
c
N
m
h
=
e
d
/
c
d
_
e
/
C
t
p
a
:
S
c
n
m
n
e
p
r
e
o
l
r
o
r
;
e
u
t
i
0
o
t
e
u
l
s
i
i
d
n
h
=
d
e
i
t
e
S
l
r
h
e
R
t
t
e
c
S
e
s
d
a
m
h
f
e
n
p
S
(
i
t
a
s
e
S
h
r
Table 1: Modified ITC’02 SoC Benchmark
R
s
E
a
l
E
U
c
h
;
l
c
o
n
s
t
r
a
i
n
t
s
;
e
d
u
l
e
d
;
Figure 4: Partition based test scheduling algorithm
5. Experimental results We ran our thermal-aware test scheduling algorithm on ITC’02 SoC benchmarks [16]. We first specify the necessary information needed by the thermal-aware test scheduling such as SoC floorplan, power trace, resource conflict graph etc. The test length and test resource conflict information are specified as described in [15]. In our study each test is divided into three partitions. Each partition can be one of the relatively high, medium, or high power test for a given core. Note that it is possible that all partitions of a test consume high, medium, low, or a mixture of these powers with appropriate variations in power. For a more realistic assumption, we consider both temporal and lateral variations of power consumptions. We divide each core into several modules and assign different power consumptions to each module. Meanwhile, as we mentioned in Section 2, the power consumptions at each cycle are also different. Table 1 gives the specified information for all the SoC benchmarks. The first column is the name of the benchmark. The second column Ncore gives number of cores in each SoC benchmark. The range of test length is shown at column 3 as ltest . The range of power consumptions are given in last three columns, where Ptest means test power consumption, Pwake means wake-up power consumption and Pleakage means leakage power consumption respectively. The thermal-aware test scheduling results of the modified SoC benchmarks are shown in Figure 5 and Figure
6. Figure 5 shows the results without considering partition and wake-up overhead. In this figure, we also compare the results of traditional test scheduling scheme which assumes an uniform power consumption for each test. For uniform power we set the maximum power consumption value within the test as the uniform power for that test and we use the test scheduling scheme of [12]. In the figure, the bar labeled [12] shows the total test length of test scheduling with uniform power assumption. The bars labeled Without Partition and With Partition show the total test length of proposed test scheduling which considers power variation at each cycle, with and without test partition respectively. The figure clearly shows that considering the power variation at each cycle will largely reduce the total length of test scheduling. Figure 6 shows the results with considering partition and wake-up overhead. From both figures we can see that for all the SoC benchmarks, test partition benefits the power and thermal constrained test scheduling. When no overhead is considered, the average reduction of total test length is about 10%. When the partition and wake-up overhead is considered, the average reduction of total test length is about 8%. The improvement becomes smaller when considering overhead because each partition will bring extra partition and wake-up test time overhead. However, for the SoC benchmark q12710, a larger reduction of test length with overhead is seen. The reason is that our algorithm can search the earliest starting time for each partition so the partition and wake-up overhead can be potentially overlapped with other tests. As mentioned before, we assume each test is partitioned into three partitions. For further research, the optimal number of partitions need to be found by considering the tradeoff between the increase of extra partition overhead and reduction of total test length. In the extreme case, the test can be partitioned into one-cycle test vector and then merge them back to find the optimal number of partitions and optimal location to partition.
6. Conclusions In this paper, we propose a partition based thermal-aware SoC test scheduling algorithm with realistic assumptions
1
5
0
0
0
4
5
0
0
4
0
0
0
3
5
0
0
3
0
0
0
2
5
0
0
2
0
0
0
1
5
0
0
1
0
0
0
5
0
0
2
]
W
i
t
h
o
u
t
P
a
t
r
i
t
i
o
W
n
i
t
h
P
a
r
t
i
t
i
o
n
[
h
t
g
n
L e
t
s
T
e
0
f
2
1
2
6
1
q
2
1
7
0
a
5
8
6
1
7
0
h
B
e
5
9
c
h
3
m
2
d
a
r
1
8
u
2
2
6
d
6
5
9
1
g
0
2
3
3
p
4
3
2
9
k
Figure 5: Test scheduling without wake-up and partition overhead
h W
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
i
o
a
t
u
t
r
o
P
t
i
t
n
h
i
W
i
t
a
r
P
o t
i
t
n
i
5
0 4
3 5
3
0
h
t
g
2 5
n
e L
2
0
1
5
t
s
T
e
0 1
5
0
f 2
2
6
1
q
2 1
7
0 1
a
6 5
8
7
0
h
9
3
1
d
5
B
e
c
h
2
2 8
m
a
r
1
u
2
6
d
6
9
0 5
g
1
2
3
p
3
3
9
2
4
k
Figure 6: Test scheduling with wake-up and partition overhead
under deep submicron technologies. We consider the leakage power consumption and wake-up power consumption of idle cores. By using the test partition method, the algorithm can adaptively search the earliest starting time of each test partition and generate test schedule which meets resource compatibility, power constraint and temperature constraint. We also exploit superposition principle to rapidly and accurately compute the power and thermal profile. Applying our algorithm to ITC’02 SoC benchmarks shows that the proposed algorithm can reduce the total test time as compared to test scheduling methods without test partitioning.
References [1] R. Chou, K. Saluja and V. Agrawal, “Scheduling tests for VLSI systems under power constraints”, IEEE Trans. on CAD, Vol.5, No.2, June 1997, pp.175-185 [2] V. Iyengar and K. Chakrabarty, “System-on-a-chip test scheduling with precedence relationships, preemption, and power constraints”, IEEE Trans. on CAD, Vol.21, No.9, September 2002, pp.1088-1094 [3] D. Zhao and S. Upadhyaya, “Dynamically partitioned test scheduling with adaptive TAM configuration for power-constrained SoC testing”, IEEE Trans. on CAD, Vol.24, No.6, June 2005, pp.956-965
[4] K. Skadron, M. Stan, W. Huang, S. Velusamy, K. Sankaranarayanan and M. Stan, “Temperature-aware microarchitecture”, Proc. Int. Symp. on Computer Architecture June 2003, pp.2-13 [5] R. Viswanath, V. Wakharkar, A. Watwe and V. Lebonheur, “Thermal performance challenges from silicon to systems”, Intel Technology Journal, Vol.4, No.3, August 2000 [6] P. Rosinger, B. Al-Hashimi and K. Chakrabarty, “Rapid generation of thermal-safe test schedules”, Proc. Design, Automation and Test in Europe Conf. 2005, pp.840-845 [7] P. Rosinger, B. Al-Hashimi and K. Chakrabarty, “Thermal-safe test scheduling for core-based systemon-chip integrated circuits”, IEEE Trans. on CAD Vol.25, No.11, November 2006, pp.2502-2512 [8] C. Liu, K. Veeraraghavant and V. Iyengar, “Thermalaware test scheduling and hot spot temperature minimization for core-based systems”, IEEE Int. Symp. on Defect and Fault Tolerance in VLSI Systems 2005, pp.552-562 [9] Z. He, Z. Peng, P. Eles, P. Rosinger and B. AlHashimi, “Thermal-aware SoC test scheduling with test set partitioning and interleaving”, IEEE Int. Symp. on Defect and Fault Tolerance in VLSI Systems 2006, pp.477-485 [10] Z. He, Z. Peng, P.Eles, “A heuristic for thermal-safe SoC test scheduling”, Proc. Int. Test Conf. October 2007, pp.1-10 [11] Z. He, Z. Peng, P.Eles, “Simulation-driven thermalsafe test time minimization for System-on-Chip”, Proc. Asian Test Symp. November 2008, pp.283-288 [12] D. Bild, S. Misra, T. Chantem, P. Kumar, R. Dick, X. Hu, L. Shang and A. Choudhary, “Temperature-aware test scheduling for multiprocessor System-on-Chip”, Proc. Int. Conf. Computer-Aided Design November 2008, pp.59-66 [13] A. Sinkar and N. Kim, “Analyzing potential total power reduction with adaptive voltage positioning optimized for multicore processors”, To appear at Int. Symp. on Low Power Electronic Design, August 2009 [14] W. Huang, S. Ghosh, S. Velusamy, K. Sankaranarayanan, K. Skadron and M. Stan, “HotSpot: a compact thermal modeling methodology for earlystage VLSI design”, IEEE Trans. on VLSI systems, Vol.14, No.5, May 2006, pp.501-513 [15] C. Yao, K. Saluja, P. Ramanathan, “Thermal and power constrained test scheduling with adaptive cooling periods”, Tech. Report ECE0902, Department of Electrical and Computer Engineering, University of Wisconsin-Madison, August 2009 [16] E. Marinissen, V. Iyengar and K. Chakrabarty, “A set of benchmarks for modular testing of SoCs”, Proc. Int. Test Conf. October 2002, pp.521-528