Wind River

Simics allows companies to become Table of Contents Networks and Buses...... 4 more competitive by enabling improved Target RTOS Support...... 4 Optimize Your Entire Product product capability and quality while Life Cycle...... 2 Capabilities...... 5 reducing technical risk, schedule risk, Platform Engineering...... 2 Modeling...... 5 and development cost across the full product development life cycle. Application Development...... 2 Host Support...... 5 System Integration and Test...... 3 Target Support...... 5 Simics virtual platforms can be as complex or as simple as your actual Project Management...... 3 Target Devices...... 5 physical hardware. They can contain Quick and Efficient Modeling...... 4 Target CPU Architectures...... 5 multi-core processors, multiple processor Features and Capabilities...... 4 SoC Families...... 6 boards, or multiple-board systems. This Scalability...... 4 Commercial Board Virtual provides the ability to debug your Connectivity/Interface...... 4 Platforms...... 6 system as a whole, instead of just debugging individual pieces. Simics virtual platforms can contain a mix of Wind River Simics allows product teams to hardware for development and different target hardware architectures, adopt a development methodology where testing. Simics virtual platforms are including mixed endian architectures. physical system hardware is replaced by unique. They are fast and accurate enough Simics virtual platforms eliminate Simics virtual platforms running on a to run a full software stack from hypervisor problems associated with using physical workstation or a PC. The virtual platform to application, and they guarantee hardware for product development such can run the same binary software as the repeatable software execution, full as limited target availability, flaky physical hardware and is fast enough to visibility/control of the virtual target prototype hardware, and hardware be used as an alternative to physical hardware, and true reverse execution. delays. Simics improves a project’s workflow by

• Executable specification supporting true iterative development, • Scalable from single hands-on system architecture investiga- board to many boards tions, and the ability to begin software • Fast enough to run real development independent of hardware software loads • Mixed CPU architecture • Utilize virtual availability. By taking advantage of systems Define development system Simics as a consistent platform through- • Multi-core • Run the same binaries out the development process, teams are • Networking used by physical hardware able to improve their entire product • Save, share, restore development life cycle to shorten Deploy Develop complete system time-to-market and customer adoption. states Overall expenses are lowered and a • Force system fault conditions higher-quality product is delivered to the • Virtual platform • Execute in reverse to • Interim virtual platforms market place, increasing the satisfaction find source of bugs for early user feedback of your customers. • Demos, training, and tech support

Figure 1: Wind River Simics supports the full product life cycle Optimize Your Entire Product Life Cycle

The entire product development team—including hardware architects, hardware designers, software designers, software testers, system integrators, and system testers—can utilize virtual platforms. Virtual platforms also reduce costs of technical support activities when you need to maintain unique variants of hardware for each of your customers. In addition, virtual platforms can be used by sales and marketing teams to demonstrate new product capability and by customers for training purposes.

What Simics Can Do for You Figure 2: Debugging software with Wind River Simics Define System Architecture • Leave paper behind and create an Platform Engineering access to physical hardware. Because a “executable specification.” The platform engineering team is virtual platform is entirely software • Make design decisions: How many comprised of hardware architects, configurable, it evolves much faster than CPUs? DSP or GPP? Cache size? hardware designers, and low-level physical hardware. This allows architec- Which software optimizations? software developers. The platform ture investigations and foundation software to be completed much earlier Develop Software engineering team defines and creates the product’s hardware architecture, than would be possible with traditional • Eliminate scheduling problems development approaches. due to limited target hardware system design, and foundation software. availability. In contrast to the paper trail that has Application Development • Perform “impossible” debugging. been traditionally used during the • Send a bit-exact system snapshot architecture phase, virtual platforms The application development team file to another developer for enable a hands-on resolution of technical architects, writes, optimizes, and tests collaboration. issues: software. Application development can • Say goodbye to “nonrepeatable be challenging when bugs.” • Use multi-core, accelerators, or both? • Eliminate big-bang integration: • Execute a function in GPP or DSP? • Key portions of the application come Start early and integrate progres- • What memory size and speed? from different development teams. sively. • Access to prototype hardware, debug The creation of a system’s foundation • Improve quality by testing tools, or instruments is limited. software—firmware, boot code, operat- hardware corner cases. • Debugging a single application requires ing system, and device drivers—can • Develop software applications access to the entire system. across heterogeneous OS environ- quickly become challenging if • Some bugs are only visible when run on the complete system. ments and hardware architectures. • Hardware is not yet available or • Bugs previously observed are not easily prototypes are not reliable. repeatable. Deploy Virtual Platforms • The hardware spec keeps changing. • You are developing multi-core applica- • Deploy virtual platforms to support • It is not possible to access key device tions. field teams. registers. • Demo your system on a laptop. Simics has supported application develop- The Simics virtual platform evolves with • Support new customer configura- ment on simulated systems comprised of the hardware design ensuring that tions easily and inexpensively. more than 50 boards and 700 processors, developers remain productive without

2 | Wind River Simics Traditional Product Life Cycle Product Life Cycle with VSD

Resources

Reduced Time-to-Market Software Increased Revenue Software Engineering Resources Engineering Resources

Hardware Integration Hardware Integration and Test and Test

Time Time Figure 3: Wind River Simics reduces time-to–market, compared to traditional product development including multi-core systems, heteroge- System Integration and Test engineer has only to freeze the system neous designs, multi-OS, and network System integration and test tasks can and send the checkpoint file to the distributed systems. Simics provides introduce significant risks to the success- software engineering team for guaran- complete control of hardware and time, ful delivery of the product, especially if teed bug duplication and subsequent support for seemingly impossible debug correction. • The hardware is late but the delivery scenarios, and complete run-to-run deadline has not moved. repeatability. As a result, individual • Tests cannot be completed due to lack Project Management developers and application teams work of target hardware. Project managers focus on higher-level more efficiently through the ability to • A hardware glitch interrupts tests, aspects of a program to ensure success- share system snapshots and to work with costing hours to restart or redo. ful completion and delivery of their the same compile/link/debug tools that • System faults cannot be forced without products: they are accustomed to using on physical physically breaking the hardware. target hardware. • Bugs do not reproduce themselves from • Design reviews run-to-run. • Hardware/software team collaboration A Simics virtual platform makes it much and communications easier to force, find, repeat, isolate, and When a virtual platform is used, integra- • Improved quality kill bugs by doing the following: tion can begin much earlier in the • Looming delivery deadlines development process. Now “integration” • Risk reduction • Running the same binaries that work on moves from a single high-profile task on the physical target Traditional development approaches, the Gantt chart to an evolving lower-risk • Freezing, saving, and restoring Simics where the hardware team moves on to activity that progresses forward as systems snapshots the next project immediately upon software becomes available. This progres- • Leveraging full visibility and control of delivery of the platform, can result in every device, register, and communica- sive integration approach can identify schedule delays, loss of features, or tions interface (e.g., Ethernet, virtual system problems much earlier than rework because the engineering machine environment, RapidIO, PCI traditional approaches, allowing them to documentation is rarely 100% complete Express, etc.) in the full system, even be resolved easier, faster, and at signifi- or accurate. Because engineers often those that would be invisible on physical cantly lower cost than otherwise possible. hardware “don’t really know what is needed until • Running software forward as with physical Simics equips each engineer with virtual they get there,” critical design problems hardware or—unique to Simics—in hardware that is dedicated to his or her may volley back and forth. reverse with complete register visibility own development, test, or integration In sharp contrast, Simics results in and breakpoint capability tasks. Because the Simics virtual platform improved cross-communication and • Breaking on normal software parameters combines complete system visibility with collaboration between hardware, software, or on any hardware parameter (e.g., time, the ability to stop and inspect the system instruction, device, or memory access) for and systems engineers. This happens at any time, engineers can perform complete systems debugging because the virtual platform—represent- comprehensive testing for any hardware • Collecting trace, code coverage, profile, ing hardware and allowing software to or I/O fault condition such as response and other information without modifica- run—is used to define the product and to corrupt packets, out of range read- tion to source or binaries and without uncover and resolve potential system ings, bad disk sectors, or any conceiv- the need for hardware tools (e.g., JTAG) issues long before they would otherwise able hardware failure. When bugs are be addressed. With a virtual platform, detected during these tests, the test hardware and software developers can

3 | Wind River Simics Virtual Serial, Application Software Keyboard, Mouse, Middleware Graphics

Model Library Drivers, BSP, Firmware, RTOS Off-the-Shelf

Wind River Hypervisor Other Tools such Target Software Stack as Sim, Debug,

Wind River Simics Virtual Platform Test Network Processors Memory Storage Devices and I/O Virtual Customers Hardware Real-World Equipment

Ecosystem Simics Core

CC++, SystemC Python, DML

Figure 4: Wind River Simics block diagram work in parallel to identify and resolve C, C++, Python, and DML, the modeling • Multi-board, multi-core, multiprocessor issues holistically, long before “it’s too late tool available with Wind River Simics. DML • Mixed architecture systems to do it right.” Design reviews take on a is tailored to allow efficient creation of • Distributed and rack-based systems whole new tone when a virtual model of device models through a specialized • Networked systems the product can be demonstrated, C-based syntax that automatically supports • Shared-memory and local-memory systems discussed, and modified long before the features such as device state inspection, actual product is available. check-pointing, and reverse execution. Connectivity/Interface Simics also makes it easy to define a • Wind River A Simics virtual platform is able to device’s programming registers directly in • Eclipse plug-in replace your target hardware to run your DML, within any of the other supported • Command line, batch, remote via Telnet entire target software stacks without modeling languages as appropriate to • GDB modification. In addition, the same those languages, or by directly importing • Cadence software tools used to build and debug • CriticalBlue IP-XACT register definition files. the target continue to be used with the • Enea virtual platform. In Simics, a complete virtual platform is • Freescale constructed by gluing individual models • IBM Rational Simics builds models hierarchically. At the together with Python scripts. This • PolyCore Software bottom of every virtual platform, you will approach isolates the more difficult • Most major commercial debuggers find individual models for physical target model building tasks from the system hardware such as , configuration tasks and it allows Networks and Buses memory, network interfaces, and bus variations and combinations of virtual controllers. These low-level device models • Ethernet, AFDX, ATM, serial systems to be quickly and easily created combine into boards, boards combine • MIL-STD-1553, ARINC 429, SpaceWire, and managed. IEEE 1394 (FireWire) into chassis, chassis into racks, and racks • RapidIO, PCI and PCI Express, USB, I2C into network-connected subsystems. This • Shared-memory rack backplanes modular approach ensures that the Features and Capabilities creation of new systems is straightforward. Simics provides a combination of unique Target RTOS Support Models are available off the shelf from features and capabilities to meet the needs • VxWorks Wind River or can be developed by Wind of software and system developers. Only • Wind River Linux River, the customer, or Wind River’s Simics has the ability to run full production • Wind River Hypervisor ecosystem of partners. software stacks on complex and large • Enea system models consisting of mixed CPU • Express Logic Quick and Efficient Modeling architectures and operating systems, • Green Hills multi-core processors, or network-connect- • IBM AIX Simics supports mixed language models, ed platforms, all with enough accuracy and • Linux • Microsoft where one component might be written in speed to satisfy developers. one language and another component in • MontaVista another language. This includes support • NetBSD and FreeBSD Scalability • QNX Software Systems for standard languages such as SystemC • SoC (system-on-chip) • Sun Solaris and TLM 2.0 and other languages including • Single board • In-house and most commercial real-time operating systems (RTOS) 4 | Wind River Simics Modeling • Core Wind River Simics Product • OSCI SystemC TLM-2 • 2 Family • The SPIRIT Consortium IP-XACT import • Intel Core i7 • Wind River Simics Hindsight: User and export • Intel variants interface, simulation framework, • C, C++, and Python API • AMD Athlon debugging • DML (Device Modeling Language) • AMD Athlon 64 • Wind River Simics Model Builder: • Parameterized and hierarchical system • AMD Opteron New device models and machine models configurations MIPS Architecture • Wind River Simics Extension Host Support • MIPS 4K Builder: Open interface to the • MIPS 5K • Linux (, x86-64) Simics simulator that enables • PMC RM7000 • Windows (x86) customers to extend Simics with • PMC E9000 custom functionality (plug-ins) and • Cavium cnMIPS 64 connect to additional workflows Target Support • RMI XLR MIPS64 • Wind River Simics Analyzer: Analyzing, code coverage, and Wind River has an extensive library of Power Architecture debugging capabilities of software boards, devices, and architectures. Check • Freescale e300 applications for large distributed http://www.virtutech.com/products/ • Freescale e500 v1 and heterogeneous systems as well simics_model_library.html for the most • Freescale e500 v2 as less complex systems up-to-date list. • Freescale e500 mc • Wind River Simics Ethernet • Freescale e600 Networking: Virtual-world and Target Devices • Freescale MPC603e real-world network connectivity • Freescale MPC750, MPC755 (“G3”) • Memory and system controllers • Wind River Simics Accelerator: • Freescale MPC74xx (“G4”) • Interrupt and DMA controllers Utilize multiprocessor and multi- • IBM PowerPC 405 • Ethernet controllers machine hosts for large simulations • IBM PowerPC 403 • PCI and PCI Express • Wind River Simics Virtual Platform: • IBM PowerPC 440 • Serial ports Model of the physical target • IBM PowerPC 464FP • USB devices and disks system, from an off-the-shelf • IBM PowerPC 750 (FX/GX) • SCSI controllers and devices hardware board to a complete • IBM PowerPC 970, 970MP • I2C controllers and devices custom system • IBM POWER6 • RapidIO controller and devices • IBM Cell SPE • Various communication devices such as those for FireWire, SpaceWire, etc. Capabilities Renesas • H8S • Complete execution control and debug Target CPU Architectures • H8/300 • Set breakpoints on memory, temporal, • SuperH SH-4 and any I/O ARM Architecture • Inspect and modify every hardware state • StrongARM SPARC Architecture • Control components and configuration • XScale • SPARC-V8 • Profile, trace, and log (data, instructions, • ARM7 (v4) • SPARC-V9 and registers) • ARM9 (v5) • Gaisler LEON2 • Utilize nonintrusive code coverage • ARM11 (v6) • Inspect and edit memory and registers Tensilica • Control speed Intel and AMD • Run system forward or in reverse • Xtensa • Intel386 • Analyze cache • Intel486 • Automate tests with scripting Texas Instruments • Intel • Control performance and synchronization • TMS320C64x DSP generation • Intel Pentium MMX • Simulate networks • TMS320C64x+ DSP generation • Intel • Utilize target OS awareness • Intel Pentium II • Fully control Simics and models • Intel Pentium III • Utilize graphical full system execution • Intel time line of processes and threads • Intel Pentium 4E • Extend with user-defined modules • Intel

5 | Wind River Simics SoC Families

Freescale • QorIQ P1/P2, P4 families including P40x0 and P20x0 • PowerQUICC II (MPC82xx ) • PowerQUICC II Pro (MPC83xx) • PowerQUICC III (MPC85xx) • MPC8641/D

IBM • Cell BE

Renesas • SH7756 • H8S/2164, H8/3867

Texas Instruments • TI C6414 • TI C6455

Cavium • OCTEON 38xx/58xx

Commercial Board Virtual Platforms • BAE Systems RAD750 3U/6U • Curtiss-Wright SVME-183 • Curtiss-Wright CHAMP-AV6 • GE Fanuc VG5 • Sun SPARC Servers • x86 PCs • Various SBC development boards

Wind River is a leader in embedded and mobile software. We enable companies to develop, run, and manage device software faster, better, at lower cost, and more reliably. www.windriver.com

© 2010 , Inc. The Wind River logo is a trademark of Wind River Systems, Inc., and Wind River and VxWorks are registered trademarks of Wind River Systems, Inc. Other marks used herein are the property of their respective owners. For more information, see www.windriver.com/company/terms/trademark.html. Rev. 04/2010