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.
- 2006. Epsilon. Retrieved from http://www.eclipse.org/epsilon/.Google Scholar
- 2006. Epsilon—EOL. Retrieved from http://www.eclipse.org/epsilon/doc/eol/.Google Scholar
- 2006. Epsilon—EVL. Retrieved from http://www.eclipse.org/epsilon/doc/evl/.Google Scholar
- 2012. OCL ISO/IEC 19507. Retrieved from http://www.omg.org/spec/OCL/.Google Scholar
- 2015. Java—FreeMarker. ver. 2.3.24. Retrieved from http://www.http://freemarker.org/.Google Scholar
- 2016. Kactus2 tool. Retrieved from http://www.funbase.cs.tut.fi.Google Scholar
- Accelera. 2009. Accelera website. Retrieved from http://www.accellera.org.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- P. H. Chou, R. B. Ortega, and G. Borriello. 1995. The chinook hardware/software co-synthesis system. In International Symposium on System Synthesis. Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- IEEE. 2009. IEEE 1685-2009 IP-Xact. Retrieved from http://standards.ieee.org.Google Scholar
- IEEE. 2014. IEEE 1685-2014 IP-Xact. Retrieved from http://standards.ieee.org.Google Scholar
- ITRS. 2011. International technology roadmap for semiconductors. Retrieved from http://www.itrs.net.Google Scholar
- 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 Scholar
- 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 ScholarCross Ref
- M. King, N. Dave, and Arvind. 2012. Automatic generation of hardware/software interfaces. SIGPLAN Not. 47, 4 (Mar. 2012), 12. Google ScholarDigital Library
- M. King, J. Hicks, and J. Ankcorn. 2015. Software-driven hardware development. In Proceedings of the ACM/SIGDA International Symposium on FPGA. Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- J. Paul. 2010. FPGA based real-time moving object detection for a mobile platform. M.Sc. thesis, Technical University of Munich.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- SEMATECH. 2011. Semiconductor manufacturing technology. Retrieved from http://www.sematech.org.Google Scholar
- F. Stein. 2004. Efficient computation of optical flow using the census transform. Pattern Recognition. Springer Berlin Heidelberg, 79--86.Google Scholar
- Xilinx. 2014. Vivado design suite user guide—High-level synthesis. Xilinx App. Note UG902 (v2014.1).Google Scholar
- Xilinx. 2015. Software-Defined SoC Development Enviroment. Retrieved from http://www.xilinx.com/products/design-tools/software-zone/sdsoc.html.Google Scholar
- Xilinx-Zynq. 2016. Zynq-7000 all programmable SoC overview. Xilinx Product Spec. DS190 (v1.10).Google Scholar
Index Terms
- Graph-Grammar-Based IP-Integration (GRIP)—An EDA Tool for Software-Defined SoCs
Recommendations
Hardware-Accelerated Software Library Drivers Generation for IP-Centric SoC Designs
GLSVLSI '16: Proceedings of the 26th edition on Great Lakes Symposium on VLSIIn recent years, the semiconductor industry has been witnessing an increasing reuse of hardware IPs for System-on-Chip (SoC) designs and embedded computing systems on FPGA platforms with hard-core processors. The IP-reuse comes with an increasing ...
HW/SW Co-Design and Implementation of Multi-Standard Video Decoding
ESTMED '06: Proceedings of the 2006 IEEE/ACM/IFIP Workshop on Embedded Systems for Real Time MultimediaIn this paper, we present a design and implementation of multi-standard video decoder, which adopts the principle of HW/SW cooperation to achieve real time video decoding process. Based on the profiling of MPEG-1/2/4 video decoding algorithms, the ...
DBHI: A Tool for Decoupled Functional Hardware-Software Co-Design on SoCs
FPGA '20: Proceedings of the 2020 ACM/SIGDA International Symposium on Field-Programmable Gate ArraysThis paper presents a system-level co-simulation and co-verification workflow to ease the transition from a software-only procedure, executed in a General Purpose processor, to the integration of a custom hardware accelerator developed in a Hardware ...
Comments