New features get most of the publicity in a new software release…and well they should. Application software is a competitive business, and feature differentiation is often the only metric new customers use to select one program over another. And new features help software companies build increased loyalty among existing users. I imagine it’s no surprise to anyone that keeping an existing customer is a lot easier (and cheaper) than finding a new one. New features truly help fuel the fire of ongoing software sales for any software company. There is, however, another aspect of software development that doesn’t get a lot of publicity but is equally important…and expected: backward compatibility. Legacy materials simply need to work in new releases. If I create a design using version 3.0 of a program, I fully expect to work on that same design using version 3.5. If program developers need to break the backward compatibility rule, they also must provide some sort of path forward, even if the path is non-reversible.
Verifying backward compatibility requires a lot, and I mean A LOT, of testing. While much of the testing is automated, some of it is just plain old point-and-click. With an early summer release coming up fast on the calendar, the SystemVision team is busy with pre-release testing – making sure new features work as intended, and verifying backward compatibility. Everyone on the team has general, as well as specific, testing responsibilities. One of my specific testing tasks is making sure our training materials work in each new release. To this end, I recently found myself elbow-deep in reviewing our VHDL-AMS training materials.
If you’re not familiar with VHDL-AMS, it’s a hardware description language (HDL) based on the IEEE Standard 1076 digital modeling language – which is also known as VHDL. VHDL-AMS adds analog and mixed-signal capabilities to VHDL, hence the “AMS” extension. It’s formally known as IEEE Standard 1076.1. When all is said and done, VHDL-AMS is a superset of VHDL – anything you can do in VHDL you can do in VHDL-AMS – plus a lot more.
I’ve worked with VHDL-AMS on-and-off for several years. Like most people on the SystemVision team, I wear several hats, only one of which is occasionally working with VHDL-AMS to model system or device behavior. Reviewing the training materials a couple of times each year gives me a chance to stay connected with the language features and syntax. And the more I work with VHDL-AMS, and the more I see what the language can do, the more I’m impressed. Increased understanding truly begets increased appreciation.
A few months ago, in my System Level HDL-topia blog post, I mentioned a few must-haves for a system level HDL. No surprise that VHDL-AMS meets these criteria. But that blog post is just a short checklist. What can you really do with VHDL-AMS? The short answer is plenty. In the world of mechatronics design, you can use VHDL-AMS to model the real life physics of a broad range of devices and capabilities including sensors, actuators, control algorithms, digital control, electrical power, hydraulics, magnetics, motors, pneumatics, and thermal performance — just to name a few.
One of the many system simulation examples I tinker with is an Electronic Throttle Controller. Among many other things, this example illustrates the VHDL-AMS language’s ability to model a complete mechatronic system. The list of physics-based models in the example includes:
· Sensors that convert mechanical input to voltage output
· Angle sources that generate angle waveforms to drive mechanical devices
· DC motors and gear trains that move the throttle plate back and forth
· Mechanical stops and springs that limit/resist throttle plate travel
· Control blocks to model the position control algorithm
· Electrical components, including SPICE-level devices, to drive the motor
These are just a few of the broad and growing VHDL-AMS model categories already available with SystemVision. In the world of mechatronic modeling with VHDL-AMS, the only limits are your imagination. Okay…that may be a bit of an exaggeration. No single modeling language addresses every mechatronic modeling need. But you’ll travel a long, long way along the mechatronic modeling highway before running into any VHDL-AMS imposed roadblocks.
How have you, or your company, used VHDL-AMS? What device types or behaviors have you modeled?