Embedded Systems Design - June 2008 - (Page 28) cover feature acts with the compiled components in The actual platform execution sent speed or accuracy for each comspeed in this hybrid approach typically the system, they generate waveforms ponent depending upon the needs of varies depending upon the accuracy of that represent the true hardware bethe individual programmer. the overall platform but can reach well havior of the system. These waveforms A driver developer may require a can then be passed into hardware-accurate modpower-estimation tools to el for certain compoThe virtual environment enables architects generate a power profile nents and only require of the system while exeabstract representations to play out various scenarios and cuting software. for the others. A virtual configurations to easily profile execution Power estimates genplatform with both hardand identify problem areas. erated while running ware-accurate and absoftware are more accustract models for various rate since the system recomponents allows for source usage matches what will occur into the MIPS range. More important the straightforward tradeoff of speed in real silicon. This same technique versus accuracy as the software develthan the execution speed, however, is can be used on chips that have already opment needs evolve. the debug throughput that can be been manufactured to profile power achieved. The versatility, visibility, and usage while running software. This enwider deployability of a virtual protoSystem software executing ables software-driven power optimizatype enable software bugs to be found with generated models tions without the need to modify the and fixed substantially faster than is enables creation of accurate hardware. possible with a physical prototype. The value of virtual prototypes is power analysis data. MANY THINGS, MANY PEOPLE not confined to early software develThe flexibility and adaptability of softopment. There are multiple places where they can add value to the system ware-based virtual prototypes allow System them to be many things to many peodesign lifecycle. An accurate virtual software ple. The system architect can have a platform running real system software cycle-accurate platform to make early is an invaluable tool for the system ardesign decisions. The driver developer chitects who were some of the has a platform containing accuracy methodology’s earliest adopters. where it is needed for driver developThe virtual environment enables architects to play out various scenarios ment but speed where it is needed for and configurations to easily profile ex- debugability. Finally, the high-level software engineer has a functional ecution and identify problem areas. platform for developing and debugArmed with this data, they can configing application software. dently make important architectural We’ve examined a number of diftradeoffs in areas such as bus-widths, ferent approaches to virtual prototypmemory latency, arbitration schemes, ing in this article. A follow up article and a host of other configurable areas. available on line at Embedded.com will present a real-world application of POWER ESTIMATION virtual-prototype creation and use for Power usage is increasingly in the forefront when design decisions are made in software development. ■ modern systems, and virtual prototypes are playing an important part here as Bill Neifert is a cofounder of Carbon well. Virtual models automatically genDesign Systems. He has 13 years of exerated from a hardware description can perience in electronics engineering with EDA power analysis tool over 10 years in EDA. He has designed generate waveforms. These waveforms high-performance verification and sysare then utilized by power estimation tem integration processes for many tools to accurately profile the power companies and an architecture and consumption of system components Power analysis data coding style for high-performance RTL while running software. simulation in C/C++. Bill has a BS and This flow is demonstrated in FigMS in computer engineering from Figure 3 Boston University. He may be reached ure 3. A virtual prototype is executing system software. As this software inter- at bill@carbondesignsystems.com. 28 JUNE 2008 | embedded systems design | www.embedded.com http://Embedded.com http://www.embedded.com
Table of Contents Feed for the Digital Edition of Embedded Systems Design - June 2008 Embedded Systems Design - June 2008 Contents #Include Party Bit Programmer's Toolbox Cover Feature: Virtual Hardware Platforms for Embedded Software Validation Allocating Memory in MATLAB-to-C Code MDD and IDEs: Making the Twain Meet in Embedded Systems Design Avoid a Thrashing Guest Editor Advertising Index Break Points Marketplace Embedded Systems Design - June 2008 Embedded Systems Design - June 2008 - Embedded Systems Design - June 2008 (Page Cover1) Embedded Systems Design - June 2008 - Embedded Systems Design - June 2008 (Page Cover2) Embedded Systems Design - June 2008 - Embedded Systems Design - June 2008 (Page 1) Embedded Systems Design - June 2008 - Embedded Systems Design - June 2008 (Page 2) Embedded Systems Design - June 2008 - Contents (Page 3) Embedded Systems Design - June 2008 - Contents (Page 4) Embedded Systems Design - June 2008 - Contents (Page 5) Embedded Systems Design - June 2008 - Contents (Page 6) Embedded Systems Design - June 2008 - #Include (Page 7) Embedded Systems Design - June 2008 - #Include (Page 8) Embedded Systems Design - June 2008 - #Include (Page 9) Embedded Systems Design - June 2008 - Party Bit (Page 10) Embedded Systems Design - June 2008 - Party Bit (Page 11) Embedded Systems Design - June 2008 - Party Bit (Page 12) Embedded Systems Design - June 2008 - Party Bit (Page 13) Embedded Systems Design - June 2008 - Programmer's Toolbox (Page 14) Embedded Systems Design - June 2008 - Programmer's Toolbox (Page 15) Embedded Systems Design - June 2008 - Programmer's Toolbox (Page 16) Embedded Systems Design - June 2008 - Programmer's Toolbox (Page 17) Embedded Systems Design - June 2008 - Programmer's Toolbox (Page 18) Embedded Systems Design - June 2008 - Programmer's Toolbox (Page 19) Embedded Systems Design - June 2008 - Programmer's Toolbox (Page 20) Embedded Systems Design - June 2008 - Programmer's Toolbox (Page 21) Embedded Systems Design - June 2008 - Cover Feature: Virtual Hardware Platforms for Embedded Software Validation (Page 22) Embedded Systems Design - June 2008 - Cover Feature: Virtual Hardware Platforms for Embedded Software Validation (Page 23) Embedded Systems Design - June 2008 - Cover Feature: Virtual Hardware Platforms for Embedded Software Validation (Page 24) Embedded Systems Design - June 2008 - Cover Feature: Virtual Hardware Platforms for Embedded Software Validation (Page 25) Embedded Systems Design - June 2008 - Cover Feature: Virtual Hardware Platforms for Embedded Software Validation (Page 26) Embedded Systems Design - June 2008 - Cover Feature: Virtual Hardware Platforms for Embedded Software Validation (Page 27) Embedded Systems Design - June 2008 - Cover Feature: Virtual Hardware Platforms for Embedded Software Validation (Page 28) Embedded Systems Design - June 2008 - Cover Feature: Virtual Hardware Platforms for Embedded Software Validation (Page 29) Embedded Systems Design - June 2008 - Allocating Memory in MATLAB-to-C Code (Page 30) Embedded Systems Design - June 2008 - Allocating Memory in MATLAB-to-C Code (Page 31) Embedded Systems Design - June 2008 - Allocating Memory in MATLAB-to-C Code (Page 32) Embedded Systems Design - June 2008 - Allocating Memory in MATLAB-to-C Code (Page 33) Embedded Systems Design - June 2008 - Allocating Memory in MATLAB-to-C Code (Page 34) Embedded Systems Design - June 2008 - Allocating Memory in MATLAB-to-C Code (Page 35) Embedded Systems Design - June 2008 - Allocating Memory in MATLAB-to-C Code (Page 36) Embedded Systems Design - June 2008 - MDD and IDEs: Making the Twain Meet in Embedded Systems Design (Page 37) Embedded Systems Design - June 2008 - MDD and IDEs: Making the Twain Meet in Embedded Systems Design (Page 38) Embedded Systems Design - June 2008 - MDD and IDEs: Making the Twain Meet in Embedded Systems Design (Page 39) Embedded Systems Design - June 2008 - MDD and IDEs: Making the Twain Meet in Embedded Systems Design (Page 40) Embedded Systems Design - June 2008 - MDD and IDEs: Making the Twain Meet in Embedded Systems Design (Page 41) Embedded Systems Design - June 2008 - MDD and IDEs: Making the Twain Meet in Embedded Systems Design (Page 42) Embedded Systems Design - June 2008 - MDD and IDEs: Making the Twain Meet in Embedded Systems Design (Page 43) Embedded Systems Design - June 2008 - MDD and IDEs: Making the Twain Meet in Embedded Systems Design (Page 44) Embedded Systems Design - June 2008 - Avoid a Thrashing (Page 45) Embedded Systems Design - June 2008 - Avoid a Thrashing (Page 46) Embedded Systems Design - June 2008 - Avoid a Thrashing (Page 47) Embedded Systems Design - June 2008 - Guest Editor (Page 48) Embedded Systems Design - June 2008 - Guest Editor (Page 49) Embedded Systems Design - June 2008 - Guest Editor (Page 50) Embedded Systems Design - June 2008 - Guest Editor (Page 51) Embedded Systems Design - June 2008 - Advertising Index (Page 52) Embedded Systems Design - June 2008 - Break Points (Page 53) Embedded Systems Design - June 2008 - Break Points (Page 54) Embedded Systems Design - June 2008 - Marketplace (Page 55) Embedded Systems Design - June 2008 - Marketplace (Page 56) Embedded Systems Design - June 2008 - Marketplace (Page Cover3) Embedded Systems Design - June 2008 - Marketplace (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.