Math And Electronic Design Automation

What the universal language means to the development of electronic systems.


Even though our teenage children may not show it the proper appreciation (yet), math is often referred to as the “universal language.” And it is, even in EDA. Whenever I’m asked what the heck I do in my day job, I often fall back on analogies—a lot of them refer to building houses. For the geekier ones among us, I have even invoked The Hitchhiker’s Guide to the Galaxy’s Slartibartfast to explain system-level design approaches and challenges. It turns out that the EDA industry is already full of math, computational software, and advanced mathematical simulation that gets lost when using the simplified analogies above. More math, please! It’s for the cool kids!

First, regarding those analogies, they do work quite well, I think. A while back, I assembled a cross-functional team for a Hackathon at Cadence that included representatives from our marcom, legal, investor relations, analog, digital, custom design, and verification teams. The objective? Explain to our non-technical parents what we do. I am happy to report that my team won its track, and we eventually productized the results into a video that can be found on the Cadence YouTube channel.

Enabling Complex Electronic Systems – YouTube, Source: Cadence

Back to math.

Cadence has published a new white paper on Computational Software. During its review, I thought of a keynote that Jack Little, CEO of MathWorks, a company even with math in its name, gave at the Design Automation Conference back in 2008. Titled “Idea to Implementation: A Difference Perspective on System Design,” the keynote centered on math and model-based design to solve the growing challenges of electronic systems and embedded software development.

Jack posed the question of what engineering math, linear algebra, static relationships, differential equations, and continuous and discrete-time simulation have in common. Well, they all are ubiquitous and used across various industries, professions, and applications. And they are all enabled by the universal language of math, with computers enabling the widespread use of it.

My notes from that time say that Jack Little used a graph that showed 1,200X growth in clock speed, 8,000X in memory, 16,000X in disk space, 2,500X in communication bandwidth, and 60,000X in flops from 1984 to 2008. And the last 12 years have added more with the advent of multicore and parallelism. 1996’s Flight 501 of the Ariane 5 rocket nicely illustrated the challenge with development flows even at that time. It impressively failed because the nozzle control failed due to mapping the original floating-point data to a 16-bit integer, causing an arithmetic overflow. The solution here is model-based engineering, and a lot of the talk focused on its impact on shortening project execution times by automatically generating software from models.

This is abstraction and math at its best, increasing productivity on the design side. I did recently reason more about that side of system design here.

The integration side of the development process is using arguably even more math. Early in the development flow, abstract models enable efficient design. For verification and validation of the integration aspects, users require more detail. That’s where the simulation of the implementation aspects becomes very detailed. Besides the already well-established SPICE simulation that is math and model based, successful developments also need a fine-grain simulation of thermal and electromagnetic effects.

Thermal analysis for a cell phone, Source: Cadence

Again, math at its best, as we go back to issues like Maxwell’s equations that we all cherished in our physics and math lessons. The resulting graphs have much scientific detail, as their creation via simulation not only requires advanced math but also a lot of computing power and parallelism. Today this allows users to simulate the thermal and electromagnetic effects of cell phone complexity before finding out the hard way in production use.

This is complicated math at its best, going well beyond the electrical aspects of electronics, focusing on the integration side of the development process. Check out more here on Computational Software and EDA.

Math is truly universal. Speaking of it, I’d better check where my teenage daughter is on her math homework while we are sheltered in place. Stay safe and healthy!

Leave a Reply

(Note: This name will be displayed publicly)