Strategies, tools and best practices
Experts believe that both for engineers as well as engineering managers, design optimisation and simulation tools can be of great help in putting the safety net on to prevent resource-pilferage, and help in achieving and sustaining frugality along many dimensions. Here are a few best practices that can help.
Adopt an ideal design optimisation process. “To improve the efficienies of the design, both design engineers and engineering managers need to make the reduction of multiple design iterations their absolute priority, and adopt model-based design for design-flows. In order to reduce the impact of incomplete or ambiguous design specifictions, managers must insist on utilising executable specifiations rather than paper specifications,” advises Mulpur.
“Apart from this, in order to get their designs right the first time and reduce the number of iterations, managers need to utilise the executable specifications by enabling continuous verification process,” suggests Rao.
“The fundamental idea behind conducting an early validation of design is that it eliminates the risks associated with faulty designs. It also makes it possible to integrate the different system elements and test the system as part of the development process, instead of a big bang integration and testing at the end of the development cycle when resources, time, budget and funding have already been consumed,” cautions Michel Genard, vice president, product strategy and marketing—Simics, Wind River.
Know the architecture, inside out. “With advances in technology nodes, FPGA architectures are changed and optimised so as to boost the performance, decrease power consumption and reduce resource wastage. Before designing for a device, the engineers should be well aware of the architecture nuances so that they could make the best use of their target device,” opines Jain. FPGA companies publish recommendations on design practices. Following these recommendations also help in getting an optimised design.
Choose the correct design tools. In addition to formulating the correct design evaluation and review strategy, optimising resources through specific design optimisation tools also proves useful. Doing this enables design engineers to validate and verify the architecture, make sound implementation choices, and debug hardware or software flaws.
“In general terms, to be useful, design tools should both provide flexibility and interoperability,” Jain adds. While flexibilit enables the engineers to either use command lines (or script) or user interfaces, interoperability provides the connection points with other tools or design flow to make global collaboration possible. These attributes should define the selection and usabiity of design tools.
Genard, however, makes an interesting point with respect to design tools’ efficacy. He says, “Design tools are as good as an engineer can successfully leverage it. As an analogy, if you give me the most expensive camera, it is not going to make me Ansell Adams (the American photographer and environmentalist)!”
Don’t postpone design optimisation review for a later day. The design tools these days are pretty advanced and have a lot of optimisation features at various stages during the development flow. However, the timing when this design optimisation process is carried out is also critical. Performing design optimisation at an early stage and including resource utilisation as an important design consideration throughout the design flow leads to the best engineering return on investment (ROI), when compared to performing design optimisation as a distinct and separate design function.
[stextbox id=”info”]Both for engineers as well as engineering managers, design optimisation and simulation tools can be of great help in putting the safety net on to prevent resource pilferage[/stextbox]
“Compared to traditional work-flows where optimisation is done incrementally and locally at later stages of design, system-level design tools enable engineers to analyse and iterate on various architectural level design options, giving them the possibility to find optimal architectures beginning with the specification stage. In the stages that follow, like, through design elaboration, system-level simulations, implementation considerations, automatic code generation for prototyping and production purposes, engineers can continuously improve design efficiency and minimise resource utiliation,” confirms Mulpur.
Taking the point further, Jain states that synthesis stage has the maximum effect on resource utilisation. “We have options like resource sharing, controlling the fanout of signals, defining the way the tool would infer state-machines, moving logic into embedded memory, mapping memory to look-up tables, controlling design hierarchy, and so on. This helps an engineer finetune the design with respect to the resource he needs and those available in a target device,” he adds. The synthesis tools also have automated optimisation options, which can reduce resource utilisation by up to five per cent.
Role of simulation tools in reducing resource consumption
Simulation tools form an integral part of frugal engineering as they can help reduce prototyping and testing, thereby reducing both time and costs in product development. While we cannot do away with prototyping, advancements in simulation tools can help reduce prototyping to a large extent. These tools allow simulating a real-world environment, using techniques like multiphysics modelling on a computer instead of actually fabricating and testing components. This allows not only for faster and cost-efficient experimentation but also dramatically increases the range of scenarios over which tests are performed.
While design engineers are exploring the architectures for their design, a good simulation tool provides a quick and easy way of verifying the functionality. The simulation tools also support scripting and batch modes so that the engineers can execute multiple iterations with quick turn-around times. Simulation enables developers to deal with complexity at a level where it is still easy to understand what is going on, says Genard. He explains, “Simulation has been in use since decades. From nuclear, chemical, mechanics and recently electronics, when you have something complex what you want to do is, cut in small pieces and define a higher level of abstraction. This last point always results in the creation of a model or virtual platform in the electronics domain. Once you have a virtual platform, you can share the same virtual system with anyone you want, and eliminate hardware availability issues; meaning that you kill the catch-22 classic situation of not having hardware slow-down software development.”
There have been many recent advances in design and simulation tools that have made the whole process of resource optimisation even more effective. A few are enumerated below:
Runtime enhancements. Simulation tools have enhancements in terms of runtime so as to get faster results. They also support co-simulation on real hardware to further speed-up the lengthy and complex simulations by providing hardware acceleration. Simulation tools now also come with seamless interfaces to ECAD tools, which help users import layout data and create spatial layered geometries automatically.
Advances in design tools. “The design map tools these days offer new features like ‘large block placer,’ ‘register ordering’ and ‘routing congestion aware algorithms’ to optimise the resource-usage. The tools are even capable of gating clocks and disabling embedded memories to reduce the power consumption,” informs Jain. Further to this, the tools help engineers time-multiple various algorithms through features like ‘partial reconfiguration’. This saves tremendous amount of resources and power.
Virtual prototyping. This is another innovative methodology of combining mechanical modelling and simulation with control design to increase the efficiency of designing and prototyping. “With virtual prototyping, you can connect your software design and control algorithms to your 3D CAD mechanical models to test the mechanics of your system before even building your first physical prototype. “Virtual prototyping lowers the risks associated with machine design by improving the understanding of customer requirements, speeding up the design process, and streamlining debugging. Without a virtual prototype, you would have to build the entire physical prototype before you could obtain tangible customer-feedback on the product’s operation. By using virtual prototyping, you can show a digital representation of the mechanics of the machine to the customer and get feedback more quickly and easily before actually building the machine,” explains Mohanram. This ensures that customers are more involved in the design process and prevents you from having to wait until it is too late in the prototyping process to get customer feedback.
Multiphysics modelling. This is a simulation process of accurately capturing real-life processes to help speed up the product design process by minimising the prototype phase. This helps to reduce resource consumption right from ideation to product manufacture. Modelling helps visualise new concepts and ideas inexpensively and quickly. As you move further along, the behaviour of various components interacting with each other can also be simulated. Manufacturing processes can also be optimised using simulation tools. Dr Dravid illustrates, “Real-life processes most often involve the interaction of several physical phenomena in tandem. An example would be predicting heating in electronic chips. This process involves the phenomenon of current flowing through the chip, coupled with the phenomenon of heat generation due to current flow.This is an example of a multiphysics problem. Thus, multiphysics modelling is essential to accurately capture real life processes, which involve several such phenomena.”
In a nutshell
Considering the crucial role that resource optimisation can play in the lifecycle of an embedded system or device, and hazards that neglecting this key engineering principle can lead to, it is only worthwhile that design engineers exercise caution and adopt smart practices and tools to ensure that they never lose sight and control over resources that they have in their repertoire—for this is indeed a core requirement for achieving meaningful efficiencies in the design and development of embedded devices and chips.
Vandana Sharma is executive editor for EFY’s Linux For You magazine, while Janani Gopalakrishnan Vikram is a technically-qualified freelance writer, editor and hands-on mom based in Singapore.