Virtual Prototypes and Platforms

Virtual Prototypes and Platforms

Virtual Prototypes and Plaorms A Primer Eyck Jentzsch, MINRES Technologies GmbH Rocco Jonack, MINRES Technologies GmbH Josef Eckmüller, Intel Deutschland GmbH © Accellera Systems Initiative 1 FOUNDATIONS OF VP © Accellera Systems Initiative 2 What are not virtual prototypes & plaorms • These are not virtualizaon soluKons or virtual machines like VirtualBox or VMWare – A virtual machine (VM) is an emulaon of a computer system (...) and provides funcKonality of a physical computer (Wikipedia) – A VM or virtual machine was originally defined by Popek and Goldberg as "an efficient, isolated duplicate of a real computer machine." • Although some concepts and mechanisms are also used in VPs © Accellera Systems Initiative 3 What is a virtual prototype or plaorm • Virtual plaorm is a hardware simulator execuKng embedded soUware (eSW) • Usually built on top of an instrucKon set simulator (ISS) of the processor(s) connected via buses to memory and peripherals such as Kmers, general I/O, communicaon interface, etc. • While the VP is mostly implemented in SystemC the ISS may be implemented in some other general purpose language. © Accellera Systems Initiative 4 Differences between virtual prototype and plaorm • Virtual prototype – Is in development and does not have final structure and parKKoning. – Possibility to quickly change this – Comprehensive analysis means – Used to opKmize SoC design wrt. power, area, speed, throughput, and/or latency • Virtual plaorm – Represents a SoC in its final shape, – Aims at simulaon speed as well as funcKonal accuracy and completeness, – Used for (e)SW development © Accellera Systems Initiative 5 Alternaves to VPs • Emulaon – high accuracy and speed – needs Register-Transfer-Level (RTL) descripKon, expensive to scale • FPGA – high accuracy and speed – needs RTL implementaon to do synthesis, place and route è long implement- compile-debug loops • Hardware in the loop (HIL) – very high accuracy and speed (real-Kme) – comes late in the design process, scalability challenge © Accellera Systems Initiative 6 VP standards • Focus on standards for VP development - SW and FW running on VP may have different requirements/standards • Usage of C++ - Performance requirements - Compliance with exisKng models - Most tools provide APIs - Linking of scripKng environments for dynamic control e.g. Python, TCL, Lua • Standards are important for IP exchange - Internal implementaon might be different - Standards oUen imply standard interfaces/APIs - Standards typically allow easier tool deployment • Tools can blur the line between standard and proprietary implementaon - AddiKonal funcKonality provided that is vendor specific - Model libraries may incur tool specific funcKonality © Accellera Systems Initiative 7 Modeling techniques • Several modeling approaches are used to implement a VP and its components – Behavioral/unKmed – FuncKonal/loosely med – Cycle-accurate/approximately Kmed – Register-transfer-level • A parKcular VP usually is a mix-and-match of these techniques © Accellera Systems Initiative 8 Behavioral/unKmed • The unKmed model is a funcKonal IF descripKon having no noKon of Kme • A set of algorithmic blocks F1 communicang using funcKon calls or message pipes • Keeps the causality and order of invocaon F2 © Accellera Systems Initiative 9 FuncKonal/loosely Kmed (LT) • The loosely Kmed model is a structural and behavioral refinement of the OS+SW (IF, F2) funcKonal model. ACCEL • Mapping of funcKonal blocks to HW and CPU (F1) SW components and communicaon interfaces in-between based on a chosen architecture • Subsystems can execute ‘ahead-of-Kme’ • TransacKons at communicaon MEM I/O interfaces correspond to a complete read or write across a bus or network in physical hardware and provide Kming at the level of the individual transacKon © Accellera Systems Initiative 10 Cycle-accurate/approximately Kmed (AT) • Approximated Kming on bus OS+SW communicaon and on hardware (IF, F2) ACCEL resource access CPU (F1) – Interface communicaon Kme – Average processing Kme in hardware IP • TransacKons are broken down into a MEM I/O number of phases corresponding much more closely to the phasing of parKcular hardware protocols © Accellera Systems Initiative 11 Register-transfer level (RTL) • Models a block or SoC in terms of the flow of data between hardware registers, and the logical operaons performed on this data • StarKng point for physical implementaon by synthesis, place, and route © Accellera Systems Initiative 12 C++ class libraries for modeling • SystemC is a class library on top of C++ SCML - Structural descripKon elements - Data types TLM2 - Event driven simulaon kernel • TLM2 modeling allows for interoperability SystemC - Reuse of exisKng components whether 3rd party or inhouse C++ - Tool environments support TLM2 - InteracKon with more cycle-accurate models is well defined – Even bridging into RTL simulators is well defined and supported by (commercial) tools • ProducKvity libraries enable faster modeling of common components - Registers, memories, infrastructure tasks - Examples of libraries - Propriatary: Synopsys SCML, Intel ISCTLM, ASTC Genesis - Open Source: Greensocs Greenlib, MINRES SC Components © Accellera Systems Initiative 13 TLM2 based modeling • TLM2 ports are the interfaces between IA TLM2 ports modules - Retain connecKon to architectural view of SoC - Allows for reuse of components Subsystems, for instance Audio, - Focus on interfaces, not on funcKonality Graphics, Modem etc. • Provides infrastructure for modeling efficiency - LT modeling allows opKmizaon of events IniKator Slave - Direct-memory-interface (DMI) calls can nb_transport_bw b_transport invalidate_direct_mem_ptr nb_transport_fw provide very high memory-access efficiency get_direct_mem_ptr transport_dbg - Temporal decoupling allows models to delay synchronizaon with other components © Accellera Systems Initiative 14 Modeling efficiency with TLM2 LT • LT specifies different transport mechanisms IA ISS RAM - b_transport() as blocking access per transacKon - DMI calls to request memory access by pointer • Design goals Subsystems, for instance Audio, - Minimizing synchronizaon with environment Graphics, Modem etc. - Localizing workload - Allows for registraon of callback funcKons • Works well in conjuncKon with temporal decoupling - Avoid synchronizaon in blocking calls if possible - Processor models can decide when to synchronize © Accellera Systems Initiative 15 ProducKvity Libraries • Common elements should be modeled on top IA of common classes • Registers, Memories, etc. • Efficient for stubs or preliminary implementaons Subsystems, for instance Audio, • Common infrastructure tasks should be Graphics, modeled on top of common classes Modem etc. – Logging – Parametrizaon – Domain handling (Clock, reset, power) • SCML, ISCTLM, and Genesis are examples of (proprietary) producKvity libraries – Concepts and implementaons might serve as starKng point for standardizaon © Accellera Systems Initiative 16 Register modeling • Registers are one of the main interface between HW and SW • Registers mean different things to HW and SW groups registers control Write_start() - HW contains many registers, but only few are exposed to SW enable registers set Write_finished() - SW visible registers should be implemented, documented and reset tested src_addr Reset_values() dest_addr • Consider automated code generaon - Large amount of registers - changing requirements - Meta data formats like IPXACT, RDL, RAL • Having a model that allows consistent HW and SW access modeling is important - Access modes, reset and retenKon values - Efficient access through callback funcKons - ProducKvity layer provides register classes © Accellera Systems Initiative 17 Model meta data • SKtching models together is a recurring IA and error prone task • Using meta data is oUen useful – Data visualizaon Subsystems, for – Data exchange instance Audio, Graphics, • IPXACT is a XML based schema for Modem etc. interface descripKons – Some tools can provide or read IPXACT • XML parsing for simple tasks can be done using Open source libraries • Other examples for meta data representaons are RDL, RAL, sysML © Accellera Systems Initiative 18 Improvement of standards • TLM2 provides a generic transport mechanism and extension mechanisms – Specific protocols are not described • AMBA, PCI, MIPI are leU to implementer • ProducKvity libraries are not standardized • More support for common infrastructure tasks – Tracing – Profiling – Parallelizaon © Accellera Systems Initiative 19 Using IP for Virtual Plaorms • VP represents hardware – SoC design typically contains a significant number of 3rd IP components – Ideally all IP should come from same source (RTL, architecture, verificaon, VP models) • Availability of IP for VP is improving, but sKll limited – Availability of models oUen defines the usage – Consider Co-simulaon • Processor-based models that execute SW – User of VP is exposed to those models • Peripheral models – Execute funcKonality autonomously, but under control of SW • Interconnect models – ConnecKng different elements based on addresses © Accellera Systems Initiative 20 Modeling processors SW/FW • Core funcKonality of VP IA ISS • Need support for high speed, good debug interface, profiling, etc. Subsystems, for • Most embedded processor providers instance Audio, Graphics, also provide ISS models Modem etc. – Speed versus Kming accuracy • Dynamically configurable to run in performance mode or accuracy mode – Links to debug environment and other SW tools should be consistent with user expectaon © Accellera Systems Initiative

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    55 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us