Proceedings

Automated CPU Design by Learning from Input-Output Examples

Download BibTeX Cite

Proceedings of the Thirty-Third International Joint Conference on Artificial Intelligence. Main Track. Pages 3843-3853.

https://doi.org/10.24963/ijcai.2024/425

Abstract

Designing a central processing unit (CPU) requires intensive manual work of talented experts to implement the circuit logic from design specifications. Although considerable progress has been made in electronic design automation (EDA) to relieve human efforts, all existing EDA tools require hand-crafted formal program codes (e.g., Verilog, Chisel, or C) as the input. To automate the CPU design without human programming, we are motivated to learn the CPU design from only input-output (IO) examples. The key challenge is that the learned CPU design should have almost zero tolerance for inaccuracy, which makes well-known approximate algorithms such as neural networks ineffective.

We propose a new AI approach to generate the CPU design in the form of a large-scale Boolean function, from only external IO examples instead of formal program code. This approach employs a novel graph structure called Binary Speculative Diagram (BSD) to approximate the CPU-scale Boolean function accurately. We propose an efficient BSD expansion method based on Boolean Distance, a new metric to quantitatively measure the structural similarity between Boolean functions, gradually increasing the design accuracy up to 100%. Our approach generates an industrial-scale RISC-V CPU design within 5 hours, reducing the design cycle by about 1000x without human involvement. The taped-out chip, Enlightenment-1, the world's first CPU designed by AI, successfully runs the Linux operating system and performs comparably against the human-design Intel 80486SX CPU. Our approach even autonomously discovers human knowledge of the von Neumann architecture.

  1. [Adir et al., 2004] Allon Adir, Eli Almog, Laurent Fournier, Eitan Marcus, Michal Rimon, Michael Vinov, and Avi Ziv. Genesys-pro: Innovations in test program generation for functional processor verification. IEEE Design & Test of Computers, 21(2):84-93, 2004.
  2. [Akers, 1978] Akers. Binary decision diagrams. IEEE Transactions on computers, 100(6):509-516, 1978.
  3. [Bachrach et al., 2012] Jonathan Bachrach, Huy Vo, Brian Richards, Yunsup Lee, Andrew Waterman, Rimas Avižienis, John Wawrzynek, and Krste Asanović. Chisel: Constructing hardware in a scala embedded language. In Proceedings of Design Automation Conference, pages 1212-1221, 2012.
  4. [Bentley, 2001] Bob Bentley. Validating the intel pentium 4 microprocessor. In Proceedings of Design Automation Conference, pages 244-248, 2001.
  5. [Bentley, 2005] Bob Bentley. Validating a modern micro- processor. In Proceedings of International Conference on Computer Aided Verification, pages 2-4, 2005.
  6. [Bergeron, 2012] Janick Bergeron. Writing testbenches: functional verification of HDL models. Springer Science & Business Media, 2012.
  7. [Blocklove et al., 2023] Jason Blocklove, Siddharth Garg, Ramesh Karri, and Hammond Pearce. Chip-chat: Chal- lenges and opportunities in conversational hardware de- sign. arXiv preprint arXiv:2305.13243, 2023.
  8. [Boole, 1854] George Boole. An Investigation of the Laws of Thought: On which are Founded the Mathematical Theo- ries of Logic and Probabilities. 1854.
  9. [Bose et al., 2001] Mrinal Bose, Jongshin Shin, Eliza- beth M. Rudnick, Todd Dukes, and Magdy Abadir. A genetic approach to automatic bias generation for biased random instruction generation. In Proceedings of the Congress on Evolutionary Computation, pages 442-448 vol. 1, 2001.
  10. [Brown, 1990] Frank Markham Brown. Boolean Reasoning: The Logic of Boolean Equations. 1990.
  11. [Chen and Wang, 2012] Yu-Fang Chen and Bow-Yaw Wang. Learning boolean functions incrementally. In Proceedings of International Conference on Computer Aided Verifica- tion, pages 55-70, 2012.
  12. [Chen et al., 2020] Pei-Wei Chen, Yu-Ching Huang, Cheng- Lin Lee, and Jie-Hong Roland Jiang. Circuit learning for logic regression on high dimensional boolean space. In Proceedings of Design Automation Conference, pages 1- 6. IEEE, 2020.
  13. [Collen, 2011] Morris F Collen. Computer medical databases: the first six decades (1950-2010). Springer Science & Business Media, 2011.
  14. [Cong et al., 2022] Jason Cong, Jason Lau, Gai Liu, Stephen Neuendorffer, Peichen Pan, Kees Vissers, and Zhiru Zhang. Fpga hls today: Successes, challenges, and oppor- tunities. ACM Transactions on Reconfigurable Technology and Systems, 15(4):1-42, 2022.
  15. [Corno et al., 2004] Fulvio Corno, Ernesto Sánchez, Mat- teo Sonza Reorda, and Giovanni Squillero. Automatic test program generation: a case study. IEEE Design & Test of Computers, 21(2):102-109, 2004.
  16. [Coussy et al., 2009] Philippe Coussy, Daniel D Gajski, Michael Meredith, and Andres Takach. An introduction to high-level synthesis. IEEE Design & Test of Comput- ers, 26(4):8-17, 2009.
  17. [Dai et al., 2018] Steve Dai, Yuan Zhou, Hang Zhang, Ecenur Ustun, Evangeline F.Y. Young, and Zhiru Zhang. Fast and Accurate Estimation of Quality of Results in High-Level Synthesis with Machine Learning. In Proceed- ings of International Symposium on Field Programmable Custom Computing Machine, pages 129-132, April 2018.
  18. [Drechsler and Becker, 2013] Rolf Drechsler and Bernd Becker. Binary decision diagrams: theory and implemen- tation. Springer Science & Business Media, 2013.
  19. [Fine and Ziv, 2003] Shai Fine and Avi Ziv. Coverage di- rected test generation for functional verification using bayesian networks. In Proceedings of Design Automation Conference, pages 286-291, 2003.
  20. [Fu et al., 2023] Yonggan Fu, Yongan Zhang, Zhongzhi Yu, Sixu Li, Zhifan Ye, Chaojian Li, Cheng Wan, and Yingyan Celine Lin. Gpt4aigchip: Towards next- generation ai accelerator design automation via large lan- guage models. In International Conference on Computer Aided Design, pages 1-9. IEEE, 2023.
  21. [Gajski et al., 2012] Daniel D Gajski, Nikil D Dutt, Allen CH Wu, and Steve YL Lin. High-Level Synthesis: Introduction to Chip and System Design. Springer Science & Business Media, 2012.
  22. [Geetha et al., 2015] V Geetha, N Devarajan, and PN Nee- lakantan. Network structure for testability improvement in exclusive-or sum of products reed-muller canonical cir- cuits. International Journal of Engineering Research and General Science, 3(3):368, 2015.
  23. [Goswami et al., 2023] Pingakshya Goswami, Ben- jamin Carrion Schaefer, and Dinesh Bhatia. Machine learning based fast and accurate high level synthesis design space exploration: From graph to synthesis. Integration, 88:116-124, 2023.
  24. [Haaswijk et al., 2018] Winston Haaswijk, Edo Collins, Benoit Seguin, Mathias Soeken, Frédéric Kaplan, Sabine Süsstrunk, and Giovanni De Micheli. Deep learning for logic optimization algorithms. In International Sympo- sium on Circuits and Systems, pages 1-4. IEEE, 2018.
  25. [Henning, 2000] John L Henning. Spec cpu2000: Measur- ing cpu performance in the new millennium. Computer, 33(7):28-35, 2000.
  26. [IEEE, 1996] IEEE. Ieee standard description language based on the verilog hardware description language, 1364- 1995, 1996.
  27. [Intel, 1993] Intel. Intel's sl enhanced intel486 (tm) micro- processor family. 1993.
  28. [Kabylkas et al., 2021] Nursultan Kabylkas, Tommy Thorn, Shreesha Srinath, Polychronis Xekalakis, and Jose Renau. Effective processor verification with logic fuzzer enhanced co-simulation. In Proceedings of the International Sympo- sium on Microarchitecture, pages 667-678, 2021.
  29. [Kwon and Carloni, 2020] Jihye Kwon and Luca P Carloni. Transfer learning for design-space exploration with high- level synthesis. In Proceedings of the ACM/IEEE Work- shop on Machine Learning for CAD, pages 163-168, 2020.
  30. [Lahti et al., 2018] Sakari Lahti, Panu Sjövall, Jarno Vanne, and Timo D Hämäläinen. Are we there yet? a study on the state of high-level synthesis. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Sys- tems, 38(5):898-911, 2018.
  31. [Liang and Van den Broeck, 2019] Yitao Liang and Guy Van den Broeck. Learning logistic circuits. In Proceedings of the AAAI Conference on Artificial Intelligence, 2019.
  32. [Liu and Carloni, 2013] Hung-Yi Liu and Luca P. Carloni. On learning-based methods for design-space exploration with high-level synthesis. In Proceedings of Design Au- tomation Conference, pages 1-7, May 2013.
  33. [McFarland et al., 1990] Michael C McFarland, Alice C Parker, and Raul Camposano. The high-level synthesis of digital systems. Proceedings of the IEEE, 78(2):301-318, 1990.
  34. [Mohammadi Makrani et al., 2019] Hosein Moham- madi Makrani, Farnoud Farahmand, Hossein Sayadi, Sara Bondi, Sai Manoj Pudukotai Dinakarrao, Houman Homayoun, and Setareh Rafatirad. Pyramid: Machine Learning Framework to Estimate the Optimal Timing and Resource Usage of a High-Level Synthesis Design. In Proceedings of the International Conference on Field Program-mable Logic and Applications, pages 397-403, 2019.
  35. [Nane et al., 2015] Razvan Nane, Vlad-Mihai Sima, Chris- tian Pilato, Jongsok Choi, Blair Fort, Andrew Canis, Yu Ting Chen, Hsuan Hsiao, Stephen Brown, Fabrizio Fer- randi, et al. A survey and evaluation of fpga high-level synthesis tools. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 35(10):1591- 1604, 2015.
  36. [Pursley and Yeh, 2017] David Pursley and Tung-Hua Yeh. High-level low-power system design optimization. In Pro- ceedings of International Symposium on VLSI Design, Au- tomation and Test, pages 1-4, 2017.
  37. [Qian et al., 2023] Yu Qian, Xuegong Zhou, Hao Zhou, and Lingli Wang. An efficient reinforcement learning based framework for exploring logic synthesis. ACM Transac- tions on Design Automation of Electronic Systems, 2023.
  38. [Rai et al., 2021] Shubham Rai, Walter Lau Neto, Yukio Miyasaka, Xinpei Zhang, Mingfei Yu, Qingyang Yi, Masahiro Fujita, Guilherme B Manske, Matheus F Pontes, Leomar S da Rosa, et al. Logic synthesis meets machine learning: Trading exactness for generalization. In Pro- ceedings of Design, Automation & Test in Europe Confer- ence & Exhibition, pages 1026-1031, 2021.
  39. [Roy et al., 2021] Rajarshi Roy, Jonathan Raiman, Neel Kant, Ilyas Elkin, Robert Kirby, Michael Siu, Stuart Ober- man, Saad Godil, and Bryan Catanzaro. Prefixrl: Opti- mization of parallel prefix circuits using deep reinforce- ment learning. In Proceedings of Design Automation Con- ference, pages 853-858. IEEE, 2021.
  40. [Rudell, 1989] Richard L Rudell. Logic synthesis for VLSI design. University of California, Berkeley, 1989.
  41. [Shen et al., 2008] Haihua Shen, Wenli Wei, Yunji Chen, Bowen Chen, and Qi Guo. Coverage directed test gen- eration: Godson experience. In Proceedings of Asian Test Symposium, pages 321-326, 2008.
  42. [Ustun et al., 2020] Ecenur Ustun, Chenhui Deng, Debjit Pal, Zhijing Li, and Zhiru Zhang. Accurate operation delay prediction for FPGA HLS using graph neural networks. In Proceedings of International Conference on Computer- Aided Design, pages 1-9. Association for Computing Ma- chinery, November 2020.
  43. [Von Neumann, 1993] John Von Neumann. First draft of a report on the edvac. IEEE Annals of the History of Com- puting, 15(4):27-75, 1993.
  44. [Wang and Schafer, 2020] Zi Wang and Benjamin Carrion Schafer. Machine Leaming to Set Meta-Heuristic Specific Parameters for High-Level Synthesis Design Space Explo- ration. In Proceedings of Design Automation Conference, pages 1-6, July 2020.
  45. [Weicker, 1984] Reinhold P Weicker. Dhrystone: a synthetic systems programming benchmark. Communications of the ACM, 27(10):1013-1030, 1984.
  46. [Yang et al., 2022] Chenghao Yang, Yinshui Xia, Zhufei Chu, and Xiaojing Zha. Logic synthesis optimization se- quence tuning using rl-based lstm and graph isomorphism network. IEEE Transactions on Circuits and Systems II: Express Briefs, 69(8):3600-3604, 2022.
  47. [Yim et al., 1997] Joon-Seo Yim, Chang-Jae Park, In-Cheol Park, and Chong-Min Kyung. Design verification of com- plex microprocessors. Journal of Circuits, Systems, and Computers, 7(04):301-318, 1997.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards