Combining Power and Arithmetic Optimization via Datapath Rewriting (2404.12336v1)
Abstract: Industrial datapath designers consider dynamic power consumption to be a key metric. Arithmetic circuits contribute a major component of total chip power consumption and are therefore a common target for power optimization. While arithmetic circuit area and dynamic power consumption are often correlated, there is also a tradeoff to consider, as additional gates can be added to explicitly reduce arithmetic circuit activity and hence reduce power consumption. In this work, we consider two forms of power optimization and their interaction: circuit area reduction via arithmetic optimization, and the elimination of redundant computations using both data and clock gating. By encoding both these classes of optimization as local rewrites of expressions, our tool flow can simultaneously explore them, uncovering new opportunities for power saving through arithmetic rewrites using the e-graph data structure. Since power consumption is highly dependent upon the workload performed by the circuit, our tool flow facilitates a data dependent design paradigm, where an implementation is automatically tailored to particular contexts of data activity. We develop an automated RTL to RTL optimization framework, ROVER, that takes circuit input stimuli and generates power-efficient architectures. We evaluate the effectiveness on both open-source arithmetic benchmarks and benchmarks derived from Intel production examples. The tool is able to reduce the total power consumption by up to 33.9%.
- Synopsys, “Power Compiler,” 2023. [Online]. Available: https://www.synopsys.com/implementation-and-signoff/rtl-synthesis-test/power-compiler.html
- Cadence, “Joules RTL Power Solution,” 2023. [Online]. Available: https://www.cadence.com/en_US/home/tools/digital-design-and-signoff/power-analysis/joules-rtl-power-solution.html
- S. Coward, G. A. Constantinides, and T. Drane, “Automatic Datapath Optimization using E-Graphs,” in IEEE 29th Symposium on Computer Arithmetic (ARITH). IEEE, 9 2022, pp. 43–50.
- S. Coward, G. Constantinides, and T. Drane, “Automating Constraint-Aware Datapath Optimization using E-Graphs,” in Design Automation Conference, 2023.
- A. K. Verma, P. Brisk, and P. Ienne, “Data-flow transformations to maximize the use of carry-save representation in arithmetic circuits,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 27, no. 10, pp. 1761–1774, 2008.
- F. De Dinechin, S. I. Filip, M. Kumm, and A. Volkova, “Towards Arithmetic-Centered Filter Design,” in Proceedings - Symposium on Computer Arithmetic, vol. 2021-June, 2021.
- E. Ustun, I. San, J. Yin, C. Yu, and Z. Zhang, “IMpress: Large Integer Multiplication Expression Rewriting for FPGA HLS,” in 2022 IEEE 30th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), 2022, pp. 1–10.
- R. Zimmermann, “Datapath synthesis for standard-cell design,” in Proceedings - Symposium on Computer Arithmetic, 2009.
- M. Münch, B. Wurth, R. Mehra, J. Sproch, and N. Wehn, “Automating RT-level operand isolation to minimize power consumption in datapaths,” in Proceedings Design, Automation and Test in Europe Conference and Exhibition 2000, 2000.
- V. Tiwari, S. Malik, and P. Ashar, “Guarded evaluation: pushing power management to logic synthesis/design,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 17, no. 10, 1998.
- A. P. Hurst, “Automatic synthesis of clock gating logic with controlled netlist perturbation,” in Proceedings - Design Automation Conference, 2008.
- M. Donno, A. Ivaldi, L. Benini, and E. Macii, “Clock-tree power optimization based on RTL clock-gating,” in Proceedings - Design Automation Conference, 2003.
- Siemens Digital Industries Software, “Automatic sequential clock gating with PowerPro,” 2021.
- T. T. Hoang and P. Larsson-Edefors, “Data-width-driven power gating of integer arithmetic circuits,” in Proceedings - 2012 IEEE Computer Society Annual Symposium on VLSI, ISVLSI 2012, 2012.
- Synopsys, “Design Compiler User Guide S-2021.06-SP2,” Synopsys, Mountain View, Tech. Rep., 6 2021.
- M. Willsey, C. Nandi, Y. R. Wang, O. Flatt, Z. Tatlock, and P. Panchekha, “Egg: Fast and extensible equality saturation,” in Proceedings of the ACM on Principles of Programming Languages, vol. 5, no. POPL, 2021.
- P. Panchekha, A. Sanchez-Stern, J. R. Wilcox, and Z. Tatlock, “Automatically improving accuracy for floating point expressions,” ACM SIGPLAN Notices, vol. 50, no. 6, pp. 1–11, 2015.
- S. Reda and A. N. Nowroz, “Power modeling and characterization of computing devices: A survey,” Foundations and Trends in Electronic Design Automation, vol. 6, no. 2, 2012.