How are the tens of billions of transistors in a chip designed?

On April 21, 2021, at the Hot Chips conference, the top conference in the chip industry, Cerebras Systems released a wafer-scale engine chip - Wafer Scale Engine 2.

This chip uses TSMC's 7-nanometer process, has 850,000 AI cores, contains 2.6 trillion transistors, and has an area of ​​46,225 square millimeters. It is based on a full 12-inch wafer, which is by far the largest number of transistors. chip.

Except for this "Big Mac", the mainstream chips used in smartphones or personal computers on the market all have tens of billions of transistors. So how are the astronomical number of transistors designed?

"There are tens of billions of transistors, you can't draw them by hand?" I believe that many non-industry people will have similar confusion.

In fact, in the early days of integrated circuit development, internal transistors were all designed by hand. At that time, the scale of the chip was small, with only dozens or hundreds of transistors. However, with the development and evolution of the chip, its logic functions have become more and more complex and comprehensive, and the number of transistors has also increased exponentially. At this time, it is obviously unrealistic to draw the circuit freehand. Subsequently, computer-aided design began to be applied to the field of chips. In terms of directly contributing to the design of tens of billions of chips, there are three secret weapons that are essential.

One of the secret weapons - the idea of ​​using programming languages ​​to design chips

This idea comes from the book "Introduction to VLSI Systems" by Cavo Mead and Lynn Conway, and its introduction is a very important milestone in the history of chip design.

Suppose we want to design a data comparator. When the input values ​​​​a and b are equal, the return value of equal is 1; when a and b are not equal, the return value is 0. Using Verilog language, one line of code can be implemented.

assign equal = (a==b)? 1 : 0;

However, if you draw a transistor circuit freehand, by analyzing the function of the above data comparator, you can know that the logic function is consistent with the NOR gate, so you can use the XOR gate followed by an inverter to realize the function of the data comparator. Building an XOR gate requires at least 6 transistors, and an inverter requires 2 transistors, so we completed the design of 8 transistors with one line of code, which greatly improves the efficiency of engineers designing chips!

This is the simplest example of digital chip design. In actual work, engineers can describe the structure and logic functions of the design circuit at a relatively abstract level, describe complex logic functions with concise and clear source code, and support modularization design and hierarchical design. Often a circuit designed with a few dozen lines of code can contain tens of thousands of transistors. Therefore, it is possible to design chips with tens of billions of transistors through programming.

The second secret weapon - EDA

After the RTL design is completed, logic synthesis tools can be used to convert the RTL into a gate-level netlist, that is, logic gates such as AND, OR, and NOT and the connection relationship between them.

There are three main steps in the process of converting RTL into a gate-level netlist: translation, optimization, and mapping. Just like an automated assembly line, as long as the raw materials are put in, the finished product can be obtained.

All these complicated tasks are handed over to EDA, which can significantly shorten the design time and speed up the speed of bringing chips to the market.

The third secret weapon - repeated calls to existing mature design modules

In the chip, the number of many units or modules is used more than once, such as the arithmetic logic unit, we only need to design it once and call it repeatedly.

This is like when an architect designs a residential building, he only needs to design several standard types of units, and does not require each type of unit to be uniquely designed.

Or from a higher-level perspective, the current CPUs are all 8-core, 16-core, etc., and the designs of these cores are almost the same.

Although chip design engineers are considered hardware engineers, programming is one of the essential skills of chip design engineers, and it is programming thinking that gives chip design unlimited possibilities.

This article is excerpted from the book "The Amazing Chip", welcome to read this book to learn more about it.

insert image description hereinsert image description here

50% discount for a limited time, scan the QR code to learn more about this book!

Guess you like

Origin blog.csdn.net/broadview2006/article/details/131450216