Audio-Decode Application Is Realized on Open Virtual Platforms

Published in issue of Chip Design Magazine

With software development eating up more resources than hardware development, it’s time for a freer and more open approach.

By Duncan Graham and Dhaval Shah

Software is becoming increasingly more important in system design. In fact, software development for embedded systems now requires more resources than hardware development. Software also is becoming increasingly complex, which is leading to problems with bugs, schedules, and code maintenance and updates. This situation is amplified in the case of leading-edge integrated circuits (ICs) or systems-on-a-chip (SoCs) that utilize multiple processor cores. If the SoC is modeled in enough detail, however, the software developers can use the model as a virtual development environment or platform. This approach allows software to be comprehensively tested earlier in the development cycle. The software, which is compiled for the silicon and then run or simulated on a virtual platform, can be more rigorously tested than on the actual hardware. The virtual platform’s observability and controllability also make it easier to debug the code.

This article will illustrate how a virtual platform is constructed and a new Universal Serial Bus (USB) peripheral is created using the specific example of an audio-decode application. The virtual platform utilizes a Tensilica Diamond 570T core. The virtual-platform technology is open source from Open Virtual Platforms (www.OVPworld.org). The example development services were provided by Sibridge Technologies (www.sibridgetech.com).

Figure 1 shows the block diagram for this example. It includes the following features:

  • Virtual platform consisting of a Tensilica Diamond 570T core model, USB peripheral model, and memory model running under Windows XP
  • Demo application decoding an Ogg Vorbis-compressed audio file and playing the output using USB speakers
  • Decompression done on the Tensilica core as a pure C implementation
  • A binary-intercept library providing the link between the USB peripheral model and the Windows USB-host peripheral device driver layer

The Tensilica Diamond 570T core model is included in the...

[To read the full article please visit here.]