Reprints     Printer-Friendly    Email this Article    RSS        Font Size     What's This?

[POV: Point Of View]

Full-System Simulation: Escape From Reality



Peter S. Magnusson  |   ED Online ID #8698  |   September 20, 2004

Article Rating: Not Rated

A major transformation in complex system-level design is under way, as ever-increasing numbers of electronic systems are being implemented as software. The critical progression for the delivery of a typical working system has moved away from finalizing the hardware (or chip) design to finishing the software development and then completing the system integration.

As the task of developing software increases in complexity and length, the system team faces two major challenges: Software development must begin earlier and can no longer wait for hardware development to be completed, and the cost of the traditional hardware-based approach to testing software is becoming both prohibitively expensive and unwieldy. Using full-system simulation to virtualize the product development process solves these problems.

To implement a virtual approach, a software model of the system, known as "a virtual platform," is built and run on an underlying simulation environment. The virtual platform must have both fidelity and performance. Fidelity means the software "cannot tell the difference," so unmodified binaries of the code run on the virtual platform. Performance must be high enough that software developers enthusiastically prefer to use the virtual platform to increase their productivity and loop quickly through the edit-compile-debug cycle (unlike co-verification environments).

To be effective, the virtual platform must simulate the system being designed and enough of the surrounding environment to model real-world use--in effect, a virtual test rack. For example, if a set-top box is being designed, it is not enough to model just the set-top box. You may have to model several set-top boxes, a central server delivering video-on-demand, and perhaps a PC to administer the system and a server to handle billing.

Past attempts at virtualization failed because performance fell short. Today, technical improvements in simulation techniques and the availability of inexpensive high-performance PCs make virtualization the approach of choice over hardware-based methods. For example, developers can simulate a 24-processor, 8-Gbyte, 64-bit enterprise server on a plain vanilla laptop. Virtualization is also increasingly scalable. It's now possible to simulate thousands of systems on a network of inexpensive workstations.

Virtualization has two major advantages. First, a virtual approach to system development is more cost-effective than real hardware, immediately reducing the amount of capital necessary to dedicate to software development and testing. This is especially true for organizations with vast product development teams, because the usual economics of software come into play. While the first instance may be expensive, duplicating software is inexpensive. Every engineer who needs access to the virtual platform can have it, unlike real hardware, which is always scarce.

Second, the virtual approach is simply more attractive than real hardware. In the real world, it is difficult to stop hard drives from spinning, or set a breakpoint on a control register access in the kernel, or confidently trace exactly which code affects a specific sensitive data structure. Good simulators can do all those things, and more--like stopping at an arbitrary point in the workload, saving the entire state to a set of files, and then firing off multiple clones with different fault scenarios injected.

Many problems in today's systems occur during interactions between different products or multiple instances of the same product. These areas are most difficult to test with real hardware, which is notorious for "heisenbugs" (problems that disappear when you try to take a closer look at them). By being fully deterministic, the virtual approach greatly simplifies the tracking of these bugs. You can go back in time until just before the bug occurs and investigate the internals at any level of detail necessary.

As inexpensive workstations become ever faster, and as simulation techniques continue to improve, the compelling advantages of a virtual approach to advanced system development and testing will only increase.




Reprints     Printer-Friendly    Email this Article    RSS        Font Size     What's This?


  • Network-On-Chip Tools Arrive for The Masses
  • Tackling System Design Challenges Through Early Verification
  • ESL Tools Take Center Stage As Designers Move Up
  • Parasitic Extraction Tool Targets Next-Generation Custom ICs
  • Synopsys Jumps Into ESL-Synthesis Pool
  • Verify Control Systems Before Committing To Hardware
  • You're Using How Many FPGAs?
  • Tool Up For The FPGA Blitz
    1) Build A Smart Battery Charger Using A Single-Transistor Circuit
    (183 views today)
    2) Hot Hands For Some Cool Rock: Motion Sensing Meets Audio Engineering
    (170 views today)
    3) What's All This Transimpedance Amplifier Stuff, Anyhow? (Part 1)
    (92 views today)
    4) GPS-Derived Grandmaster Clock Delivers Ultra-Precise Time And Frequency Sync
    (85 views today)
    5) Downconverting Mixers Lower Power Consumption While Improving Performance
    (67 views today)
    ALL TOP 20







    POST YOUR COMMENTS HERE

    Name:

    Email:
    Rate this article:

     less useful more useful 
    1
    2
    3
    4
    5
    Your Comments:

    Enter the text from the image below




    Please refresh the page if you have trouble reading this text.
    (Acceptable Use Policy)
     
     

    PartFinder

    Find real-time pricing, stock status, same-day/next-day shipping options and more. Brought to you by Digi-Key. Go to PartFinder.    
    GlobalSpec

    PART SEARCH :
    Powered by: GlobalSpec - The Engineering Search Engine
    Sponsored Links

    Electronic Design Europe Electronic Design China EEPN Power Electronics Auto Electronics Microwaves & RF
    Mobile Dev & Design Schematics Find Power Products Military Electronics EE Events Related Resources