Designing an embedded system is the process of implementing a desired functionality by using a set of physical components. Using a similar process, the SID Simulation Toolkit enables you to create a virtual simulation environment using simulated components, even when physical components are unavailable.
Whether you are working with physical components or on a virtual simulation environment, your system can be viewed as a collection of simpler subsystems. In other words, the system is made up of components, with a list of methods or rules that tie all the pieces together in order to create the desired functionality.
The virtual simulation model that you use to test your embedded system software needs to be a natural one in order to help you debug your design. The virtual simulation model must be flexible so that you can choose different models in the different phases of the development process. The simulation of the model should also accommodate different levels of accuracy, such as functional and cycle-accurate. With a functionally accurate simulator, you can compile and execute the design model directly on a host machine without paying much attention to the simulation time. With a cycle-accurate simulation, you can execute the design model in a timed fashion.