How to Quick Start Virtual Platform Development Umesh Sisodia CircuitSutra Technologies
Virtual Platform should be available early in the cycle SystemC use case that is gaining wide adoption in the industry Simulation model of SoC / Electronics system that can run as fast as the real hardware Can be used for embedded software development Advanced debug and analysis features Allows HW and SW development in parallel. Reduces Time to Market. Virtual Platform should be available early in the cycle
Challenges in VP development Non availability of models. It requires lots of efforts to understand modeling concepts No standard for modeling chip interfaces at transaction level (USB, Ethernet, UART, SPI, I2C, PCI etc..) Tools are still evolving, how do you ensure that models are tool independent To use advanced debug features you may have to do tool specific modifications in the model Can Virtual Platform be available early in the cycle ? For low end applications does it make economic sense to build a VP ?
Challenges in VP development Ethernet Controller Registers Protocol Handling TLM Ethernet Protocol Switch Backend Ethernet Driver (Host PC) Ethernet Controller Ethernet Controller
CircuitSutra Modeling Library (CSTML) Virtual Platform (VP-QSP) Requirement Standard TLM interfaces TLM_UART TLM_SPI TLM_I2C TLM_USB TLM_ETHERNET Methodology to develop the tool independent models Off the shelf models of general purpose peripherals Re-usable modeling infrastructure CircuitSutra have defined a set of TLM interfaces We can work with Accellera / IEEE to make these standard CircuitSutra Modeling Library (CSTML) Virtual Platform (VP-QSP)
Reduce your VP development effort upto 80% Quick Start your VP project CircuitSutra Modeling Library (CSTML) Library built on top of SystemC & TLM2.0. This is a collection of convenience classes and utilities that ease the model development activity. Relieves the modeling engineers for the complexity of various modeling concepts (abstraction, TLM rules etc..) Enables tool independent model development. Model skeleton is automatically generated using a script Compliant with standards (SystemC, TLM2.0, STARC TLM Guidelines) Will be continuously updated to adhere to upcoming standards (CCI, IP-XACT, UVM, SCV, SystemRDL) Virtual Platform – Quick Start Package (QSP) Library of basic models and modeling infrastructure that can be used to quick start a Virtual Platform project VP-QSP-ARMCoreTile VP-QSP-UART VP-QSP-SPI VP-QSP-Ethernet VP-QSP-USB VP-QSP-AUDIO PCI, SATA, DDR, Imaging Sub System, Automotive SoC, Motor control … Reduce your VP development effort upto 80%
VP-QSP-UART Sample model: PL011 UART UART Socket UART Socket UART Controller TERMINAL TLM UART Sample model: PL011 UART Similarly for other interfaces: SPI, Ethernet, USB, Audio
VP-QSP-ARMCoreTile Library of basic IP models which are required for any ARMCortexA9 & A15 based SoC. A minimal Virtual Platform that can boot Linux. VP of ARM reference boards: Core Tile Express A9, A15 and Motherboard uATX (ARM SMP Architecture) IP Name Description PL-192 Vector Interrupt Controller (VIC) SP-805 Watchdog module SP-804 Dual Timer PL-031 PrimeCell Real Time Clock PL-354 PrimeCell Dual SRAM Memory Interface PL-011 PrimeCell UART PL-310 L2 Cache Controller PL-330 DMA PL-022 SPI PL-111 PrimeCell Color LCD Controller PL-041 Advanced audio codec interface PL-180 PrimeCell Multimedia Card Interface PL-341 PrimeCell DDR2 Dynamic Memory Controller Interface SMC LAN9118 Ethernet Controller Philips ISP1761 USB Controller Tested on Linux (32, 64), Windows (32, 64) Can be integrated into any Virtual Platform environment Other QSP being planned: Automotive SoC, Imaging SoC, Motor control etc..
Quick Start your ESL Activity Thank You!! Q&A Quick Start your ESL Activity