## 4 Algorithm Flow
### Basic Flow
The main update steps are shown below. * Updated step 1: Optimize the way to update cells' weight. The weights are not updated when replacing cells. Update the weights of some cells on the path after finding the most critical path. First, find the cell with the maximum weight on the path, update the weight of this cell, and then find the new cell with the maximum weight. Loop until the cell with the maximum weight has been updated. * Updated step 2: Optimize the way to find the path. Extract the worst part from the path collection \(C\) as the sub-path collection \(SC\), and the smallest R-value in the sub-collection is denoted as \(R_{F}\). Find the most critical path \(m\) with the largest \(R_{m}\) in the sub-collection \(SC\). When \(R_{m}\) is smaller than \(R_{F}\), update the sub-collection SC. Figure 8: The relationship between the number of traversed paths and the times of swapping cells when using the new way. ```
0: path collection \(C\), static power consumption \(P\), timing arcs, the OCV derate \(\alpha\)
0: sub cell swap list
1: Initialize each path \(i\)'s \(t_{slack_{i}}\), \(t_{repairable_{i}}\) and \(R_{i}\) from collection C
2: Collect the replaceable cells on each path \(i\) as collection \(CIP_{i}\)
3: Collect the paths through each cell \(j\) as collection \(PTC_{j}\)
4: Initialize each cell \(j\)'s weight \(WS_{j}\) (HVT-to-SVT) and \(WL_{j}\) (SVT-to-LVT)
5: Initialize the state of all cells to 0
6: When cell \(j\)'s state is 0, \(W_{j}=WS_{j}\); when state is 1, \(W_{j}=WL_{j}\); when state is 2, \(W_{j}=0\)
7:repeat
8: Obtain sub-collection \(SC\) from collection \(C\), and get \(R_{F}\), \(R_{m}\) from \(SC\)
9: Select the path \(m\) with the largest \(R_{m}\) value from SC
10:while\(R_{m}\geq R_{F}\)do
11:repeat
12: Select the cell \(n\) with the largest \(W_{n}\) in \(CIP_{m}\)
13: Update cell \(n\)'s \(WS_{n}\) (when state is 0) or \(WL_{n}\) (when state is 1)
14:until\(W_{n}\) has been updated in this loop
15:if cell state = 0 then
16: Swap cell \(n\) from HVT to SVT, remark cell's state as 1
17:elseif cell state = 1 then
18: Swap cell \(n\) from SVT to LVT, remark cell's state as 2
19:endif
20:for each path \(x\) in \(PTC_{n}\)do
21: update \(t_{slack_{x}}\), \(t_{repairable_{x}}\), \(R_{x}\) with Equations (3), (4) and (6),
22: update collection C, SC
23:endfor
24: Select the path \(m\) with the largest \(R_{m}\) value from SC
25:endwhile
26:until all paths' \(t_{slack}\geq 0\)
27:Return sub cell swap list
```

**Algorithm 3** The updated sub triple-threshold voltage distribution algorithm

## 5 Experimental Results

The experiment is based on a CPU IP using 28 nm technology, while the number of cells is 385781, and the required frequency is 1 GHz. TPSPOM is applied on this circuit, while CBLPBR and CAPCOM have also been used for comparison. ### Static Power Consumption Results

When the circuit is all-LVT, the value of static power consumption is 19.7909 \(mW\). First, we compare the methodologies' results in using only dual-threshold voltage, HVT, and LVT. Table 1 shows the experimental results of power consumption, the number of the LVT combinational cell, and the number of the LVT sequential cell under various delay constraints. Figure 9 shows the result of static power consumption, and Figure 10 shows the results of the percentage of the LVT cells. The results show that for static power consumption optimization, CAPCOM is slightly better than CBLPRP, while TPSPOM is significantly better than the other two methods. Moreover, the results indicate that under the shortest 1 ns delay constraint, compared to the all-LVT circuit, CBLPRP's static power consumption is reduced to 35.12%, while CAPCOM's is reduced to 34.91% and TPSPOM's is reduced to 24.26%. For the percentage of LVT cells, CAPCOM is significantly lower than CBLPRP, while TPSPOM is significantly lower than the other two methods. It proves that using the parameter of delay-to-power ratio as a basis for distributing threshold voltage can effectively reduce the proportion of LVT cells.