Virtual prototyping, like cooking, can be learned by focusing on a few key elements.
I love good food but I am a horrible cook. Partially because my wife is a wonderful chef at home and I can enjoy the comfort of just eating. Until recently, I couldn’t handle most of the kitchen equipment and I had no clue which ingredients and spices work well together. When I read cooking recipes my brain started to freeze and I felt completely clueless. This was nagging me at times and just by chance I found a book that is helping me to overcome my cooking dyslexia. It does so by decomposing cooking into its basic building blocks, a teaching format easily accessible for me as an engineer. Now I learn every day about kitchen tools, the right ingredients and the recipes. And my family has admitted that I’ve made progress.
For embedded software and prototyping teams, virtual prototyping can sometimes feel like my cooking experience. It’s fantastic to enjoy a virtual prototype prepared by a skilled team, but if you are new to the topic, getting started can be overwhelming to the point that you give up and stay with your traditional design and prototyping flow. So let me decompose the three key elements that can make virtual prototype creation straight forward and enjoyable for you and your team:
Have everything at your fingertips inside a productive IDE – i.e. your workplace.
Tools are essential if you want to improve the outcome and experience – for cooking as well as for prototyping. It’s important that they are easy to use, well integrated and support the three essential virtual prototyping design tasks: TLM creation, virtual prototype creation and debug. Having everything in the right place and easily accessible without the need to import and export design data improves efficiency and brings team members together. Virtual prototyping tools that use an Integrated Development Environment (IDE) are the type of solution that you want to look for, as there is nothing to gain in the process of becoming a chef by building your own kitchen.
Starting Points work out-of-the-box and come with some well-balanced basic flavors.
Next come the ingredients to compose a virtual prototype. You don’t want to start from scratch but rather have a well-balanced set of components already assembled. Those components can be existing TLM IP models, but more importantly these are simple and extendable platforms that already run basic software. In the world of virtual prototyping, we call these a Starting Point. Starting Points are composed out of the platform, target software e.g. a Linux for ARM-based design, and out of the box integration test software. Think of this as a basic well-balanced recipe, you can tinker with the ingredients but you always start with something that works out of the box. If you’ve ever tried bringing up Linux while mastering your new virtual platform skills, then you know how frustrating this can be. Using a starting point is the best way to go and boosts your engineering confidence level to new highs.
Incremental delivery is one of the key practices – you don’t need the complete prototype at day 1.
The last ingredient is a good methodology which needs to look beyond the pure technical work alone. Pretty much like in a restaurant, where the chef orchestrates the waiters and the cooking staff and where the work starts with creating the week’s menu and organizing the supplies from the market. In a similar sense, it’s a best practice for virtual prototyping to align all work based on the needs of the software development team and focus on their main pain points. This results in an incremental agile delivery scheme and is another key benefit compared against hardware based methods. Developing a virtual prototype becomes a lot like a preparation of a small set of snacks, which are perfectly aligned with the hunger and preferences of the embedded software team.
If you’re interested to learn more, check out the latest release of Synopsys Virtualizer, with new Virtualizer Studio IDE, which was designed to reduce barriers and simplify virtual prototype creation to make its mastery accessible to everyone. Bon Appetit.