Designing embedded systems: why to use simulation
The rules of embedded system product development are changing. Virtual labs using hardware/simulation solutions like Wind River Simics allow developers, product designers, and testers to work in parallel with compressed time cycles. They can take advantage of faster and more agile methodologies like DevOps.
Guest blog written by Sean Evoy, Wind River.
Test and support teams can dig deeper into faults and puzzling system errors while still supporting an ever-broadening portfolio of system environments. Teams collaborate using one view of the system, and they can start testing sooner by decoupling the hardware and software. As a result, they accelerate the entire development cycle.
Get all the details on the benefits and uses of simulation in our eBook:
The Business Case for Full System Simulation in Embedded Development (Download here).
Business benefits of using simulation when designing embedded systems
Using a hardware/system simulation platform as powerful as Simics confers many business and technology benefits. The organisation that employs Simics does not have to wait for target hardware to become available or struggle with the acquisition and configuration of the complicated systems needed to develop and test new embedded system software.
A Simics 'virtual lab' allows for worldwide dev/test system availability and stability. Any required configuration can be set up quickly and made available globally. All users have access to the system whenever they need it, easily sharing the same artifacts.
In practical terms, there’s less hardware to house, maintain and service. This lets Simics’ users break the rules of embedded software development and 'shift left' on the entire process. Figure 1 shows what these compressed and overlapping phases of product creation look like with the use of Simics.
Figure 1: Simics has proved to be able to help customers 'shift left' - with requirements and design, dev, and test - taking place in shorter, overlapping phases.
Simics makes it easier for software development teams to adopt agile methodologies, DevOps, and CI/CD while providing better visibility of the entire development and test plan status so the teams work together toward shared goals. This potential emerges because every team member and separate team in the workflow can share identical simulated hardware in real time. Simics users have demonstrated that they can configure and reconfigure complex labs in minutes rather than weeks.
The notorious 'throw it over the wall' practice that used to keep dev, test, and ops separate and uncooperative is no longer viable or necessary - because there is no more 'wall'. Everyone is looking at the software running in the same environment at the same time. Teams can inject faults at any point in the process and take snapshots of process steps and results. There is no longer an excuse for not working together in an agile fashion.
Physical hardware and system configuration are no longer bottlenecks. Development, testing, and support teams can use Simics to automate any debug, test, profile, or trace function. This enables unlimited parallelising and scaling potential. Users can manipulate time forward and backward to isolate bugs and help find resolutions faster. They also improve time to market by starting or even completing test cycles even before the hardware is available.
Simics users frequently reconfigure their test suites using the tool. Customers have revealed that Simics helped reduce debug time by more than 30% while simultaneously increasing quality by finding bugs sooner.
For example, a tester can inject a fault to simulate what will happen to an embedded system when network traffic is cut off from a peripheral device. This quickly models what that looks like across different boards and configurations, ensuring more thorough testing. When a tester encounters a system failure, Simics streamlines and speeds up the process of sending the failure’s hardware and software context to developers to solve.
Quality and security benefits
Using some of the features already mentioned such as automation, fault injection, and time manipulation means you can test for quality and security vulnerabilities much more thoroughly than is physically possible using traditional target hardware. Using a controlled environment allows for replicable testing and delivers a consistent experience for categorising flaws.
Intentional vulnerabilities can even be injected into the system for specific fault testing. These tests can be completed before or after deployment to ensure ongoing security. Using simulation in this way ensures a positive fix and helps to avoid costly and disruptive down time in physical environments.
Plus, if something you test 'destroys' the system, the fact that it’s simulated means you can reset and start over instantly without expensive and risky system damage.
Users find it easier to work together when they share a simulated system. Simics facilitates fluid collaboration by sharing, communicating, and exchanging executable data among developers, testers and support people and their respective teams, including third parties.
Simics users have saved years of calendar time in large programmes through the tool’s sharing and collaboration functions.
The Simics toolset enables saving and sharing the circumstances of test failures. Users can show dev and test issues to each other instead of describing them in email. That alone saves time and reduces stress levels. People can simultaneously and dynamically view, manipulate, and debug an entire system in the simulation.
Improved collaboration, testing accuracy, and compressed time cycles collectively translate into financial benefits. One striking outcome is faster time to market for new embedded system products. One Simics customer found that Simics enabled his organisation to get to market three to six months faster than had been possible with their earlier generation of physical lab technology.
In particular, the development process raced forward because they could start software development activities before they had the hardware, or even silicon - i.e. 'pre-silicon development'.
A virtual lab based on simulation is up to 93% less expensive than a physical lab and accupies less than 5% of the physical space. The latter contributes to lower facilities and utility costs for dev and test organisations.
Simics enabled users to reduce CapEx and OpEx by 45%.
When designing embedded systems - you need simulation
System simulation makes an embedded systems business more profitable. Simulation puts products in market faster, saving on development costs and related overhead, and puts products into the revenue stage more quickly. Competitive positioning improves as companies release products more quickly than their rivals. The capital investment needed to support physical labs drops significantly. Done right, the virtual lab enabled by Simics allows all participants in the development and testing process to create products of higher quality. By changing the rules, Simics is changing the embedded systems business.
Interested in learning more about how simulation can improve your processes when designing embedded systems? Download our complete eBook.
If you’re ready to get started with Simics, talk to one of our simulation experts.
Courtesy of Wind River.