Good Times, Good People
By Mike Gianfagna
I lost a long-time friend this past week. He was a member of the EDA community and so I will dedicate this blog to a discussion of the late Dr. Aaron Ashkinazy—the person, his contributions and the process for his work.
The person. Aaron had a lot of friends. We’ve all been reminiscing about him this past week and some consistent comments arise. He was one of the most intelligent and kindest people we knew, someone who would never speak ill of anyone and as far as any of us can recall someone who never lost his temper. His calm and gentle rendering of significant insights will be sorely missed.
The contribution. I first met Aaron when I joined the Design Automation department of RCA Solid State in the late 1970’s. Recall those were the days before an EDA industry, so you wrote your own tools or you didn’t have any. Aaron was working with a fellow named Henry Hellman on the design of a new logic simulator. That software was ultimately called MIMIC, and Aaron was referred to by most as the Father of MIMIC. That name, MIMIC, has a colorful history all its own. There were many proposed names before we settled on MIMIC (Module Imitating Modern Integrated Circuits). My memory is too weak to remember all of them, but I do remember the first—JERKS (Jewish Engineers Release Kosher Simulator)—and the last, FINALE (Final Idiotic Naming of Advanced Logic Emulator). MIMIC became one of the fundamental design tools for all digital ICs at RCA.
It performed multi-level logic and concurrent fault simulation, and supported Verilog, VHDL and a few other esoteric languages of the day. There were many documented cases where the Verilog simulator would provide the wrong result and MIMIC would provide the correct result, but that’s a discussion best kept for another day. Aaron continued to develop complex scientific software across many domains until his passing.
The process. A multi-level logic and concurrent fault simulator used on all digital IC designs at RCA was a fairly significant achievement. What is interesting is that this incredibly complex piece of software was architected, written, tested, documented and supported by four people. When RCA entered the merchant application-specific integrated circuit (ASIC) market in 1981, the user base for MIMIC grew across the world. Not counting field AEs, the support staff for MIMIC then grew to about six, and there were a lot more libraries to support, as well.
As I think back to those days of internally developed EDA, there are many stories like this. Small teams who worked incredibly well together building substantially complex pieces of software that were used on a worldwide basis by internal and external (ASIC) customers. Today, I have a lot of friends who run engineering groups at EDA companies, both small and large. Most of them are never home. They always seem to be traveling all over the world to visit development teams that work for them. They struggle to keep everyone in sync and spend a lot time trying to manage everyone to a consistent level of quality. We all deal with these issues. Most companies have a global workforce.
This past week I’ve thought about the early days when I first met Aaron, when everyone worked in the same room more or less. Was that a better way to do things, or is my memory coloring the past in a favorable light? I’m not sure, but I do believe this: If the sophisticated networking and collaboration tools we all use could foster small, high-performance teams, that would be a good thing. I’m fairly sure Father MIMIC would agree.