It's morosely sad how so much chipmaking requires not just expensive chipmaking, but incredibly restrictive IP licensing. The whole Silicon Foundry model that lead to such prosperity & growth is now gated upon these primitives of computing, that only a handful of companies know how to make. The academics are all downstream of this control, limited in what they can play with, when they don't have access to ram blocks or ethernet or usb blocks.
I'd had some hopes there for a bit that open source chips were going to eventually work around this, that there's be enough interest in commoditizing and making accessible these things, in the way that open source unlocked so much growth in computing. I still hope I live to see such a re-opening happen. But it feels like it's going to be a lot more decades than I was hoping for.
Those components need to be optimized to the particular process and the companies that are best at developing them are also the same companies making the tools used to design semiconductors in the first place.
Cadence has to build a feature to design analog electronics in their software package. Then they have to make sure that their designs are compatible/manufacturable at all the foundries. This means they will inevitably develop all the basic components anyway and there is not much point to avoid paying them for the end result.
An integer adder or a multiplier is a commodity, the same adder optimized for a specific fab is a specialized good worth tens of thousands, if it means you can avoid the hassle of a tape out just to test your novel design. Nobody is realistically competing on adder designs and for the complex analog stuff, the development effort may add up to several tapeouts.
I feel like there's a ton of designs where absolute fastest is not that crucial. Plenty of products would be fine shipping DDR4-3200, or lower.
And it feels like there's significant opportunity for innovation lost when we have to accept blackbox designs, when these are pre-made systems. We could be doing incredibly neat NVMe Computational Storage things... but theres very few people able to experiment with NVMe in any meaningful way, that aren't gatekept by these expensive blocks. Near memory compute also has similar "what if" scenarios. We can treat these as "just buy off the shelf" commodity parts, until we can't: we can hardly guess how much innovation is being left behind by this current treatment.
Sure, your arguments that Cadence pre-qualifies designs at foundries is very compelling! It's incredibly nice to not have to do the hard work, to leave it all to someone else. I still think it's a bad bargain for society & that if we could collectivize the effort to make chip-making something available to people, if we could get back to a more pure Silicon Foundry style model that wasn't so gatekept, we could see something other than the incredibly sad fate that the past two decades have held: endless buy outs, endless consolidation of chip making, with far fewer new companies getting started.
Intellectual property favors the incumbents. If they're the upstart they may want everything to be open because their margins will be better anyway. If they're always going to be the cheapest why should they care about building an intellectual property moat?
But I'm just random dude on the Internet theorizing about the future ;)
Anybody have some good book recommendations on how to get into chip design (SoC/ASIC/FPGA/etc.) for somebody from embedded software background?
I was hoping for other book recommendations from folks who work in this domain. As the article points out, industry practice seems to be quite different from academia teaching.
Then I got into industry and saw that each of those steps is done by a different team of people, often at different companies. Most companies doing "chip design" today are buying off-the-shelf processors, system busses, memories, dma engines, network subsystems, sensor interfaces, etc. and just wiring them up. It's honestly kind of just, tedious now. The challenges have more to do with making sure those components are all mated up correctly than in doing any fun design work, at least for everyone on the team except the "chip architect." Working on the verification team is usually more interesting than on the design team on these kinds of projects (but don't tell the designers I said that).
I currently work for a company doing novel digital designs targeting FPGAs. There are still some off-the-shelf parts such as a PCIe, Ethernet, etc. blocks, but a good amount of the stuff I did in school, such as designing state machines, efficient data structures, and instruction sets. It's pretty fun.
A lot of software engineering work is similar -- basically plumbing across bits of functionality that someone else wrote. But really, isn't this true for several industries and most jobs? Between the management framework of breaking down responsibilities and pushing companies / people to focus on "core competencies" it seems that there's an inexorable tide in this direction, especially in corporate roles. Startups, of course, are the exception because they typically haven't gotten to a point where they have the luxury of dividing a goal so finely between so many people.