Triple-Threshold Path-Based Static Power-Optimization Methodology (TPSPOM) for Designing SOC Applications Using 28 nm MTCMOS Technology
Abstract
:1. Introduction
- (1)
- We proposed a new way of distinguishing critical cells. We distinguish the criticality of a cell based on its delay-to-power ratio and the criticality of the paths through it. The most critical cell in the most critical path is then selected in the replacement process.
- (2)
- Our algorithm flow avoids many operations of updating the timing and is suitable for VLSI designs.
2. Related Work
- These methods need to update the timing every time they swap a cell, which can lead to significant runtime in VLSI designs. The operation to update the timing is performed in STA tools, which calls the composite current source (CCS) timing library to recalculate the cell’s delay and update the path timing. Calculating delay using the CCS library is time-consuming [26], and updating the paths requires traversing many paths. For the same number of cells, replacing one cell at a time takes longer than replacing cells in a batch.
- The VLSI designs have a large order of magnitude of paths, so calculating the number of critical paths is also time-consuming. In GDSPOM, the critical path number must be updated after each cell replacement, while CAPCOM only calculates the critical path number once in the initial stage. Regarding time complexity, CAPCOM is much less than GDSPOM, while similar to CBLPRP.
- Targeted replacement is more effective if the timing constraints for each path are considered rather than just the number of critical paths.
3. Theoretical Analysis
- (1)
- A simplified path collection is used instead of all paths when considering the circuit’s timing.
- (2)
- Obtain the timing constraint inequalities for each path based on the information of cells and paths.
- (3)
- Quantify the criticality of paths and use them as path weights.
- (4)
- Get cell weight based on the weights of all paths associated with the cell and the delay-to-power ratio of the cell.
- (5)
- The initial state of the circuit is all-HVT. Path weights are used as the first order and cell weights as the second order to select the cells needing replacement. After each replacement, the path and cell weights are updated using approximate calculations. Repeat swapping cells until all the paths in the path collection meet the timing constraints. This stage saves time by avoiding updating the timing within the STA tools.
- (6)
- Apply the assignment results obtained from step 5 in the STA tools. If there are still timing violations, expand the path collection and perform step 5 again until the STA results meet the constraints.
3.1. The Reason and Way of Simplifying Path Collection
3.2. Obtaining Path-Based Timing Constraints
3.3. Path Weight
3.4. Cell Weight
3.5. Reasons for Expanding Path Collection
3.6. Advantages of the Method
3.6.1. Effectively Reduce Runtime
3.6.2. More Accurate Swapping Strategy
3.6.3. Effectively Compensate for the Impact of Simplification
4. Algorithm Flow
4.1. Basic Flow
- Part 1: Initial data.Convert the circuit to all-HVT/all-SVT/all-LVT states separately, perform STA, and obtain the timing arc, derate, and power consumption information. Then obtain the initial path collection with the circuit at all-HVT.
- Part 2: Sub algorithm.Obtain the result of the threshold voltage assignment based on the given path collection. The first path collection is provided in Part 1, and the subsequent one is in Part 3.
- Part 3: Top algorithm.Apply the threshold voltage assignment result provided by Part 2, and perform STA. If the STA timing results do not meet the timing constraints, add new paths to the original path collection. Then the new path collection is provided to Part 2, repeat until the results of STA meet timing constraints.
- Step 1: Initialize data.According to Equations (2)–(5) and (7), get , and of each path i and get , of each cell j. denotes the weight brought by the replacement of the cell from HVT to SVT, and denotes the weight brought by the replacement of the cell from SVT to LVT. For the same cell, is greater than , according to Equation (1). Swapping a cell to LVT is considered only after it has been swapped to SVT. equal when cell is in at HVT, while equal when in SVT and equal 0 when in LVT.
- Step 2: Iterate to find replacement cells.Find the most critical path m with the largest , then find the cell n with the largest weight on the path. After that, swapping the cell n from HVT to SVT or SVT to LVT.
- Step 3: Update data during iteration.When a cell is replaced, update all paths through it, and update the cells’ weight on those paths.
Algorithm 1 Sub triple-threshold voltage distribution algorithm | |
Input: path collection C, static power consumption P, timing arcs, the OCV derate Output: sub cell swap list | |
1: | Initialize each path i’s , and from collection C |
2: | Collect the replaceable cells on each path i as collection |
3: | Collect the paths through each cell j as collection |
4: | Initialize each cell j’s weight (HVT-to-SVT) and (SVT-to-LVT) |
5: | Initialize the state of all cells to 0 |
6: | When cell j’s state is 0, = ; when state is 1, = ; when state is 2, = 0 |
7: | repeat |
8: | Select the path m with the largest value |
9: | Select the cell n with the largest value in |
10: | if cell’s state = 0 then |
11: | Swap cell n from HVT to SVT, remark cell’s state as 1 |
12: | else if cell’s state = 1 then |
13: | Swap cell n from SVT to LVT, remark cell’s state as 2 |
14: | end if |
15: | for each path x in do |
16: | Update , , with Equations (3), (4) and (6) |
17: | for each cell y in do |
18: | Update , with Equation (8) |
19: | end for |
20: | end for |
21: | until all paths’ |
22: | Return sub cell swap list |
Algorithm 2 Top triple-threshold voltage distribution algorithm | |
Input: Static timing analysis results Output: Final cell-swapping list | |
1: | Initialize the circuit state to all-HVT |
2: | Initialize the path collection C |
3: | repeat |
4: | Provide path collection C to Algorithm 1 |
5: | Obtain the sub cell-swapping list from Algorithm 1 |
6: | Obtain the new path collection after applying the sub cell swapping list in STA tools |
7: | Add the new path collection to the original path collection C |
8: | Restore the circuit state to all-HVT |
9: | until STA results meet the timing constraints |
10: | Return Final cell-swapping list |
4.2. Optimize the Sub Algorithm
4.2.1. Optimize the Way to Update Cells’ Weight
4.2.2. Optimize the Way to Find the Path
4.2.3. The Update Algorithm
- 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 , and the smallest R-value in the sub-collection is denoted as . Find the most critical path m with the largest in the sub-collection . When is smaller than , update the sub-collection .
Algorithm 3 The updated sub triple-threshold voltage distribution algorithm | |
Input: path collection C, static power consumption P, timing arcs, the OCV derate Output: sub cell swap list | |
1: | Initialize each path i’s , and from collection C |
2: | Collect the replaceable cells on each path i as collection |
3: | Collect the paths through each cell j as collection |
4: | Initialize each cell j’s weight (HVT-to-SVT) and (SVT-to-LVT) |
5: | Initialize the state of all cells to 0 |
6: | When cell j’s state is 0, = ; when state is 1, = ; when state is 2, = 0 |
7: | repeat |
8: | Obtain sub-collection from collection C, and get , from |
9: | Select the path m with the largest value from SC |
10: | while ≥ do |
11: | repeat |
12: | Select the cell n with the largest in |
13: | Update cell n’s (when state is 0) or (when state is 1) |
14: | until 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: | else if cell state = 1 then |
18: | Swap cell n from SVT to LVT, remark cell’s state as 2 |
19: | end if |
20: | for each path x in do |
21: | update , , with Equations (3), (4) and (6), |
22: | update collection C, SC |
23: | end for |
24: | Select the path m with the largest value from SC |
25: | end while |
26: | until all paths’ |
27: | Return sub cell swap list |
5. Experimental Results
5.1. Static Power Consumption Results
5.2. Method Runtime
6. Conclusions
- (1)
- The algorithm proposed in this paper locates the cells to be replaced based on path weights and cell weights to optimize static power consumption. The path weight is obtained from the path constraint, and the cell weight is obtained from the path weight through the cell and its delay-to-power consumption ratio.
- (2)
- The proposed algorithm uses a simplified collection of paths for running-time optimization to characterize the overall timing and avoids frequent timing updates in STA tools.
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Kumar, S.V.; Rao, P.V.; Sharath, H.A.; Sachin, B.M.; Ravi, U.S.; Monica, B.V. Review on VLSI design using optimization and self-adaptive particle swarm optimization. J. King Saud Univ.-Comput. Inf. Sci. 2020, 32, 1095–1107. [Google Scholar] [CrossRef]
- Singh, V.; Arya, S.K.; Kumar, M. Different Perspectives of Low Power Design for CMOS VLSI Circuits. Int. J. Electron. Eng. 2018, 604–613. [Google Scholar]
- Lu, Y.H.; De Micheli, G. Comparing system level power management policies. IEEE Des. Test Comput. 2001, 18, 10–19. [Google Scholar]
- Caldari, M.; Conti, M.; Crippa, P.; Orcioni, S.; Solazzi, M.; Turchetti, C. Dynamic power management in an AMBA-based battery-powered system. In Proceedings of the 9th International Conference on Electronics, Circuits and Systems, Dubrovnik, Croatia, 15–18 September 2002; Volume 2, pp. 525–528. [Google Scholar]
- Zhang, J.F.; Gao, R.; Duan, M.; Ji, Z.; Zhang, W.; Marsland, J. Bias Temperature Instability of MOSFETs: Physical Processes, Models, and Prediction. Electronics 2022, 11, 1420. [Google Scholar] [CrossRef]
- Moradinezhad Maryan, M.; Amini-Valashani, M.; Azhari, S.J. An input controlled leakage restrainer transistor-based technique for leakage and short-circuit power reduction of 1-bit hybrid full adders. Int. J. Circuit Theory Appl. 2021, 49, 2382–2395. [Google Scholar] [CrossRef]
- Ghosh, P.; Saha, T.; Kumari, B. Aspects of Low-Power High-Speed CMOS VLSI Design: A Review. In Industry Interactive Innovations in Science, Engineering and Technology; Springer: Singapore, 2018; pp. 385–394. [Google Scholar]
- Bai, N.; Hu, Z.; Wang, Y.; Xu, Y. Leakage Current Stability Analysis for Subthreshold SRAM. Electronics 2022, 11, 1196. [Google Scholar] [CrossRef]
- Kao, J.T.; Chandrakasan, A.P. Dual-threshold voltage techniques for low-power digital circuits. IEEE J. -Solid-State Circuits 2000, 35, 1009–1018. [Google Scholar] [CrossRef]
- Narendra, S.; De, V.; Antoniadis, D.; Chandrakasan, A.; Borkar, S. Scaling of stack effect and its application for leakage reduction. In Proceedings of the 2001 International Symposium on Low Power Electronics and Design, Huntington Beach, CA, USA, 6–7 August 2001; pp. 195–200. [Google Scholar]
- Park, J.C.; Mooney, V.J.; Pfeiffenberger, P. Sleepy stack reduction of leakage power. In Proceedings of the International Workshop on Power and Timing Modeling, Optimization and Simulation, Santorini, Greece, 15–17 September 2004; pp. 148–158. [Google Scholar]
- Hanchate, N.; Ranganathan, N. A new technique for leakage reduction in CMOS circuits using self-controlled stacked transistors. In Proceedings of the 17th International Conference on VLSI Design, Proceedings IEEE, Washington, DC, USA, 5–9 January 2004; pp. 228–233. [Google Scholar]
- He, X.; Al-Kadry, S.; Abdollahi, A. Adaptive leakage control on body biasing for reducing power consumption in CMOS VLSI circuit. In Proceedings of the 2009 10th International Symposium on Quality Electronic Design, San Jose, CA, USA, 16–18 March 2009; pp. 465–470. [Google Scholar]
- Suguna, T.; Rani, M.J. Survey on power optimization techniques for low power VLSI circuit in deep submicron technology. Int. J. Vlsi Des. Commun. Syst. 2018, 9, 1–15. [Google Scholar]
- Kuo, J.B.; Lin, S.C. Low-Voltage SOI CMOS VLSI Devices and Circuits; John Wiley & Sons: Hoboken, NJ, USA, 2004; pp. 241–244. [Google Scholar]
- Dixit, A. Transistor Leakage Mechanisms and Power Reduction Techniques in CMOS VLSI Design. Int. J. Adv. Res. Comput. Commun. Eng. 2016, 5, 102–107. [Google Scholar]
- Chung, B.; Kuo, J.B. Gate-level dual-threshold static power optimization methodology (GDSPOM) using path-based static timing analysis (STA) technique for SOC application. Integration 2008, 41, 9–16. [Google Scholar] [CrossRef]
- Huang, H.X.; Shen, S.R.; Kuo, J.B. Cell-based leakage power reduction priority (CBLPRP) optimization methodology for designing SOC applications using MTCMOS technique. In Proceedings of the International Workshop on Power and Timing Modeling, Optimization and Simulation, Madrid, Spain, 26–29 September 2011; pp. 143–151. [Google Scholar]
- Lin, G.J.; Hsu, C.B.; Kuo, J.B. Critical-path aware power consumption optimization methodology (CAPCOM) using mixed-V TH cells for low-power SOC designs. In Proceedings of the 2014 IEEE International Symposium on Circuits and Systems (ISCAS), IEEE, Melbourne, Australia, 1–5 June 2014; pp. 1740–1743. [Google Scholar]
- Wei, L.; Chen, Z.; Johnson, M.; Roy, K.; De, V. Design and optimization of low voltage high performance dual threshold CMOS circuits. In Proceedings of the 35th Annual Design Automation Conference, San Francisco, CA, USA, 15–19 June 1998; pp. 489–494. [Google Scholar]
- Samanta, D.; Pal, A. Optimal dual-V/sub T/assignment for low-voltage energy-constrained CMOS circuits. In Proceedings of the ASP-DAC/VLSI Design 2002, 7th Asia and South Pacific Design Automation Conference and 15h International Conference on VLSI Design, Bangalore, India, 11 January 2002; pp. 193–198. [Google Scholar]
- Wang, Q.; Vrudhula, S.B. Algorithms for minimizing standby power in deep submicrometer, dual-V/sub t/CMOS circuits. IEEE Trans. -Comput.-Aided Des. Integr. Circuits Syst. 2002, 21, 306–318. [Google Scholar] [CrossRef]
- Xianrui, L.; Haibo, G.; Xinquan, K.; Yushan, L. Dynamic Threshold Static Power Optimization Techniques for the chip. J. Univ. Electron. Sci. Technol. China 2009, 38, 443–446. (In Chinese) [Google Scholar]
- Fan, R.; Dandan, Z.; Xiaolang, Y. An algorithm for reducing leakage power based on dual-threshold voltage technique. In Proceedings of the 2013 Fourth International Conference on Digital Manufacturing & Automation, Singapore, 13–15 December 2013; pp. 132–134. [Google Scholar]
- Bhasker, J.; Chadha, R. Static Timing Analysis for Nanometer Designs: A Practical Approach; Springer Science & Business Media: Berlin, Germany, 2009. [Google Scholar]
- El Motassadeq, T. CCS vs NLDM comparison based on a complete automated correlation flow between PrimeTime and HSPICE. In Proceedings of the 2011 Saudi International Electronics, Communications and Photonics Conference (SIECPC), Riyadh, Saudi Arabia, 24–26 April 2011; pp. 1–5. [Google Scholar]
Period | CBLPRP | CAPCOM | TPSPOM | ||||||
---|---|---|---|---|---|---|---|---|---|
Power | LVT | LVT | Power | LVT | LVT | Power | LVT | LVT | |
(ns) | () | C-Cells | S-Cells | () | C-Cells | S-Cells | () | C-Cells | S-Cells |
1.2 | 4.3813 | 108,354 | 2182 | 4.3818 | 65,112 | 10,284 | 2.6220 | 47,326 | 3804 |
1.1 | 5.5906 | 128749 | 4394 | 5.4998 | 85,966 | 12,923 | 3.5008 | 64558 | 5545 |
1.0 | 6.9498 | 146,037 | 8001 | 6.9088 | 109,385 | 16,035 | 4.8008 | 88315 | 7858 |
Period | CAPCOM | TPSPOM | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Power | SVT | SVT | LVT | LVT | Power | SVT | SVT | LVT | LVT | |
(ns) | () | C-Cells | S-Cells | C-Cells | S-Cells | () | C-Cells | S-Cells | C-Cells | S-Cells |
1.2 | 3.074 | 23,650 | 5190 | 41,462 | 5094 | 1.3285 | 47,141 | 4027 | 9848 | 860 |
1.1 | 3.8933 | 30,022 | 6080 | 55,944 | 6843 | 1.5586 | 71,128 | 6335 | 12,588 | 1175 |
1.0 | 4.9298 | 36,291 | 7311 | 73,094 | 8724 | 1.9289 | 105,021 | 9216 | 17,459 | 1617 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Li, P.; Zhu, S.; Xi, W.; Xu, C.; Zheng, D.; Huang, K. Triple-Threshold Path-Based Static Power-Optimization Methodology (TPSPOM) for Designing SOC Applications Using 28 nm MTCMOS Technology. Appl. Sci. 2023, 13, 3471. https://doi.org/10.3390/app13063471
Li P, Zhu S, Xi W, Xu C, Zheng D, Huang K. Triple-Threshold Path-Based Static Power-Optimization Methodology (TPSPOM) for Designing SOC Applications Using 28 nm MTCMOS Technology. Applied Sciences. 2023; 13(6):3471. https://doi.org/10.3390/app13063471
Chicago/Turabian StyleLi, Peng, Shite Zhu, Wei Xi, Changbao Xu, Dandan Zheng, and Kai Huang. 2023. "Triple-Threshold Path-Based Static Power-Optimization Methodology (TPSPOM) for Designing SOC Applications Using 28 nm MTCMOS Technology" Applied Sciences 13, no. 6: 3471. https://doi.org/10.3390/app13063471