Original link: http://catcoding.me/p/3-years-in-eda/
I got together with a few former colleagues this weekend in Shanghai, and it brought back a flood of memories for me.
I am writing about EDA today, because my first job was to join a startup company in Shanghai, and what we do is an automated formal verification tool in the EDA industry.
This industry is now stuck, and capital is pouring in. Some people call it a domestic outlet, but when I joined it was like a mouse hole. I just watched Hackers and Painters when I graduated, so I chose a startup and took a path less traveled.
But in just three years, I have only had a taste of this industry. The following talk about my experience and feelings, writing from memory may not be accurate.
I have to say that Americans are very accurate. Isn’t China going to vigorously develop chips? It is simply a fantasy to make chips without EDA. EDA software has actually become the lifeblood of China’s high-end chips.
Electronic design automation (Electronic design automation, abbreviation: EDA), the development of this industry is accompanied by the chip revolution after 1980 and the rise of Silicon Valley. A chip is essentially a combination of many physical logic gates. In the early days of the chip, because the complexity and integration were far less than today, designers could also manually complete circuit design and wiring.
Then the complexity of the chips got higher and higher, and naturally people started to think that it would be nice if software could be used to describe the hardware design. In 1986, the hardware description language Verilog was introduced. In 1987, VHDL was introduced. Various simulators began to appear. These simulators could parse Verilog/VHDL and simulate the designed chip, so that the chip design can be strictly used before it is actually applied. ‘s verification.
Today, EDA tools have become a standard tool in the chip design industry, covering all processes of chip design, routing, verification, and simulation.
The big three in the EDA industry are Synopsys, Cadence, and Mentor. These companies are older than most of our current programmers. Mentor was founded in 1981, and the other two were founded in 1985 and 1986. These companies are now de facto monopoly, occupying about 80% of the market share.
When I joined NextOp in 2011, the company had been around for 5 years and started to enter a stable phase. The marketing personnel are in the United States, and the main R&D personnel are in Shanghai. This model is very similar to that of companies such as Zoom. Both founders went to the United States in the 1990s and entered the industry after completing their Ph.D.
They found a relatively segmented market, because they often need to manually write properties in their daily work, so they just thought about how to automatically generate properties after the emulator runs. Property is similar to the assertion in the program we write. It can be used as a part of the hardware spec or used for regression testing in hardware development. If an assertion is triggered, it may be a bug or a previously missed coverage. . Because hardware bugs are very valuable, if bugs can be found in the chip design stage, then this tool will be very useful. Our product name is called BugScope.
I remember that one of our important milestones at that time was finding Apple’s bugs, and I could feel a sense of accomplishment from all over the company, because finding an Apple hardware bug can reduce a lot of possible losses, which is very proving the value of the tool.
There are many technical difficulties in this. There are two aspects of the input that can be used to automatically generate the Property, the running data of the emulator and the Verilog/VDHL code. How to get the running data in the emulator and how to save disk big head.
Even more difficult is how to automatically discover the rules in the data, combine Verilog code to generate properties, and how to write properties that are simple enough to not contradict themselves. These will involve algorithms such as Model checking and SAT solver . EM Clarke , the founder of Model checking, is the founder’s doctoral tutor, so he acts as a consultant for the company. He received the Turing Award in 2007 for his pioneering work on Model checking.
Although the company is small, the technical atmosphere is very good. It is somewhat like a laboratory. The developers are basically from the University of Science and Technology of China, Shanghai Jiaotong University, and University of Electronic Science and Technology of China. As a fresh graduate, I have been able to learn a lot during my three years in this company. The code inside is mainly hundreds of thousands of lines of C/C++, and the crash of any product is on the customer’s machine, so the requirements for code quality are very high. In retrospect, Software Engineering has done a very good job, the code test coverage is almost 100%, and there are a lot of fuzz tests. In order to solve the memory problem, valgrind is used a lot in automated testing.
The threshold for this industry is too high, because it involves many aspects and requires some hardware background, preferably some experience in the chip industry, and good software engineering capabilities. Specific to our problems, such as how to generate properties, we need a lot of industry accumulation and manual polishing, and we need to think about each case. At that time, there were only two or three people in the company. I followed it for a short time, and found that I couldn’t do it myself, and my patience and relevant knowledge were not enough.
The EDA industry was very stable at that time, and the golden age was over. A boss often laments that the size of the entire EDA industry is not as good as the banana industry.
We already had some stable customers at that time, and the biggest one should be Apple. When I was in Shanghai, I also went to Marvell, ZTE and other companies to do on-site debugging.
In 2013, our company was acquired by Atrenta , an Indian-led company. A few years later, Atrenta was acquired by Synopsys. I left in 2014 because I wanted to go to Shenzhen. In this stable industry, if you want to do it, you can keep doing it. Some of my former colleagues are still working in Synopsys, some have gone to the United States, and some have started their own businesses in China. With my country’s strong support for EDA Industry, they returned to this industry to continue to struggle.
Can my country develop these EDA tools by itself? We spend billions and tens of billions of money in it, and we can always stir up some waves. The light of the nation can always be made by Huawei, right?
I’m not sure, it’s one thing to make it work, it’s another thing to do it well or to what depth. For example, Huada Jiutian, the leader of domestic EDA tools, can make domestic replacements for some 5nm chips, but high-end chips of 3nm and below are blocked by the United States.
Tools like EDA have grown naturally in Silicon Valley, not by capital, nor by one or two companies.
The rapid development of the industry has its own background. Because of some actual needs and certain industry accumulation, some people will naturally solve problems and innovate. The perfect property rights protection mechanism enables people to solve some seemingly small problems and become Startups supporting themselves, such as Parser like Verilog/VHDL are made by a small company Verific, which I remember now because they send customers a huge cartoon Silicon Valley map every year.
Like my company, which has been repeatedly acquired, the process of big fish eating small fish has been happening, and these EDA giants have developed from countless acquisitions.
There is no shortage of software development talents and funds in my country, but there is a shortage of people who have both software development capabilities and this industry background, and who can solve some basic mathematical problems. It is said that domestic Synopsys has been poached more than half. Maybe we can catch up for a while in a short time, but it is estimated that it will take more years to completely solve the problem of the stuck neck.
I still have some nostalgia for it now, a simple technical work experience. I was still impetuous at that time. It would be nice if I could have more pure curiosity, so that I would have a more in-depth experience.
But most of our colleagues at the gathering this time have jumped out of this industry, mainly because we have no particular interest and advantages in this industry, and we have more ideas. In short, it is impossible to go back after jumping out.
This article is reproduced from: http://catcoding.me/p/3-years-in-eda/
This site is for inclusion only, and the copyright belongs to the original author.