Abstract
Virtual Prototypes of processor-based SoCs are widely used by semiconductor and system companies in many application domains like mobile communications, automotive, Internet of Things, storage, networking, and deep learning. They help to reduce risk, shorten time to market, increase design productivity, and improve the quality of results. This chapter motivates the usage of Virtual Prototypes and gives an extensive overview of the use-cases in the area of architecture analysis, software development, and functional verification of processor-based platforms. This chapter also covers the modeling of Virtual Prototypes, including an introduction of the SystemC Transaction Level Modeling (TLM) standard and the modeling of processors and peripheral components. In the last section, the described concepts of Virtual Prototyping are illustrated by an SSD Controller example.
Similar content being viewed by others
References
Android Studio. https://developer.android.com/studio
Arm Cycle Model Studio. https://www.arm.com/products/development-tools/simulation/cycle-model-studio
Arm Cycle Models. https://developer.arm.com/tools-and-software/simulation-models/cycle-models
Arm Development Studio. https://www.arm.com/products/development-tools
Arm Fast Models. https://developer.arm.com/tools-and-software/simulation-models/fast-models
Arm Fixed Virtual Platforms. https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms
ASIP Designer. https://www.synopsys.com/designware-ip/processor-solutions/asips-tools.html
CEVA. https://www.ceva-dsp.com
DesignWare ARC nSIM. https://www.synopsys.com/dw/ipdir.php
Functional Mock-up Interface (FMI). https://fmi-standard.org
Intel CoFluent. https://www.intel.com/content/www/us/en/cofluent/overview.html
Intel Integrated Simulation Infrastructure with Modeling (ISIM). https://software.intel.com/content/www/us/en/develop/tools/integrated-simulation-infrastructure.html
Jenkins Automation Server for Continuous IntegrationContinuous Delivery. https://www. jenkins.io/
Lauterbach Development Tools. https://www.lauterbach.com
Mirabilis VisualSim. https://www.mirabilisdesign.com
Oracle Virtual Box. https://www.virtualbox.org
Silver Virtual ECU. https://www.synopsys.com/verification/virtual-prototyping/virtual-ecu/silver.html
Synopsys DesignWare TLM library. https://www.synopsys.com/verification/virtual-prototyping/virtual-prototyping-models/designware-tlm-library.html
Synopsys Platform Architect. https://www.synopsys.com/verification/virtual-prototyping/platform-architect.html
Synopsys Virtualizer. https://www.synopsys.com/verification/virtual-prototyping/virtualizer.html
Tensilica Customizable Processors. https://ip.cadence.com/ipportfolio/tensilica-ip
The Modelica Association. https://modelica.org
The OpenSSD Project. http://www.openssd.io
The Software Freedom Conservancy. QEMU the fast processor emulator. https://www.qemu.org
The SystemC Modeling Library (SCML). http://www.synopsys.com/cgi-bin/slcw/kits/reg.cgi
Tool CommLanguage (TCL). http://www.tcl.tk
Verilator. https://www.veripool.org/verilator
IEEE Standard for Standard SystemC Language Reference Manual (2012) IEEE Std 1666-2011 (Revision of IEEE Std 1666-2005), pp 1–638
AMBA AXI and ACE Protocol Specification (2013) http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0022e/index.html
IEEE Standard for Design and Verification of Low-Power Integrated Circuits (2015) http://standards.ieee.org/getieee/1801/download/1801-2015.pdf
Accelerate devops with continuous integration and simulation, a how-to guide for embedded development (2019) https://resources.windriver.com/devops/accelerate-devops-with-continuous-integration-and-simulation
IEEE Standard for Universal Verification Methodology Language Reference Manual (2020) IEEE Std 1800.2-2020 (Revision of IEEE Std 1800.2-2017), pp 1–458
Aldis J (2006) Use of systemC modelling in creation and use of an SOC platform: experiences and lessons learnt from OMAP-2. In: Burton M, Morawiec A (eds) Platform based design at the electronic system level. Springer, New York, pp 31–47
Arm Ltd (2020) AMBA-PV Extensions to TLM Developer Guide, Version 2.0. https://developer.arm.com/documentation/100962/latest
Balarin F, Chiodo M, Giusto P, Hsieh H, Jurecska A, Lavagno L, Passerone C, Sangiovanni-Vincentelli A, Sentovich E, Suzuki K, Tabbara B (1997) Hardware-software co-design of embedded systems: the POLIS approach. Springer, Boston
Barve Y, Karve P, Gokhale A, Mahadevan S (2021) Research challenges in the design and composition of surrogate models for robust CPS: position paper. Association for Computing Machinery, pp 26–29
Becker D, Singh RK, Tell SG (1992) An engineering environment for hardware/software co-simulation. In: Proceedings of the 29th ACM/IEEE design automation conference. IEEE Computer Society Press, pp 129–134
Bhote P, Kallerdahl A, Khan O, Hardt W (2019) Latest trends in continuous integration for highly autonomous driving. In: IBS international symposium on computer science, computer engineering and educational technology 2019, p 49
Binkert N, Beckmann B, Black G, Reinhardt SK, Saidi A, Basu A, Hestness J, Hower DR, Krishna T, Sardashti S et al (2011) The gem5 simulator. ACM SIGARCH Comput Archit News 39(2):1–7
Buck J, Ha S, Lee EA, Messerschmitt D (1994) Ptolemy: a framework for simulating and prototyping heterogeneous systems. Int J Comput Simul 4:155–182
DeSchutter T (ed) (2014) Better software. Faster! best practices in virtual prototyping. Synopsys . ISBN 978-1617300134
Edwards S, Lavagno L, Lee E, Sangiovanni-Vincentelli A (1997) Design of embedded systems: formal models, validation, and synthesis. Proc IEEE 85(3):366–390
Engblom J (2018) Temporal decoupling – are fast and correct mutually exclusive? In: Design and verification conference in Europe (DVCon). https://dvcon-europe.org/content/event-details?id=260-5
Feldner I, Heer C, Kogel T, Mauderer A, Schleifer R, Thanner M, Thudt R (2019) The automotive virtual prototyping platform. Virtual Platform Working Group of the Arbeitskreis Automotive. https://www.edacentrum.de/en/whitepaper-automotive-virtual-prototyping-platform
Flynn D, Aitken R, Gibbons A, Shi K (2007) Low power methodology manual: for system-on-chip design. Springer, New York
Friedman J (2006) MATLAB/simulink for automotive systems design. In: Proceedings of the design automation test in Europe conference, vol 1, pp 1–2
Fuller A, Fan Z, Day C, Barlow C (2020) Digital twin: enabling technologies, challenges and open research. IEEE Access 8:108952–108971
Gajski DD, Vahid F, Narayan S, Gong J (1998) System-level exploration with specSyn. In: Proceedings of the 35th annual design automation conference, DAC’98. Association for Computing Machinery, New York, pp 812–817
Greaves DJ (2021) Modern system-on-chip design on arm. Arm Education Media. ISBN 978-1-911531-37-1
Groetker T, Liao S, Martin G, Swan S (2002) System design with systemC. Springer, Heidelberg
Guerra L, Fitzner J, Talukdar D, Schlager C, Tabbara B, Zivojnovic V (1999) Cycle and phase accurate DSP modeling and integration for HW/SW co-verification. In: Proceedings 1999 design automation conference (Cat. No. 99CH36361), pp 964–969
Gupta RK, De Micheli G (1993) Hardware-software cosynthesis for digital systems. IEEE Des Test 10(3):29–41
Hellestrand G (1999) The revolution in systems engineering. IEEE Spectr 36(9):43–51
Hoffmann A, Kogel T, Nohl A, Braun G, Schliebusch O, Wahlen O, Wieferink A, Meyr H (2001) A novel methodology for the design of application-specific instruction-set processors (ASIPS) using a machine description language. IEEE Trans Comput-Aided Des Integr Circuits Syst 20(11):1338–1354
Huang G, Hu J, He Y, Liu J, Ma M, Shen Z, Wu J, Xu Y, Zhang H, Zhong K, Ning X, Ma Y, Yang H, Yu B, Yang H, Wang Y (2021) Machine learning for electronic design automation: a survey
Jünger L, Zurstraßen N, Kogel T, Keding H, Leupers R (2020) Amaix: a generic analytical model for deep learning accelerators. In: Orailoglu A, Jung M, Reichenbach M (eds) Embedded computer systems: architectures, modeling, and simulation. Springer International Publishing, Cham, pp 36–51
Kang K, Park S, Bae B, Choi J, Lee S, Lee B, Lee JB (2019) Seamless SoC verification using virtual platforms: an industrial case study. In: Design, automation test in Europe conference exhibition (DATE), pp 1204–1205
Kempf T, Dörper M, Leupers R, Ascheid G, Meyr H, Kogel T, Vanthournout B (2005) A modular simulation framework for spatial and temporal task mapping onto multi-processor soc platforms. In: Proceedings of the conference on design, automation & test in Europe (DATE), Munich
Keutzer K, Newton A, Rabaey J, Sangiovanni-Vincentelli A (2000) System-level design: orthogonalization of concerns and platform-based design. IEEE Trans Comput-Aided Des Integr Circuits Syst 19(12):1523–1543
Kienhuis B, Deprettere E, Vissers K, Van Der Wolf P (1997) An approach for quantitative analysis of application-specific dataflow architectures. In: Proceedings IEEE international conference on application-specific systems, architectures and processors, pp 338–349
Kogel T (2006) Peripheral modeling for platform driven ESL design. In: Burton M, Morawiec A (eds) Platform based design at the electronic system level. Springer, New York, pp 71–85
Kogel T (2017) Synopsys virtual prototyping for software development and early architecture analysis. In: Ha S, Teich J (eds) Handbook of hardware/software codesign. Springer, Dordrecht, pp 1127–1159
Krishnan S, Wan Z, Bharadwaj K, Whatmough P, Faust A, Neuman S, Wei GY, Brooks D, Reddi VJ (2021) Autopilot: automating SoC design space exploration for swap constrained autonomous UAVs
Lapedus M (2018) Big trouble at 3 nm. https://semiengineering.com/big-trouble-at-3nm
Lecler JJ, Baillieu G (2011) Application driven network-on-chip architecture exploration & refinement for a complex SoC. Des Autom Embed Syst 15(2):133–158
Liao S, Tjiang S, Gupta R (1997) An efficient implementation of reactivity for modeling hardware in the scenic design environment. In: Proceedings of the 34th design automation conference, pp 70–75
Liebel G, Marko N, Tichy M, Leitner A, Hansson J (2018) Model-based engineering in the embedded systems domain: an industrial survey on the state-of-practice. Softw Syst Model 17(1):91–113
Martin G (1998) Design methodologies for system level IP. In: Proceedings of the conference on design, automation and test in Europe. IEEE Computer Society, pp 286–289
Mäenpää M (2020) Virtualized CPU usage in SoC verification. Master’s thesis, University of Oulu, Faculty of Information Technology and Electrical Engineering. http://urn.fi/URN:NBN:fi:oulu-202008282897
Micheloni R, Marelli A, Eshghi K (2018) Inside solid state drives (SSDs). Springer series in advanced microelectronics. Springer, Singapore. https://books.google.de/books?id=UtNjDwAAQBAJ
Mueller W, Becker M, Elfeky A, DiPasquale A (2012) Virtual prototyping of cyber-physical systems. In: 17th Asia and South Pacific design automation conference, pp 219–226
Nohl A, Braun G, Schliebusch O, Leupers R, Meyr H, Hoffmann A (2002) A universal technique for fast and flexible instruction-set architecture simulation. In: Design automation conference
Novet J (2021) Tesla unveils chip to train A.I. models inside its data centers. https://www.cnbc.com/2021/08/19/tesla-unveils-dojo-d1-chip-at-ai-day.html
Oetjens JH, Bannow N, Becker M, Bringmann O, Burger A, Chaari M, Chakraborty S, Drechsler R, Ecker W, Grüttner K, Kruse T, Kuznik C, Le HM, Mauderer A, Müller W, Müller-Gritschneder D, Poppen F, Post H, Reiter S, Rosenstiel W, Roth S, Schlichtmann U, von Schwerin A, Tabacaru BA, Viehl A (2014) Safety evaluation of automotive electronics using virtual prototypes: state of the art and research challenges. In: 2014 51st ACM/EDAC/IEEE design automation conference (DAC), pp 1–6
Reyes V (2013) Virtual hardware in-the-loop: earlier testing for automotive applications. https://www.eenewseurope.com/Learning-center/virtual-hardware-``-loop''-earlier-testing-automotive-applications
Rowson J (1997) Virtual prototyping. In: Proceedings of CICC 97 – custom integrated circuits conference, pp 89–94
Rowson J, Sangiovanni-Vincentelli A (1997) Interface-based design. In: Proceedings of the 34th design automation conference, pp 178–183
Schürmans S, Zhang D, Auras D, Leupers R, Ascheid G, Chen X, Wang L (2013) Creation of ESL power models for communication architectures using automatic calibration. In: 2013 50th ACM/EDAC/IEEE design automation conference (DAC), pp 1–6
Song YH, Jung S, Lee SW, Kim JS (2014) Cosmos openssd: a pcie-based open source ssd platform. In: Proceedings of flash memory summit
Van Rompaey K, Verkest D, Bolsens I, De Man H (1996) Coware-a design environment for heterogeneous hardware/software systems. In: Proceedings EURO-DAC’96. European design automation conference with EURO-VHDL’96 and exhibition, pp 252–257
Wolf W (2003) A decade of hardware/software codesign. Computer 36(4):38–43
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Section Editor information
Rights and permissions
Copyright information
© 2022 Springer Nature Singapore Pte Ltd.
About this entry
Cite this entry
Kogel, T. (2022). Virtual Prototyping of Processor-Based Platforms. In: Chattopadhyay, A. (eds) Handbook of Computer Architecture. Springer, Singapore. https://doi.org/10.1007/978-981-15-6401-7_44-1
Download citation
DOI: https://doi.org/10.1007/978-981-15-6401-7_44-1
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-15-6401-7
Online ISBN: 978-981-15-6401-7
eBook Packages: Springer Reference EngineeringReference Module Computer Science and Engineering