{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,4]],"date-time":"2025-12-04T09:54:41Z","timestamp":1764842081476,"version":"3.41.0"},"reference-count":40,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2018,4,11]],"date-time":"2018-04-11T00:00:00Z","timestamp":1523404800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001659","name":"Deutsche Forschungsgemeinschaft","doi-asserted-by":"crossref","award":["SCHL 347\/3-1"],"award-info":[{"award-number":["SCHL 347\/3-1"]}],"id":[{"id":"10.13039\/501100001659","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Des. Autom. Electron. Syst."],"published-print":{"date-parts":[[2018,5,31]]},"abstract":"<jats:p>In modern system-on-chip (SoC) designs, IP-reuse is considered a driving force to increase productivity. To support various designs, a huge amount of Intellectual Property (IP) hardware blocks have been developed. The integration of those IPs into an SoC may require significant effort\u2014up to days or weeks depending on experience and complexity. This article presents a novel approach to significantly reduce the design effort to bring-up a working SoC design by automatic IP integration as part of a library-based Software-defined SoC flow. In detail, the IP-supplier prepares a HW-accelerated software library (HASL) for the SoC architect, who wants to use the IP in an SoC design. As a key point of our approach, integration knowledge is encoded in the library as a set of integration rules. These rules are defined in the machine-readable standardized IP-XACT format by the IP supplier, who has a good knowledge of the IP\u2019s hardware details. The library preparation step on the IP supplier\u2019s side is also partly automated in the proposed flow, including a partial generation of configurable HW drivers, schedulers, and the software library functions. For the SoC architect, we have developed the graph-grammar-based IP-integration (GRIP) tool. The software application is developed using the functions supplied in the HASL. According to the calls to the HASL functions, the GRIP tool automatically integrates IP-blocks using the rule information supplied with the library and runs a full Design Space Exploration. For this, the SoC architecture and rules are transformed into the graph domain to apply graph rewriting methods. The GRIP tool is model-driven and based on the Eclipse Modeling Framework. With code generation techniques, SoC candidate architectures can be transformed to hardware descriptions for the target platform. The HW\/SW interfaces between SW library functions and IP blocks can be automatically generated for bare-metal or Linux-based applications.<\/jats:p>\n          <jats:p>The approach is demonstrated with two case-studies on the Xilinx Zynq-based ZedBoard evaluation board using a HASL for computer vision. It can yield 10\u00d7-150\u00d7 performance improvement for the bare-metal application versions and 4\u00d7--7\u00d7 performance improvement for the Linux-based application versions, when executed on an optimized HW-accelerated SoC architecture compared to a non HW-accelerated SoC. The effort for IP integration is comparable to using a software library, hence, providing a significant advantage over a manual IP integration.<\/jats:p>","DOI":"10.1145\/3139381","type":"journal-article","created":{"date-parts":[[2018,4,11]],"date-time":"2018-04-11T12:31:03Z","timestamp":1523449863000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Graph-Grammar-Based IP-Integration (GRIP)\u2014An EDA Tool for Software-Defined SoCs"],"prefix":"10.1145","volume":"23","author":[{"given":"Munish","family":"Jassi","sequence":"first","affiliation":[{"name":"Technical University of Munich, Munich, Germany"}]},{"given":"Yong","family":"Hu","sequence":"additional","affiliation":[{"name":"Technical University of Munich, Munich, Germany"}]},{"given":"Daniel","family":"Mueller-Gritschneder","sequence":"additional","affiliation":[{"name":"Technical University of Munich, Munich, Germany"}]},{"given":"Ulf","family":"Schlichtmann","sequence":"additional","affiliation":[{"name":"Technical University of Munich, Munich, Germany"}]}],"member":"320","published-online":{"date-parts":[[2018,4,11]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"2006. Epsilon. Retrieved from http:\/\/www.eclipse.org\/epsilon\/.  2006. Epsilon. Retrieved from http:\/\/www.eclipse.org\/epsilon\/."},{"key":"e_1_2_1_2_1","unstructured":"2006. Epsilon\u2014EOL. Retrieved from http:\/\/www.eclipse.org\/epsilon\/doc\/eol\/.  2006. Epsilon\u2014EOL. Retrieved from http:\/\/www.eclipse.org\/epsilon\/doc\/eol\/."},{"key":"e_1_2_1_3_1","unstructured":"2006. Epsilon\u2014EVL. Retrieved from http:\/\/www.eclipse.org\/epsilon\/doc\/evl\/.  2006. Epsilon\u2014EVL. Retrieved from http:\/\/www.eclipse.org\/epsilon\/doc\/evl\/."},{"key":"e_1_2_1_4_1","unstructured":"2012. OCL ISO\/IEC 19507. Retrieved from http:\/\/www.omg.org\/spec\/OCL\/.  2012. OCL ISO\/IEC 19507. Retrieved from http:\/\/www.omg.org\/spec\/OCL\/."},{"key":"e_1_2_1_5_1","unstructured":"2015. Java\u2014FreeMarker. ver. 2.3.24. Retrieved from http:\/\/www.http:\/\/freemarker.org\/.  2015. Java\u2014FreeMarker. ver. 2.3.24. Retrieved from http:\/\/www.http:\/\/freemarker.org\/."},{"key":"e_1_2_1_6_1","unstructured":"2016. Kactus2 tool. Retrieved from http:\/\/www.funbase.cs.tut.fi.  2016. Kactus2 tool. Retrieved from http:\/\/www.funbase.cs.tut.fi."},{"key":"e_1_2_1_7_1","unstructured":"Accelera. 2009. Accelera website. Retrieved from http:\/\/www.accellera.org.  Accelera. 2009. Accelera website. Retrieved from http:\/\/www.accellera.org."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/TEVC.2004.826389"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2010.2049053"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/CISIS.2008.5"},{"key":"e_1_2_1_11_1","doi-asserted-by":"crossref","unstructured":"H. Chen G. Godet-Bar F. Rousseau and F. Petrot. 2014. Device driver generation targeting multiple operating systems using a model-driven methodology. Rapid System Prototyping.  H. Chen G. Godet-Bar F. Rousseau and F. Petrot. 2014. Device driver generation targeting multiple operating systems using a model-driven methodology. Rapid System Prototyping.","DOI":"10.1109\/RSP.2014.6966689"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/224486.224491"},{"volume-title":"Proceedings of the 3rd IAPR TC-15 Workshop on Graph-Based Representations in Pattern Recognition.","author":"Cordella L. P.","key":"e_1_2_1_13_1","unstructured":"L. P. Cordella , P. Foggia , C. Sansone , and M. Vento . 2001. An improved algorithm for matching large graphs . In Proceedings of the 3rd IAPR TC-15 Workshop on Graph-Based Representations in Pattern Recognition. L. P. Cordella, P. Foggia, C. Sansone, and M. Vento. 2001. An improved algorithm for matching large graphs. In Proceedings of the 3rd IAPR TC-15 Workshop on Graph-Based Representations in Pattern Recognition."},{"issue":"4","key":"e_1_2_1_14_1","first-page":"305","article-title":"Transformations of structures\u2014An algebraic approach","volume":"14","author":"Ehrig H.","year":"1981","unstructured":"H. Ehrig , H. J. Kreowski , A. Maggiolo-Schettini , B. K. Rosen , and J. Winkowski . 1981 . Transformations of structures\u2014An algebraic approach . In Math. Syst. Theory. Lecture Notes in Computer Science , Vol. 14 ( 4 ). 305 -- 334 . H. Ehrig, H. J. Kreowski, A. Maggiolo-Schettini, B. K. Rosen, and J. Winkowski. 1981. Transformations of structures\u2014An algebraic approach. In Math. Syst. Theory. Lecture Notes in Computer Science, Vol. 14(4). 305--334.","journal-title":"Math. Syst. Theory. Lecture Notes in Computer Science"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2010.2048354"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/11841883_27"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2002.804107"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSD.2012.51"},{"key":"e_1_2_1_19_1","unstructured":"IEEE. 2009. IEEE 1685-2009 IP-Xact. Retrieved from http:\/\/standards.ieee.org.  IEEE. 2009. IEEE 1685-2009 IP-Xact. Retrieved from http:\/\/standards.ieee.org."},{"key":"e_1_2_1_20_1","unstructured":"IEEE. 2014. IEEE 1685-2014 IP-Xact. Retrieved from http:\/\/standards.ieee.org.  IEEE. 2014. IEEE 1685-2014 IP-Xact. Retrieved from http:\/\/standards.ieee.org."},{"key":"e_1_2_1_21_1","unstructured":"ITRS. 2011. International technology roadmap for semiconductors. Retrieved from http:\/\/www.itrs.net.  ITRS. 2011. International technology roadmap for semiconductors. Retrieved from http:\/\/www.itrs.net."},{"volume-title":"International Symposium on System on Chip (SoC). Tampere, 1--8.","author":"Kamppi A.","key":"e_1_2_1_22_1","unstructured":"A. Kamppi , L. Matilainen , J.-M. M\u00e4\u00e4tt\u00e4 , E. Salminen , and T. D. H\u00e4m\u00e4l\u00e4inen . 2013. Extending IP-XACT to embedded system HW\/SW integration . In International Symposium on System on Chip (SoC). Tampere, 1--8. A. Kamppi, L. Matilainen, J.-M. M\u00e4\u00e4tt\u00e4, E. Salminen, and T. D. H\u00e4m\u00e4l\u00e4inen. 2013. Extending IP-XACT to embedded system HW\/SW integration. In International Symposium on System on Chip (SoC). Tampere, 1--8."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPSE.2000.913251"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2248487.2151011"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2684746.2689064"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0890060414000195"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1403375.1403386"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1068009.1068140"},{"volume-title":"Proceedings of the Design, Automation and Test in Europe Conference (DATE\u201912)","author":"Liu Hung-Yi","key":"e_1_2_1_29_1","unstructured":"Hung-Yi Liu , Michele Petracca , and Luca P. Carloni . 2012. Compositional system-level design exploration with planning of high-level synthesis . In Proceedings of the Design, Automation and Test in Europe Conference (DATE\u201912) . Hung-Yi Liu, Michele Petracca, and Luca P. Carloni. 2012. Compositional system-level design exploration with planning of high-level synthesis. In Proceedings of the Design, Automation and Test in Europe Conference (DATE\u201912)."},{"volume-title":"Proceedings of the Design, Automation and Test in Europe Conference (DATE\u201909)","author":"Lukasiewycz M.","key":"e_1_2_1_30_1","unstructured":"M. Lukasiewycz , M. Streub\u00fchr , M. Gla\u00df , C. Haubelt , and J. Teich . 2009. Combined system synthesis and communication architecture exploration for MPSoCs . Proceedings of the Design, Automation and Test in Europe Conference (DATE\u201909) . M. Lukasiewycz, M. Streub\u00fchr, M. Gla\u00df, C. Haubelt, and J. Teich. 2009. Combined system synthesis and communication architecture exploration for MPSoCs. Proceedings of the Design, Automation and Test in Europe Conference (DATE\u201909)."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/DASIP.2011.6136900"},{"key":"e_1_2_1_33_1","volume-title":"Proceedings of the 24th EUROMICRO Conference (Cat. No.98EX204)","volume":"1","author":"O\u2019Nils M.","unstructured":"M. O\u2019Nils , J. Oberg , and A. Jantsch . 1998. Grammar based modelling and synthesis of device drivers and bus interfaces . In Proceedings of the 24th EUROMICRO Conference (Cat. No.98EX204) , vol. 1 . Vasteras, 55--58. M. O\u2019Nils, J. Oberg, and A. Jantsch. 1998. Grammar based modelling and synthesis of device drivers and bus interfaces. In Proceedings of the 24th EUROMICRO Conference (Cat. No.98EX204), vol. 1. Vasteras, 55--58."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICECCS.2009.14"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629583"},{"volume-title":"Proceedings of the Design, Automation and Test in Europe Conference (DATE\u201903)","author":"Wang S.","key":"e_1_2_1_37_1","unstructured":"S. Wang , S. Malik , and R. Bergamaschi . 2003. Modeling and integration of peripheral devices in embedded systems . In Proceedings of the Design, Automation and Test in Europe Conference (DATE\u201903) . S. Wang, S. Malik, and R. Bergamaschi. 2003. Modeling and integration of peripheral devices in embedded systems. In Proceedings of the Design, Automation and Test in Europe Conference (DATE\u201903)."},{"key":"e_1_2_1_38_1","unstructured":"SEMATECH. 2011. Semiconductor manufacturing technology. Retrieved from http:\/\/www.sematech.org.  SEMATECH. 2011. Semiconductor manufacturing technology. Retrieved from http:\/\/www.sematech.org."},{"volume-title":"Efficient computation of optical flow using the census transform. Pattern Recognition","author":"Stein F.","key":"e_1_2_1_39_1","unstructured":"F. Stein . 2004. Efficient computation of optical flow using the census transform. Pattern Recognition . Springer Berlin Heidelberg , 79--86. F. Stein. 2004. Efficient computation of optical flow using the census transform. Pattern Recognition. Springer Berlin Heidelberg, 79--86."},{"key":"e_1_2_1_40_1","unstructured":"Xilinx. 2014. Vivado design suite user guide\u2014High-level synthesis. Xilinx App. Note UG902 (v2014.1).  Xilinx. 2014. Vivado design suite user guide\u2014High-level synthesis. Xilinx App. Note UG902 (v2014.1)."},{"key":"e_1_2_1_41_1","unstructured":"Xilinx. 2015. Software-Defined SoC Development Enviroment. Retrieved from http:\/\/www.xilinx.com\/products\/design-tools\/software-zone\/sdsoc.html.  Xilinx. 2015. Software-Defined SoC Development Enviroment. Retrieved from http:\/\/www.xilinx.com\/products\/design-tools\/software-zone\/sdsoc.html."},{"key":"e_1_2_1_42_1","unstructured":"Xilinx-Zynq. 2016. Zynq-7000 all programmable SoC overview. Xilinx Product Spec. DS190 (v1.10).  Xilinx-Zynq. 2016. Zynq-7000 all programmable SoC overview. Xilinx Product Spec. DS190 (v1.10)."}],"container-title":["ACM Transactions on Design Automation of Electronic Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3139381","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3139381","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:13:50Z","timestamp":1750212830000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3139381"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,4,11]]},"references-count":40,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2018,5,31]]}},"alternative-id":["10.1145\/3139381"],"URL":"https:\/\/doi.org\/10.1145\/3139381","relation":{},"ISSN":["1084-4309","1557-7309"],"issn-type":[{"type":"print","value":"1084-4309"},{"type":"electronic","value":"1557-7309"}],"subject":[],"published":{"date-parts":[[2018,4,11]]},"assertion":[{"value":"2016-11-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-09-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-04-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}