Chip design is a very challenging, labor-intensive and resource-intensive task. Usually, a team of engineers needs to write code and then generate circuit logic with the help of electronic design automation (EDA) tools. For the manually written code, the engineering team needs to repeatedly perform functional verification and performance/power optimization on it. This process usually requires a team of hundreds of people to iterate for months or years to complete.
The goal of fully automated chip design is to have machines automatically generate circuit logic that meets functional and performance requirements, thereby greatly reducing manpower and resource investment and accelerating design iterations. Since A. Church, one of the founders of computer science, proposed the "Church problem" in 1957, fully automated design of processor chips has become a long-term vision in the field of artificial intelligence. However, due to the high accuracy requirements of processor chip circuits and the large design space, the processor logic must be logically designed by human experts. This has become a bottleneck in design efficiency in the entire process.
Led by Chen Yunji, director of the National Key Laboratory of Processor Chips, Institute of Computing Technology, Chinese Academy of Sciences, the team focused on solving the two major challenges of accuracy and scale faced by automatic design of processor chips, and proposed a verification-centered intelligent design methodology for processors: starting from random circuits, the machine automatically completes repeated iterations including verification, debugging, and repair until the target circuit that meets the design requirements is obtained.
Specifically, the team transformed the problem of automatic processor design into the problem of automatically generating a large-scale BDD (Binary Decision Diagram) representation from the input and output (IO) of the verification program. To address this problem, the team designed a binary guessing diagram (BSD), replacing the deterministic subgraph in the traditional BDD with the guessing nodes in the BSD determined by Monte Carlo sampling of IO. By continuously expanding and merging the BSD, the generated circuit can gradually approach the target circuit logic. The above method automatically designed a general-purpose processor with more than 4 million logic gates, Enlightenment No. 1, in 5 hours, which increased the scale of circuits that can be automatically designed by existing work by 3 to 4 orders of magnitude. The Enlightenment No. 1 chip is the world's first processor chip designed without human intervention and fully automatically. It can run the Linux operating system normally, and its measured performance reaches the level of Intel 486. The related paper Automated CPU Design by Learning from Input-Output Examples has been accepted by the CCF-A conference IJCAI 2024.
To further improve the performance of automatically generated processors, the team proposed an automatic pipeline design method based on gate-level dependency analysis. Data dependency analysis is the key to automatic pipeline design. Unlike traditional data dependency analysis, which can only be performed at high levels such as registers, this method automatically performs data flow analysis at the fine-grained gate circuit level. Based on the analysis results, a fine-grained pipeline control unit was constructed through a binary guessing graph. While ensuring the correctness of the function, the gate-level forward pass and guessing were used to improve the program execution efficiency, achieving a 1.57x performance improvement; more importantly, in some cases, a better pipeline design than human design can be found, with an average throughput improvement of 31%. The related paper
Revisiting Automatic Pipelining: Gate-level Forwarding and Speculation has been accepted by the CCF-A conference DAC 2024.