About a month ago I took my family to The Bakken Museum in Minneapolis, Minnesota. We wanted to visit the museum for some time, but never made quite it. We even went there once last year only to find out it is closed every Monday. The history of the museum derives from from Earl Bakken, a co-founder of Medtronic in 1949. It's a great place for kids to learn some of the history of medical electronics, and also more about the general role of electricity in our lives. As you enter the museum area, the first display describes how Bakken created the first battery operated pacemaker based on a metronome circuit he found in Popular Electronics magazine. On the way out I picked up a book titled One Man's Full Life (also available as a pdf file) and headed home to read more about Earl Bakken and the Medtronic history. I enjoy reading stories about start-up companies and I figured I should understand the history of Medtronic since they are one of the most recognized local companies and a user of Cadence software.
The story that struck me the most told how Earl Bakken constructed a prototype of the battery operated pacemaker and took it over to the the University of Minnesota animal lab for testing. After testing it on a dog, he returned to the university hospital the next day only to find a girl wearing the prototype that was tested on the dog the day before (and it was actually working). Today, it probably takes 5-10 years between the time a new medical device is completed and it is actually used on patients (just my guess).
The other amazing find in the book was a story from 1959 about Dr. Sam Hunter who was working with Medtronic at St. Joseph's Hospital (where I was born, as well as my wife and four of our six kids were born) to design a new probe called the Hunter-Roth electrode. It turns out I spent most of my boyhood years working at Somerset County Club and caddied for Dr. Hunter many times, but never knew what he had done until now. I also caddied for his son Dr. Rob Hunter.
The whole thing led me to ponder the 20th century as the Golden Age of Electronics. There were so many inventions during the 20th century and most of them done by one person or a very small team of people. The list is endless, but think about Thomas Edison or Henry Ford just to get started. Today, we live a world where things are so complex it seems nearly impossible to think about this level of invention without large teams of people working on complex topics that take longer and longer to advance and improve.
Any chip design project today deals with enormous complexity. Even the popular blog series Friday Fun exposes complex issues that require a lot of background to even know what the stick puppets are talking about. The PCI Express specification is well over 1000 pages now. Even the AMBA AXI specification is 100 pages to describe the protocol. It is getting more and more difficult to even understand what a chip, system, or software program is doing.
One of the things I enjoy most is simulating a mix of hardware and software and exploring what is really happening in the hardware/software interactions. Today's embedded processors are becoming more complex such that it is getting very hard in an RTL simulation to even say what the value of the program counter is. There is no exact signal that can be identified as the program counter at any particular moment in time because of pipelining and other architectural tricks used to increase CPU performance.
The whole topic of complexity is one where many of us hope ESL can make an impact. The only solution I can see is to raise the abstraction so that it is possible to understand what is happening. Virtual Platforms are a good example of this. With software running on a Virtual Platform built with Transaction Level Modeling (TLM) it is possible to know what the program counter is and understand the hardware/software interactions in a much easier way by hiding all of the underlying details. High level synthesis with C-to-Silicon is another way to raise abstraction so that we can deal with complexity.
Of course, all abstractions are subject to the Law of Leaky Abstractions. Just when we think we have an abstraction that makes things easier it seems there is always a need to push down into the details and figure out what is really happening, but we will continue to advance our tools and methodology to get to a flow based on TLM driven and verification.
I won't be around to look back on the 21st century, but I'm sure those that are around will ponder how exciting life must have been in the early 21st century.
All they had to do was read 5000 pages worth of specifications, design a 20 million gate chip, add 10 million lines of software, and they had a working mobile phone that was a necessity for every person on earth.
Who knows, maybe the 21st century will be the Golden Age of Embedded Software.