Skip to main content
Log in

Optimizing Timed Cosimulation by Hybrid Synchronization

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

In this paper, we present an approach to improving the performance of timed cosimulation. Our approach applies optimistic simulation concept to timed cosimulation for the reduction of synchronization overhead. It consists of (1) a predictive method for the synchronization between optimistic and synchronous simulators and (2) a method for the reduction of the state saving overhead inherent in optimistic simulation. To reduce the synchronization overhead, the predictive synchronization method predicts the time point when the next event is transferred between hardware and software. They the optimistic simulator runs optimistically until the predicted time point. Because of prediction and optimistic simulation, it is possible for the optimistic simulator to roll back and re-execute. To support rollbacks during optimistic simulation, states of the simulator are stored at checkpoints. In optimistic simulation, state saving can cause significant overhead in run-time and memory usage. For the reduction of state saving overhead, we perform state saving on a task basis, which enables saving only the state of currently running task without saving the whole state of the simulator at each checkpoint. Especially, single checkpoint property for hardware tasks enables minimizing the number of state savings in hardware simulation. We demonstrate the efficiency of the presented approach through cosimulation of two embedded system design examples.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. ARM Ltd. Software Development Toolkit. http://www.arm.com/products/SDT/.

  2. Avril, H., and Tropper, C. 1995. Clustered time warp and logic simulation. Proc. 9th Workshop on Parallel and Distributed Simulation pp. 112–119.

  3. Ball, D., and Hoyt, S. 1990. The adaptive time-warp concurrency control algorithm. Proc. of the SCS Multiconference on Distributed Simulation pp. 174–177.

  4. Buck, J. T., Ha, S., Lee, E. A., and Messerschmitt, D. G. 1994. Ptolemy: A framework for simulating and prototyping heterogeneous systems. Int. Journal of Computer Simulation, special issue on Simulation Software Development 4: 155–182.

    Google Scholar 

  5. Balarin, F., and others. Hardware-Sofware Co-Design of Embedded Systems. Kluwer Academic Publishers.

  6. Fujimoto, R. M. 1990. Optimistic approaches to parallel discrete event simulation. Trans. of The Society for Computer Simulation 7(2): 153–191.

    Google Scholar 

  7. Ghosh, A., Bershteyn, M., Casley, R., Chien, C., Jain, A., Lipsie, M., Tarrodaychik, D., and Yamamoto, O. 1995. A hardware-software co-simulator for embedded system design and debugging. Proc. Asia South Pacific Design Automation Conference.

  8. Hines, K., and Borriello, G. 1997. Dynamic communication models in embedded system co-simulation. Proc. Design Automation Conf. pp. 395–400.

  9. Hines, K., and Borriello, G. 1997. Selective focus as a means of improving geographically distributed embedded system co-simulation. Proc. Eighth IEEE International Workshop on Rapid System Prototyping pp. 58–62.

  10. Hines, K., and Borriello, G. 1998. A geographically distributed framework for embedded system design and validation. Proc. Design Automation Conf. pp. 140–145.

  11. Peterson, J. L., and Silberschatz, A. Operating System Concepts. Addison-Wesley Publishing Co. Inc., 2nd edition.

  12. Jang, W., Lim, D., and Yoo, S. ARM7 Instruction Set Simulator. http://poppy.snu.ac.kr/Codesign/ARMISS/.

  13. Klein, R. 1996. Miami: A hardware software co-simulation environment. Proc. Seventh IEEE International Workshop on Rapid System Prototyping pp. 173–177.

  14. Lim, D., Na, K., and Yoo, S. Design Automation Lab. Prototyping Board. http://poppy.snu.ac.kr/Codesign/DAL_P98A/.

  15. Mooney, V. J., and De Micheli, G. 1997. Real time analysis and priority scheduler generation for hardware-software systems with a synthesized run-time system. Proc. Int. Conf. on Computer Aided Design pp. 605–612.

  16. Olukotun, K. A., Helaihel, R., Levitt, J., and Ramirez, R. 1994. A software-hardware cosynthesis approach to digital system simulation. IEEE Micro pp. 48–58.

  17. Palaniswamy, A. C., and Wilsey, P. A. 1993. An analytical comparison of periodic checkpointing and incremental state saving. Proc. 7th Workshop on Parallel and Distributed Simulation pp. 127–134.

  18. Portable Video Research Group. PVRG-JPEG CODEC. ftp://havefun.stanford.edu/pub/jpeg/JPEGv1.2.1.tar.Z.

  19. Rajaei, H., Ayani, R., and Thorelli, L. 1993. The local time warp approach to parallel simulation. Proc. 7th Workshop on Parallel and Distributed Simulation pp. 119–126.

  20. Reynolds, P. 1988. A spectrum of options for parallel simulation. Proc. of the 1998 Winter Simulation Conference pp. 325–332.

  21. Sokol, L. M., Briscoe, D. P., and Wieland, A. P. MTW: A strategy for scheduling descrete simulation events for concurrent execution. Proc. of SCS Conference on Distributed Simulation pp. 34–42.

  22. Synopsys, Inc. Cyclone VHDL Reference Manual. Synopsys Online Documentation, v1998.08.

  23. Telenor. Telenor's H.263 Software. http://www.nta.no/brukere/DVC/h263_software/.

  24. Thomas, D. E., and Coumeri, S. L. 1995. A simulation environment for hardware-software codesign. Proc. Int. Conference on Computer Design pp. 58–63.

  25. Vahid, F., and Givargis, T. 1998. Integrating cores into system-level specification. Proc. Int. Symposium on System Synthesis.

  26. Valderrama, C. A., Lemarrec, P., and Jerraya, A. A. 1997. VCI: A VHDL-C interface generation tool for cosimulation. Proc. IEEE International High Level Design Validation and Test Workshop pp. 142–148.

  27. Wolf, W. 1996. Object-oriented cosynthesis of distributed embedded systems. ACM Trans. on Design Automation of Electronic Systems 1: 301–314.

    Google Scholar 

  28. Yoo, S., and Choi, K. 1997. Optimistic timed HW-SW cosimulation. Proc. 4th Asia-Pacific Conference on Hardware Description Language pp. 39–42.

  29. Yoo, S., and Choi, K. 1997. Synchronization overhead reduction in timed cosimulation. Proc. IEEE International High Level Design Validation and Test Workshop pp. 157–164.

  30. Yoo, S., and Choi, K. 1998. Optimistic distributed timed cosimulation based on thread simulation model. Proc. Int. Workshop on Hardware-Software Codesign pp. 71–75.

  31. Yoo, S., and Choi, K. 1999. Optimizing geographically distributed timed cosimulation by hierarchically grouped messages. Proc. Int. Workshop on Hardware-Software Codesign pp. 100–104.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Yoo, S., Choi, K. Optimizing Timed Cosimulation by Hybrid Synchronization. Design Automation for Embedded Systems 5, 129–152 (2000). https://doi.org/10.1023/A:1008995606614

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008995606614

Navigation