L. Maillet-Contoz, STMicroelectronics Workshop - November 2011 - Toulouse System Platforms Group 10 years experience in SoC modeling Definition of ESL methods and tools Deployment in ST & ST-Ericsson product groups since 2003 Contributions to projects of the various products groups Drive standards Corporate Member, OSCI and Accellera Represents ST at both Boards of Directors Several donations to the Technical Working Groups TLM1 & TLM2, CCI IP-Xact Former Chair of OSCI board & TLM WG, current Chair of OSCI Verification WG Current chair of Accellera IP-Xact TSC Vice Chair of IEEE 1666-2011 Technical Committee Workshop - November 2011 © STMicroelectronics 2 Agenda Motivations for SoC TLM modeling Languages and abstractions for System Level Design Current standards for interoperability ST TLM Framework Discussion and conclusion © STMicroelectronics 3 Objectives: face SoC increasing complexity A camera-telephone? Version 1998 Version 2008 © STMicroelectronics 4 Motivations for Virtual Prototyping SoC architecture exploration - Too late - Too costly + Accurate - Too late - Too slow + Accurate HDL simulation FPGA prototype Functional validation environment Pre-silicon software development Soc Virtual Prototype © STMicroelectronics 5 SoC Virtual Prototyping SW SW Input devices Transaction Level Models (HW blocks) SW SW Output devices H.M.P. SoC © STMicroelectronics 6 Agenda Motivations for SoC TLM modeling Languages and abstractions for System Level Design SystemC and IP-Xact Loosely and Approximately Timed modeling styles Impact on modeling effort and simulation speed Current standards for interoperability ST TLM Framework Discussion and conclusion © STMicroelectronics 7 Different platforms for different use models All activities do not require cycle accuracy Engineering effort to be balanced with benefits Fast / precise trade-off © STMicroelectronics 8 Languages for System Level Design General Purpose Languages Well known Standard Not appropriate for hardware modeling C, C++, Java, … Dedicated Languages Well defined semantics Proprietary Lack of support No model exchange SpecC, HardwareC, … Hardware Description Languages VHDL, Verilog, … Nice for hardware modeling Not appropriate for high level modeling Slow © STMicroelectronics 9 Different abstraction levels AL Algorithmic Model Level of Abstraction PV – Loosely Timed Programmer’s View PVT – Approximately Timed Programmer’s View + Timing CA Cycle Accurate Level RTL Register Transfer Level • prior to HW/SW partition • post HW/SW partition • models bit-true behavior, register bank, data transfer, system synchronization TLM supported • PV plus timing annotation abstraction levels • timed IP models • refined communication models • models state at each clock edge • ASIC flow entry point • synthesizable model © STMicroelectronics 10 Transaction Level Models (LT) Model IPs/subsystems at the transaction level Bit true behavior Bit true communication System synchronization points No clock/cycle, but functional timing (e.g. timer) Fast to implement and simulate Details of interconnect are abstracted TAC router TLM models often built using C reference model TLM wrapper Model registers serve read/write accesses © STMicroelectronics 11 Transaction Level Models (AT) Targetting performance evaluation Hardware architecture Software Captures micro-architecture information/timing Several technical options LT Model refinement -> rewriting LT Model annotation Intrusive Lightweight effort Composition of LT and T models © STMicroelectronics 12 Comparing abstraction levels TLM LT Same functional behavior Same functional behavior TLM AT Same timed behavior RTL © STMicroelectronics 13 Options for processor models (1/2) Native compilation Compile the embedded software on the workstation No model of the core micro-architecture/Instruction set No assembly code for target processor, nor binary code Source code level compatibility Sometimes requires to use a HAL Advantages & drawbacks Fast execution No dependency on low level processor dependent features Can not be used for performance evaluation © STMicroelectronics 14 Options for processor models (2/2) Instruction Set Simulator Instruction Accurate Captures the Instruction Set Suitable for LT modeling style Cycle Accurate Represents the micro-architecture of the core Suitable for AT modeling style Various simulation technologies Instruction interpretation Dynamic translation Advantages and drawbacks Uses the target tool chain Binary code compatibility Slow for interpreted ISS © STMicroelectronics 15 1st dimension: precision TIMING PRECISION RTL CA TLM-Timed / AT TLM / LT bit-true PAPER EXEC. SPEC SPEC TIME OF PROJECT FIRST COMPLETE RTL DESIGNING RTL RTL EVOLVES UNTIL PG © STMicroelectronics 16 2nd dimension: effort Effort RTL CA TLM/LT PAPER EXEC. SPEC SPEC AT AT PVT optional Optional Time of project FIRST COMPLETE RTL DESIGNING RTL RTL EVOLVES UNTIL PG © STMicroelectronics 17 3rd dimension: speed SoC Speed x100 RTL CA AT+ X10-x100 AT TLM / LT Chip reference speed x10 © STMicroelectronics 18 Agenda Motivations for SoC TLM modeling Languages and abstractions for System Level Design Current standards for interoperability Supporting and adopting ESL standards SystemC/TLM IP-Xact ST TLM Framework Discussion and conclusion © STMicroelectronics 19 Motivations Complex Virtual Platform integration requires Model to model interoperability Model to tool interoperability A certain level of interoperability is achieved by standards… But full interoperability is not reached though… And user layers are required to have operational solution taking concrete benefits from bare standards © STMicroelectronics 20 Rationale to support standards Model-to-model interoperability Integrate models coming from different IP suppliers Deliver subsystems and/or virtual platforms to customers Model-to-tool interoperability Benefit from CAD tools support Benefit from best-in-class tools from various providers without migration campaigns SystemC and IP-XACT standards are required and complementary © STMicroelectronics 21 Adopting standards OSCI/SystemC A single language for modeling hardware/software systems Support multiple abstraction levels An object-oriented approach built on top of C++ as a set of classes SPIRIT/IP-Xact Covers HW IP interfaces, register configurations Support RTL and TLM abstractions Based on XML banks and Benefits of standards Enable competition between suppliers Avoid dependency to proprietary format of suppliers Enable adoption of new approaches inside the company © STMicroelectronics 22 SystemC standards evolution OSCI TLM2 OSCI TLM1 PV, PVT Core TLM I/F transport put, get Payload REQ, RESP LT, AT TLM I/F b_transport nb_transport Payload tlm_transaction Extension Complements IEEE 1666-2011 Incl TLM1 and TLM2 IEEE 1666-2005 2005 2008 2011 © STMicroelectronics 23 SystemC TLM: Just add water? Models and tools Must be compatible But not dependent ESL tool selection CCI TLM2 TLM2 Depending on added value perceived by users No need to validate a model against all tools No-tool / minimal tool option to be considered as baseline? TLM2 Interrupt TLM2 TLM2 TLM2 Memory Map Model-to-model interfaces TLM2 Mem map, interrupt, etc tbd Model-to-tools interfaces CCI (on going) Other to be defined Progress still to be done in standards arena © STMicroelectronics 24 IP-Xact objectives Ensure delivery of compatible component descriptions from multiple component vendors, Enable exchanging complex component libraries between electronic design automation (EDA) tools for SoC design (design environments), Describe configurable components using metadata Enable the provision of EDA vendor-neutral scripts for component creation and configuration (generators, configurators) © STMicroelectronics 25 A standardized XML description Component/Protocol identification and versioning mechanisms Component interface descriptions Bus interfaces (ports) Model parameters (to provide at instantiation) Software interface: IP register bank descriptions Hierarchy description Enable component instantiation and interconnection in standard compliant Design Environments Enables interconnect description © STMicroelectronics 26 A standardized XML description Verification Defines the possibility to plug monitors in the design Design Automation XML IP descriptions can include references to IP specific executable configurators/generators Example: bus matrix interconnect generator The standard also includes a language agnostic communication interface between CAD tools and the generators Since IPXACT 1.4, the interface is based on Web Services technologies that enables inter-application remote procedure calls © STMicroelectronics 27 IP-Xact roadmap December 2004: first release of the schema Made for RTL descriptions 1.2 : added verification information, but still RTL specific 1.4: Added ESL (TLM) description capabilities Defined new tool/generator communication interface: TGI 1.5: basis for the IEEE standard Evolutions mainly concern register bank descriptions December 2009: IEEE P1685 standard Now: the Spirit consortium has merged with Accellera A new technical committee has been created (chaired by ST) Progress on recognized limitations and possible new evolutions © STMicroelectronics 28 Agenda Motivations for SoC TLM modeling Languages and abstractions for System Level Design Current standards for interoperability ST TLM Framework Brief history Use models TLM Toolbox with SystemC and IP-Xact Discussion and conclusion © STMicroelectronics 29 Where do we come from? cycle accurate models coverification platforms: RTL models Transactional Level Modeling @ST TAC v1 TLM models 2005 2008 OSCI TLM 1.0 Standard OSCI TLM 2.0 Standard TAC v2 TLM models TAC v3 TLM models Performance/ temporal models 1998 – 2000 2001 2003 2005 2010 Various Experiments TLM Development Proposal of TLM 1.0 Standard to OSCI Alignment to OSCI TLM 1.0 Standard Alignment to OSCI TLM 2.0 Standard © STMicroelectronics 30 Virtual Prototypes with TLM Applied in the industry for complex SoCs System architecture exploration Anticipation of RTL functional verification Pre-silicon software development Functional Verification Functional Embedded Software TLM/RTL Co-simulation LT Models IPTG Architecture Analysis LT: Loosely Timed AT Models Embedded Software Optimization AT: Approximately Timed © STMicroelectronics 31 Functional verification Testbench TB Master TLM IPs Memory Input C/C++ expected Abstract interconnect Adapter Adapter TLM DUT IP Verification In-system Verif. RTL DUT © STMicroelectronics 32 TLM for functional verification Home Video Ips (by IPs Verification Manager) About 10 chips have now benefited from the TLM approach, resulting in about 4 times less bugs in our designs. Our improved efficiency relies on faster simulations, reuse of test vectors during the whole verification process (TLM, RTL, co-emulation, emulation), and the ability to quickly develop system-oriented functional tests. © STMicroelectronics 33 Pre-Silicon software development Enable early development of functional embedded software Same model is used for verification activities and software development Hardware blocks modeled with bit true behaviour and communication Processor models wrapped in SystemC Native compilation Instruction accurate Cycle accurate Debugger connection © STMicroelectronics 34 Advantages of virtual prototypes for software development Full control on simulation execution Full observability Non regression tests Easy deployment over large software development teams Easy evolutions © STMicroelectronics 35 TLM for firmware development Mobile Video Accelerator (by Video Subsystem Verification Manager) For 2nd generation subsystem, we saved 30% of our verification time (in months) by anticipating the firmware verification on TLM platform before any RTL platform, and by concentrating our verification effort only on pure HW © STMicroelectronics 36 TLM Modeling Framework Platform automation kit Ip-Xact flow VSoC STudio TLM model portfolio Transaction Monitoring Messaging and configuration Build environment TLM modeling methodology Repository TLM modeling kit Infrastructure kit © STMicroelectronics 37 TLM key technology items TLM platform assembly IPXact IEEE 1685 TLM modeling methodology SystemC IEEE 1666 Register bank support Configuration capabilities OSCI CCI TLM communication protocols OSCI TLM 2 TLM Model Monitoring capabilities SCV Build infrastructure (tlm_infra) © STMicroelectronics 38 SystemC Add-ons : modeling layers and IP models libraries CPU models TLM IP Library ST IPs TAC Protocol External IPs ST Cores (STxP70, ST40, etc) External Cores (ARM, etc) OCB Models OSCI TLM Standard SystemC Channels SystemC © STMicroelectronics 39 VSoCSTudio Platform compilation VSoC Platform assembly Resource browser 40 udio Configuration editor Process Activation Chart © STMicroelectronics What is TAC Protocol? TAC stands for Transaction Accurate Communication A useful protocol for functional verification and embedded software development communications Characteristics: through transaction-accurate Dedicated to memory mapped bus communication point-to-point with no broadcast requires address and data supports single and block transfers supports byte-enable for single and block transfers provide control operations routers are often used in conjunction with TAC models © STMicroelectronics 41 Register map support Increase model developer productivity No standard available yet for simulations Register map is constructed From IP-Xact description Manually Main features Register decoding Register and bitfield access control, setters & getters Register meta data (synchronization points) Unified reporting mechanism (using tlm_message) Interactions with bus interface Model Tools © STMicroelectronics 42 TLM Model/tool interactions Bus model Bus Interface Register bank Trans. Monitoring Transaction database Register introspection CAD Tool Model Configuration Upcoming OSCI CCI standard SystemC Kernel © STMicroelectronics 43 TLM SoC Analysis and Debugging Tools Software Analysis Platform assembly Hardware Analysis Statistics © STMicroelectronics 44 Using IP-Xact description as the reference SoC Top Arch IP Functional Spec IP-Xact descriptions Datasheet export Board spec package IP verification testcase (.h & .c) Netlist RTL Design Validation (.h) Software (.h) TLM model skeleton (.h & .cpp) © STMicroelectronics 45 TLM model generation and platform assembly IP Functional Specification Register Description Existing Model IP-Xact Description Other inputs Other output Behavior TLM Model Skeleton TLM model generation TLM/RTL platform assembly Header files Register tests SW development Validation HLS RTL © STMicroelectronics 46 Questions related to IP-Xact and HDS Consistency of descriptions? Specification IP-Xact TLM model & software Level of modularity Separate deliveries? Expressivity of the description E.g. Side effects for registers Connection to higher level information? E.g. end user scenarios, IP/SoC Functional Specification IP-Xact IP/SoC Description TLM Model Software Driver non functional properties © STMicroelectronics 47 Agenda Motivations for SoC TLM modeling Languages and abstractions for System Level Design Current standards for interoperability ST TLM Framework Discussion and conclusion ESL Ecosystem TLM value chain Conclusions © STMicroelectronics 48 ESL ecosystem CAD Tools Standards and Tools for CAD Tools Model developers Virtual Platform integrators Virtual Platform users ESL doesn’t mean only Standards & Examples EDA! License cost SW Tools SW Tools HW OSS SW Open Source tools # of users © STMicroelectronics 49 From enablers to mass market License cost Experts: - Very focused needs - Sensitive setup - Niche market Mass market: - Functional - Affordable Enablers: - Early adoption - Assess migration effort from in house solutions # of users © STMicroelectronics 50 Transaction Level Model Value Chain IP Specification High Modeling Engineers Expertise added value TLM Modeling on top of standards Methodology TLM TLM1.0, TLM 2.0 incl. Communication in IEEE 1666-2011 APIs revision IEEE 1666-2005 C++ class library SystemC SOC Specification TLM Model Bit accurate Register accurate Functionally correct Communicates through transactions IP IP IP Interconnect TLM model IP IP SoC Virtual Prototype Variable timing accuracy © STMicroelectronics 51 Conclusion Virtual platforms are key for pre-silicon software development Functional verification Automation of the IP-Xact based flow Generation of TLM model skeleton Generation of software header files Connection to other sources of high-level information still to be done © STMicroelectronics 52 More about it Read the book: Ghenassia, F. (ed.): 2005, Transaction-Level Modeling with SystemC. TLM Concepts and Applications for Embedded Systems. Springer. ISBN 0-387-26232-6 Several publications in international conferences and PhD thesis (Moy 2005, Fiandino 2007, Helmstetter 2007, Cornet 2008, Revol 2008, Funchal 2011) © STMicroelectronics Questions? (C) STMicroelectronics, 2010 Workshop - November 2011 - Toulouse 54