{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:33:33Z","timestamp":1750307613634,"version":"3.41.0"},"reference-count":30,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2009,3,1]],"date-time":"2009-03-01T00:00:00Z","timestamp":1235865600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Des. Autom. Electron. Syst."],"published-print":{"date-parts":[[2009,3]]},"abstract":"<jats:p>Cosimulation strategies allow us to simulate and verify HW\/SW embedded systems before the real platform is available. In this field, there is a large variety of approaches that rely on different communication mechanisms to implement an efficient interface between the SW and the HW simulators. However, the literature lacks a comprehensive methodology which addresses the need for integrating and synchronizing heterogeneous simulators, like, for example, the SystemC simulation kernel for HW modules and an instruction set simulator for SW applications, without being intrusive for the HW and SW descriptions involved in the simulation. In this context, this article presents, compares, and integrates in a system-level framework two different co-simulation strategies for modeling, analyzing, and validating the performance of a HW\/SW embedded system. Moreover, for both of them, a mechanism is proposed to provide an accurate time synchronization of the HW\/SW communication. The first strategy is intended to provide an early cosimulation environment where HW\/SW interaction can be validated without involving the operating system. The communication is implemented between a single SW task and a SystemC description of an HW module by exploiting the features of the remote debugging interface of a debugger (the GNU GDB), and by modifying the SystemC simulation kernel. On the other hand, the second strategy is intended to be used in further development steps, when the operating system is introduced to validate the cosimulation between HW modules and multitasking SW applications. In this approach, the communication is implemented via interrupts by using the features offered by the operating system.<\/jats:p>\n          <jats:p>Experimental results are reported on two different case studies to analyze and compare the effectiveness of both the approaches.<\/jats:p>","DOI":"10.1145\/1497561.1497566","type":"journal-article","created":{"date-parts":[[2009,4,6]],"date-time":"2009-04-06T16:34:22Z","timestamp":1239035662000},"page":"1-32","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":15,"title":["A cosimulation methodology for HW\/SW validation and performance estimation"],"prefix":"10.1145","volume":"14","author":[{"given":"Franco","family":"Fummi","sequence":"first","affiliation":[{"name":"University of Verona, Verona, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mirko","family":"Loghi","sequence":"additional","affiliation":[{"name":"Turin Polytechnic, Torino, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Massimo","family":"Poncino","sequence":"additional","affiliation":[{"name":"Turin Polytechnic, Torino, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Graziano","family":"Pravadelli","sequence":"additional","affiliation":[{"name":"University of Verona, Verona, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2009,4,7]]},"reference":[{"volume-title":"Proceedings of IEEE International High-Level Design Validation and Test Workshop. 51--56","author":"Bacivarov I.","key":"e_1_2_1_1_1"},{"key":"e_1_2_1_2_1","doi-asserted-by":"crossref","unstructured":"Balarin F. Chiodo M. Giusto P. Hsieh H. Jurecska A. Lavagno L. Passerone C. Sangiovanni-Vincentelli A. Sentovich E. Suzuki K. and Tabbara B. 1997. Hardware-Software Co-Design of Embedded Systems: The Polis Approach. Kluwer Amsterdam.   Balarin F. Chiodo M. Giusto P. Hsieh H. Jurecska A. Lavagno L. Passerone C. Sangiovanni-Vincentelli A. Sentovich E. Suzuki K. and Tabbara B. 1997. Hardware-Software Co-Design of Embedded Systems: The Polis Approach. Kluwer Amsterdam.","DOI":"10.1007\/978-1-4615-6127-9"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2003.1193229"},{"key":"e_1_2_1_4_1","first-page":"155","article-title":"Ptolemy: A framework for simulating and prototyping heterogeneous systems","volume":"4","author":"Buck J.","year":"1994","journal-title":"Int. J. Comput. Simulation"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/301177.301206"},{"volume-title":"Readings in Hardware\/Software Co-design, Morgan Kaufmann","year":"2001","author":"De Micheli D.","key":"e_1_2_1_6_1"},{"key":"e_1_2_1_7_1","unstructured":"Dr\u00f3tos D. &mu;CSim: Software Simulator for Microcontrollers. http:\/\/mazsola.iit.uni-miskolc. hu\/&tilde;drdani\/embedded\/s51\/.  Dr\u00f3tos D. &mu;CSim: Software Simulator for Microcontrollers. http:\/\/mazsola.iit.uni-miskolc. hu\/&tilde;drdani\/embedded\/s51\/."},{"key":"e_1_2_1_8_1","unstructured":"eCos. http:\/\/sources.redhat.com\/ecos\/.  eCos. http:\/\/sources.redhat.com\/ecos\/."},{"volume-title":"Proceedings of the IEEE Conference on Design Automation and Test in Europe. 564--569","author":"Fummi F.","key":"e_1_2_1_9_1"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/224818.224892"},{"key":"e_1_2_1_11_1","unstructured":"Gnu project web server. http:\/\/www.gnu.org\/software\/.  Gnu project web server. http:\/\/www.gnu.org\/software\/."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/581199.581238"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/337292.337561"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/54.587736"},{"volume-title":"Proceedings of the IEEE International Workshop on Hardware\/Software Co-design. 65--69","author":"Liu J.","key":"e_1_2_1_15_1"},{"key":"e_1_2_1_16_1","unstructured":"Mentor Graphics Inc. http:\/\/www.mentor.com\/seamless.  Mentor Graphics Inc. http:\/\/www.mentor.com\/seamless."},{"key":"e_1_2_1_17_1","unstructured":"Microelectronics S. LIS3LV02DQ MEMS Inertial sensor. Rev. 1.0.  Microelectronics S. LIS3LV02DQ MEMS Inertial sensor. Rev. 1.0."},{"volume-title":"Proceedings of the IEEE Conference on Design Automation and Test in Europe. 120--125","author":"Moussa I.","key":"e_1_2_1_18_1"},{"volume-title":"Proceedings of the 2nd IEEE\/ASME International Conference. 1--6.","author":"Muhr H.","key":"e_1_2_1_19_1"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2005.857315"},{"key":"e_1_2_1_21_1","unstructured":"Psim User Guide and Reference Manual. http:\/\/sources.redhat.com\/psim\/manual\/.  Psim User Guide and Reference Manual. http:\/\/sources.redhat.com\/psim\/manual\/."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/368434.368712"},{"volume-title":"Proceedings of the IEEE conference on Design Automation and Test in Europe. 945--946","author":"Sung W.","key":"e_1_2_1_23_1"},{"key":"e_1_2_1_24_1","unstructured":"Synopsys Inc. http:\/\/www.synopsys.com\/products.  Synopsys Inc. http:\/\/www.synopsys.com\/products."},{"key":"e_1_2_1_25_1","unstructured":"Ultimodule. http:\/\/www.ultimodule.com.  Ultimodule. http:\/\/www.ultimodule.com."},{"key":"e_1_2_1_26_1","doi-asserted-by":"crossref","unstructured":"Valderrama C. Nacabal F. Paulin P. and Jerraya A. 1998. Automatic VHDL-C interface generation for distributed cosimulation: Application to large design examples. Design Autom. Embed. Syst. 3 2\/3 199--217.  Valderrama C. Nacabal F. Paulin P. and Jerraya A. 1998. Automatic VHDL-C interface generation for distributed cosimulation: Application to large design examples. Design Autom. Embed. Syst. 3 2\/3 199--217.","DOI":"10.1023\/A:1008898525388"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/944645.944647"},{"volume-title":"Proceedings of the IEEE Conference on Design Automation and Test in Europe. 550--555","author":"Yoo S.","key":"e_1_2_1_28_1"},{"volume-title":"Proceedings of the Asia-Pacific Conference on Hardware Description Language. 39--42","author":"Yoo S.","key":"e_1_2_1_29_1"},{"volume-title":"Proceedings of IEEE International Workshop on High Level Design Validation and Test. 79--82","author":"Yoo S.","key":"e_1_2_1_30_1"}],"container-title":["ACM Transactions on Design Automation of Electronic Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1497561.1497566","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1497561.1497566","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:45:43Z","timestamp":1750250743000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1497561.1497566"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,3]]},"references-count":30,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2009,3]]}},"alternative-id":["10.1145\/1497561.1497566"],"URL":"https:\/\/doi.org\/10.1145\/1497561.1497566","relation":{},"ISSN":["1084-4309","1557-7309"],"issn-type":[{"type":"print","value":"1084-4309"},{"type":"electronic","value":"1557-7309"}],"subject":[],"published":{"date-parts":[[2009,3]]},"assertion":[{"value":"2007-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2008-12-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-04-07","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}