skip to main content
research-article

Graph-Grammar-Based IP-Integration (GRIP)—An EDA Tool for Software-Defined SoCs

Published:11 April 2018Publication History
Skip Abstract Section

Abstract

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—up 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’s hardware details. The library preparation step on the IP supplier’s 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.

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×-150× performance improvement for the bare-metal application versions and 4×--7× 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.

References

  1. 2006. Epsilon. Retrieved from http://www.eclipse.org/epsilon/.Google ScholarGoogle Scholar
  2. 2006. Epsilon—EOL. Retrieved from http://www.eclipse.org/epsilon/doc/eol/.Google ScholarGoogle Scholar
  3. 2006. Epsilon—EVL. Retrieved from http://www.eclipse.org/epsilon/doc/evl/.Google ScholarGoogle Scholar
  4. 2012. OCL ISO/IEC 19507. Retrieved from http://www.omg.org/spec/OCL/.Google ScholarGoogle Scholar
  5. 2015. Java—FreeMarker. ver. 2.3.24. Retrieved from http://www.http://freemarker.org/.Google ScholarGoogle Scholar
  6. 2016. Kactus2 tool. Retrieved from http://www.funbase.cs.tut.fi.Google ScholarGoogle Scholar
  7. Accelera. 2009. Accelera website. Retrieved from http://www.accellera.org.Google ScholarGoogle Scholar
  8. G. Ascia, V. Catania, and M. Palesi. 2004. A GA-based design space exploration framework for parameterized system-on-a-chip platforms. In IEEE Transactions on Evolutionary Computation 8, 4 (Aug. 2004), 329--346. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. G. Beltrame, L. Fossati, and D. Sciuto. 2010. Decision-theoretic design space exploration of multiprocessor platforms. In IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 29, 7 (July 2010), 1083--1095. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Bhattacharya, A. Konar, S. Das, C. Grosan, and A. Abraham. 2010. Hardware software partitioning problem in embedded system design using particle swarm optimization algorithm. In Proceedings of the International Conference on Complex, Intelligent and Software Intensive Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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.Google ScholarGoogle Scholar
  12. P. H. Chou, R. B. Ortega, and G. Borriello. 1995. The chinook hardware/software co-synthesis system. In International Symposium on System Synthesis. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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.Google ScholarGoogle Scholar
  14. H. Ehrig, H. J. Kreowski, A. Maggiolo-Schettini, B. K. Rosen, and J. Winkowski. 1981. Transformations of structures—An algebraic approach. In Math. Syst. Theory. Lecture Notes in Computer Science, Vol. 14(4). 305--334.Google ScholarGoogle Scholar
  15. F. Ferrandi, P. L. Lanzi, C. Pilato, D. Sciuto, and A. Tumeo. 2010. Ant colony heuristic for mapping and scheduling tasks and communications on heterogeneous embedded systems. In IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 29, 6 (June 2010), 911--924. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. Geiss, G. V. Batz, D. Grund, S. Hack, and A. Szalkowski. 2006. GrGen: A fast SPO based graph rewriting tool. In Graph Transformations. Springer, Berlin, 383--397. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. T. Givargis and F. Vahid. 2002. Platune: A tuning framework for system-on-a-chip platforms. In IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 21, 11 (Nov 2002), 1317--1327. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. F. Herrera, H. Posadas, E. Villar, and D. Calvo. 2012. Enhanced IP-XACT platform descriptions for automatic generation from UML-MARTE of fast performance models for DSE. In Digital System Design. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. IEEE. 2009. IEEE 1685-2009 IP-Xact. Retrieved from http://standards.ieee.org.Google ScholarGoogle Scholar
  20. IEEE. 2014. IEEE 1685-2014 IP-Xact. Retrieved from http://standards.ieee.org.Google ScholarGoogle Scholar
  21. ITRS. 2011. International technology roadmap for semiconductors. Retrieved from http://www.itrs.net.Google ScholarGoogle Scholar
  22. A. Kamppi, L. Matilainen, J.-M. Määttä, E. Salminen, and T. D. Hämäläinen. 2013. Extending IP-XACT to embedded system HW/SW integration. In International Symposium on System on Chip (SoC). Tampere, 1--8.Google ScholarGoogle Scholar
  23. T. Katayama, K. Saisho, and A. Fukuda. 2000. Prototype of the device driver generation system for UNIX-like operating systems. In Proceedings of the International Symposium on Principles of Software Evolution.Google ScholarGoogle ScholarCross RefCross Ref
  24. M. King, N. Dave, and Arvind. 2012. Automatic generation of hardware/software interfaces. SIGPLAN Not. 47, 4 (Mar. 2012), 12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M. King, J. Hicks, and J. Ankcorn. 2015. Software-driven hardware development. In Proceedings of the ACM/SIGDA International Symposium on FPGA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Corinna Königseder and Kristina Shea. 2014. Systematic rule analysis of generative design grammars. Artif. Intell. Eng. Des. Anal. Manufact. 28, 8 (2014), 227--238.Google ScholarGoogle ScholarCross RefCross Ref
  27. W. Kruijtzer, P. van der Wolf, E. de Kock, J. Stuyt, W. Ecker, A. Mayer, S. Hustin, C. Amerijckx, S. de Paoli, and E. Vaumorin. 2008. Industrial IP integration flows based on IP-XACT standards. In Proceedings of the Design, Automation and Test in Europe Conference (DATE’08). Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. Li, S. Azarm, and V. Aute. 2005. A multi-objective genetic algorithm for robust design optimization. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO’05). 771--778. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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’12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. M. Lukasiewycz, M. Streubühr, M. Glaß, 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’09). Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. J. Lyu. 2016. Acceleration of motion-detection application on zedboard FPGA using ARM cortex-A9 CPU and vision hardware accelerators. M.Sc. thesis, Technical University of Munich.Google ScholarGoogle Scholar
  32. G. Ochoa-Ruiz, El-Bay Bourennane, Hassan Rabah, and Ouassila Labbani. 2011. High-level modelling and automatic generation of dynamicaly reconfigurable systems. In Proceedings of the Conference on Design 8 Architectures for Signal 8 Image Processing (DASIP’11).Google ScholarGoogle ScholarCross RefCross Ref
  33. M. O’Nils, 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. R. Paige, D. Kolovos, Louis M. Rose, N. Drivalos, and F. Polack. 2009. The design of a conceptual framework and technical infrastructure for model management language engineering. In Proceedings of the International Conference on Engineering of Complex Computer Systems (ICECCS’09). 162--171. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. J. Paul. 2010. FPGA based real-time moving object detection for a mobile platform. M.Sc. thesis, Technical University of Munich.Google ScholarGoogle Scholar
  36. L. Ryzhyk, P. Chubb, I. Kuz, E. Le Sueur, and G. Heiser. 2009. Automatic device driver synthesis with termite. In Proceedings of the Symposium on Operating Systems Principles (SOSP’09). ACM, 14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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’03). Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. SEMATECH. 2011. Semiconductor manufacturing technology. Retrieved from http://www.sematech.org.Google ScholarGoogle Scholar
  39. F. Stein. 2004. Efficient computation of optical flow using the census transform. Pattern Recognition. Springer Berlin Heidelberg, 79--86.Google ScholarGoogle Scholar
  40. Xilinx. 2014. Vivado design suite user guide—High-level synthesis. Xilinx App. Note UG902 (v2014.1).Google ScholarGoogle Scholar
  41. Xilinx. 2015. Software-Defined SoC Development Enviroment. Retrieved from http://www.xilinx.com/products/design-tools/software-zone/sdsoc.html.Google ScholarGoogle Scholar
  42. Xilinx-Zynq. 2016. Zynq-7000 all programmable SoC overview. Xilinx Product Spec. DS190 (v1.10).Google ScholarGoogle Scholar

Index Terms

  1. Graph-Grammar-Based IP-Integration (GRIP)—An EDA Tool for Software-Defined SoCs

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Design Automation of Electronic Systems
          ACM Transactions on Design Automation of Electronic Systems  Volume 23, Issue 3
          May 2018
          341 pages
          ISSN:1084-4309
          EISSN:1557-7309
          DOI:10.1145/3184476
          • Editor:
          • Naehyuck Chang
          Issue’s Table of Contents

          Copyright © 2018 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 11 April 2018
          • Revised: 1 September 2017
          • Accepted: 1 September 2017
          • Received: 1 November 2016
          Published in todaes Volume 23, Issue 3

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader