Welcome to another App Note Spotlight!
One of the biggest issues facing verification engineers is the question of reducing elaboration time. Using incremental elaboration (MSIE) can greatly reduce that time—but that raises a new question: between the two MSIE flows, which one is right for you?
Those two MSIE flows are single-xrun MSIE, and multi-xrun/xmelab MSIE. Single-xrun (1-xrun) MSIE is the simplest; all you need to do to use it is identify the non-changing and changing part of the design code. Once you’ve identified those portions, you can leverage their parallel elaboration. With that, the 1-xrun flow has a total elaboration time of the longest primary snapshot added to the time it takes to build the incremental snapshot.
The other flow is the multi-xrun/xmelab MSIE flow. This flow uses granular control to help the user separate the changing and non-changing parts of elaboration. Users can use separate physical directory paths to store their elaborated primary snapshots, as well as different varieties of those snapshots. The additional granular control means that there’s some initial setup actions that aren’t required with 1-xrun.
So, when should you use each?
If you’re looking for ease-of-use, and control isn’t as important, 1-xrun MSIE may be for you. It’s a good time to use 1-xrun if you:
- Don’t have a separate file script for sublevel blocks
- Already know what the names of changing and non-changing modules are
- Don’t feel like finding the incremental path
- Want to leverage the DRM (Distributed Resource Management) capability in each snapshot
If those reasons don’t sound like they match your case, then maybe you’re looking for multi-xrun/xmelab. If you have:
- Separate file scripts for sublevel blocks
- A need to control more of each snapshot’s management
- A need for different versions of the primary snapshot, such as versions in different languages, or just the ability to choose variations of the source code
- A need to share the same primary snapshot with multiple models simultaneously
For More
There’s a lot more to see in regards to the two MSIE flows. If you want to learn more, check out the app note on the differences between each MSIE flow here.
If you thinking to yourself “how can I do that verification thing?”, send me an email at tyler@cadence.com or post a comment here describing that “verification thing.” I’ll work with our engineers to see if we have an app note already, or if we don’t, we can create one. Otherwise, check back in two weeks for another app note spotlight!