Many of my recent interactions with customers have been on a single theme: modeling. Simulation is a great tool, but only if you have models that tell the simulator what to do. Models vary in type and complexity, but they all share a common purpose: to tell you something about how a device or system works, often in a specific application or under specific operating conditions. But there is a gap, an often very wide gap, between wanting to simulate a design and having a model that tells an accurate story for your system (notice that I did not say “the accurate story” since how you model your system will depend on what you want to know about it – accuracy is a byproduct of purpose).
When it comes to modeling, I find that engineers are generally divided into three groups: give me a model, help me understand the model, and help me develop a model. Depending on project priorities and how critical the need, the same engineer may spend time in each group on a single project.
The “give me a model” group is either under a time crunch to complete the analyses and finish the design, or is not familiar with other modeling options. The advantage for this group is that models are plentiful. They are available from a variety of sources including component manufacturers, third party vendors, in-house modeling groups, and tool suppliers. SPICE models are particularly popular in this category. The disadvantage, however, is twofold: model quality may be suspect, and model functionality may be limited with no way to improve it.
An engineer in the “help me understand the model” group typically has a model but needs to better understand how it works. Requirements for understanding the model range from needing to document the model’s operation, to improving performance by updating or adding functionality. Depending on structure and format, however, understanding a model someone else developed can be a real challenge. For example, have you ever tried to decipher the internal workings of a SPICE macromodel for a PWM controller chip? Not so easy.
For the “help me develop a model” group, either an existing model is not doing the job, or a model search returned zero results. Engineers in this group can either go without, or build a model from scratch. Going without usually means doing manual calculations, and pen, paper, and calculator become the engineer’s most trusted design companions. Funny thing, but not many years ago I visited a group of engineers at a major automotive OEM who claimed this is exactly how they handled much of their design work: reams of paper shuttled between design groups. Apparently modeling and simulation were not a priority. A bit hard to believe, given the complexity of modern automotive design. But I digress. Fortunately, if you are in the “build a model” category, you have options for model format and structure. In working with customers, I find the two most popular approaches are graphical modeling and language-based modeling. I will talk about each of these in future posts.