Hacker News new | ask | show | jobs
by sandGorgon 3189 days ago
Its quite late here, so I'll be brief. You mentioned the words "how IP is managed in chip industry" - so I'm going to move past the bookish knowledge and the tutorials and the open source code.

The chip design and EDA industry are very closeted and niche - there is so much knowledge there that is not part of any manual.

For example for a newcomer, you wouldn't even know what testing and validation in chip design would be - or how formal verification is an essential part of testing.

You wouldn't know what synthesis is, what is place and route, and GDS masks for foundries.

There is seriously no place to learn this. The web design or the AI world works very different - you can be a very productive engineer through Udacity. Not with ASIC.

You need to find a job in the chip design or EDA industry. There is seriously no other way.

If I had to make a wild parallel - the only other industry that works like this are people who make compilers for a living. Same technology, same problems, similar testing steps I guess.

3 comments

I think your compilers example doesn't fit. They are actually a rather straightforward thing to build, many undergraduates build one as part of their studies, some hobbyists build compilers that get used by thousands of people and in fortune 500 companies core infrastructure. There's little rigor involved.

Among the few software systems that need rigor are control systems for physical installations and trading/finance systems for example.

Also many production-grade compilers (GCC/G++, Clang, OpenJDK, V8, and almost every new language that's come out since the 90s) are open-source. You can go read the commit logs & source code to see how they work, if you're diligent and willing to slog through them. There are certainly tricks that professional compiler writers use that aren't covered in textbooks (the big ones center around error-reporting, incremental compilation, fancy GC algorithms, and certain optimizations), but you can always go consult the source to learn about them.

I thought the thread was really about domains where the bulk of knowledge is locked up in industry rather than being about rigor, but I'd put control systems in that category as well. Also information retrieval (Google's search algorithms are about 2 decades ahead of the academic state-of-the-art...the folks at Bing/A9/Facebook know them too, but you aren't going to find them on the web), robotics, and aerospace.

im generally talking intel c++ compilers, etc. When I was doing EDA, we used to fork out a lot of cash for these compilers and these guys used to work very closely with us to optimize for certain kinds of code styles - for example loop unrolling on HP-UX, etc. I dont know if this is still a thing, so i might be mistaken.
What compilers did you have in mind? I suppose you didn't mean compilers for general purpose languages since most of these are FOSS like C#, Haskell, c++, TypeScript etc.
While I agree that the semiconductor industry is crushingly conservative, it's not necessarily that bad. You can still use many of the "old classics", you just have to remember that instead of 10 design rules there are 10K ;)

In all honesty though, a significant amount of the complexity can be hidden in the eda layers nowadays, and instead of dealing with the er,"tenacious"- synthesis tools, you can use good alternatives like Chisel.

Is that actually viable ? The Synopsy and Cadence tools have had several million man hours put into it.

Does something like Chisel give you competitive apples-to-apples performance ? All the way to GDS?