Electronic Design

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


[Embedded in Electronic Design]
Virtual Platform Exposure Makes Debugging Easier

William Wong  |   ED Online ID #13268  |   September 1, 2006


With virtual platform simulation, developers can implement applications without resorting to hardware (see the figure). Development then can proceed prior to the availability of hardware. Additionally, it reduces the need for additional hardware platforms for programmers.

Such a development approach is typical for electronic-system-level (ESL) simulation vendors such as CoWare, VaST, Virtio, and Virtutech as well as other EDA vendors. But the degree of simulation can be critical to its effectiveness and efficiency.

EDA simulations at the register transfer level (RTL) can provide detailed electrical and timing analysis in addition to a simulated software runtime environment, but often at a significant cost in hardware, software, or execution speed. The level of detail typically means the simulation operates slower than the actual hardware.

On the other hand, software development doesn't usually need this level of accuracy. The simulation must be semantically accurate instead. Yet frequently, timing needs to be optimized to run the simulation as quickly as possible. This approach normally uses instruction set simulation (ISS).

Execution is so much faster than electrical level simulations, a simulated environment may run faster than the real hardware. Likewise, implementation optimizations such as the identification of idle loops can permit efficient, real-time simulation of multiple targets on the same host system. In fact, some vendors provide simulation support for entire networks.

Simply being able to run applications without hardware is a significant advantage, especially when system reconfiguration is necessary. Dragging some icons around and wiring them up with a mouse is significantly faster than plugging in power supplies and cables.

Even more important is the ability to debug applications on the simulated environment. One way is to use a native debugger running within the environment. Another is to link an external debugger to a debugging stub within the environment the same way it would be linked to a remote hardware platform using something like an Ethernet connection. Simulation allows for a third approach that often uses remote debugging.

In this instance, the simulator provides the debug stub. So from the application and operating-system perspective, the simulated environment doesn't have to be changed. That's a big advantage. Also, the simulator's debug support often exceeds the capabilities of the target hardware and what a native debugger has access to. For example, access to cache, pipeline, and other hardware states be may possible.

Likewise, access to a system's internal state is significantly more efficient than it is with external hardware. For instance, accessing a hardware platform's memory through JTAG is a relatively slow process, which is only a memory access away with a simulator. This can be one or two orders of magnitude faster than it is with hardware, making it feasible to perform analysis and display data in real time.

Breakpoints and tracing can be enhanced, and check-pointing a system is simply a matter of saving a file. In fact, saving the system state to a file and restoring it later provides key benefits in remote and cooperative debugging since anyone can use the simulator to continue the system's execution.

Tracing relates to saving lots of state information as well. Most environments support forward and reverse execution. With reverse execution, bugs can be detected. The program then can be stepped backward to see why the problem occurred. The more information that can be retained, the easier it is to figure out the problem.

The ability to move forward and backward in simulation time combined with check-pointing lets vendors support multiple execution trees. Execution can be restarted at a checkpoint, but the I/O changes with the different input from a simulated keyboard. Most products can collect multiple trees into a single file that can be exchanged with other developers looking into a problem.

The ability to restart a system from a saved state can save a lot of time. That's because it's now possible to save a known state—for example, after all applications are initialized—and enable designers to use the system from that point on.

Most of these products start out at about $100,000 per project for maybe a dozen developers. Still, they can cut costs by an order of magnitude or more.

CoWare
www.coware.com
Virtio
www.virtio.com
VaST
www.vastsystems.com
Virtutech
www.virtutech.com


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


  • A New Design Inflection Point
  • Forecasting Industry Growth For 2009 And Beyond
  • EDA Retools To Exploit Multicore Architectures
  • Design And Verification Move Up In Abstraction
  • EDA Retools To Exploit Multicore Architectures
  • A New Design Inflection Point
  • Design And Verification Move Up In Abstraction
  • Challenges Lurk For 22-nm Physical Implementation
    1) Transportation Guidelines For Lithium Batteries Get Updated
    (1287 views today)
    2) Build A Smart Battery Charger Using A Single-Transistor Circuit
    (260 views today)
    3) 1-A Switching Regulators Operate With 96% Efficiency To Replace Linear Regulators
    (192 views today)
    4) WHITE PAPER: Liquid-Level Monitoring Using a Pressure Sensor
    (182 views today)
    5) 2008 BEST Electronic Design Winners
    (111 views today)
    ALL TOP 20



    POST YOUR COMMENTS HERE
    Name:

    Email:
    Your Comments:

    Enter the text from the image below


    Please refresh the page if you have trouble reading this text.

    Search Electronic Design
         
      
     
    Web Seminar
    Sponsored By:
    Title: Read Pacing: A Performance Enhancing Feature of PCI Express Gen 2 Switch Devices
    Speakers: 
    Date: 07/01/08
    Register: 

    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