The role and increasing influence of software in the semiconductor industry has never been greater. Software has moved from table stacks enabler to much more than that. In this article I will discuss several trends that are driving software to higher levels of innovation and differentiation in the semiconductor industry.
The Conservation of Complexity; Tesler's Law (named after Larry Tesler), also known as The Law of Conservation of Complexity, states that for any system there is a certain amount of complexity which cannot be reduced. Every application has an inherent amount of complexity. This complexity cannot be wished away and has to be dealt with, either in product development or by the user.Key question is who should deal with this complexity. Should a software developer spend extra time on the program to make it simpler for the user or should the user have to deal with increased complexity? This law primarily applies to human factors and user interface design but I believe it has a role in software enablement for complex semiconductors as well. These SoC’s are becoming extremely complex and this complexity needs to be dealt with either by the user/customer or by the software that makes the SoC easier to use. In other words transfer the complexity from the user to the semiconductor software. If we spend more time on the enablement software to abstract complexity from SoC IP’s such GPU’s, CPU’s, VPU’s, NPU’c, DSP’s, ISP’s, etc, we can make it much easier for users to leverage these IP’s to do useful things. We don’t want our users to have to figure out the low level details of the IP’s themselves.
As a specific example of this, back in the 1990’s DSP was hard, lots of jargon like FIR/IIR filters and convolution, parallelism that added complexity to the programming model, etc.This complexity challenge was solved with optimizing VLIW compilers, model based design tools like Matlab that abstracted the problem further and produced ready to run software in multiple different programing languages.DSP hardware added hardware loop counters, bit manipulation, etc and suddenly DSP was not as fun anymore!I predict the same will happen with Machine Learning.Today there is lots of complicated jargon like deep neural networks and Support Vector Machine.But software will/is coming to the rescue with GLOW compilers, open source ML frameworks, and full development environments like NXP’s eIQ environment to productive ML development.Teslers law always eventually moves from the user to the producer, in this case, the semi’s.
Figure 1 Tesler’s Law of the Conservation of Complexity, applied to semiconductor
Provide the pickaxes; One of the famous quotes from the California gold rush was “you can mine for gold or you can sell pickaxes”. Actually its not just pickaxes…Levi Strauss made a lot of money selling jeans as well. You can argue that getting semiconductor supply in these times is like mining for gold, but my real point is that providing the software tools…the pickaxes…to make semiconductors useful quickly is a huge time to productivity advantage. These software tools are used to configure, develop applications, debug and optimize, generate machine learning models, perform high level system engineering modeling tasks, and many other useful productivity tasks. The late Mark Weiser was quoted as saying “A good tool is an invisible tool. By invisible, we mean that the tool does not intrude on your consciousness; you focus on the task, not the tool.”He also was known for saying“The most profound technologies are those that disappear”. Making these software tools easy to use so the user can concentrate on this task instead of concentrating on how to use the tools, is an important goal.