FROM EDN EUROPE: Develop software early, on virtual ARM hardware
By Graham Prophet, Editor -- EDN, September 1, 2006
Designers of complex microprocessor-based systems often face the problem of having to develop software before their hardware is ready: according to ARM, that problem becomes particularly acute for developers of high-specification consumer multimedia products. But conventional software-based simulations often run too slowly to be useful. The company has created Realview System Generator, a tool that allows ARM platform developers to build instruction-accurate models that software engineers can use to verify software behaviour, as the models run close to real operating speeds. The tool itself operates in a graphical, drag-and-drop style: users choose blocks from a standard library that includes not only basic ARM processor elements but also the TrustZone hardware security and Jazelle Java acceleration technologies. It is fully integrated into the Realview tool flow; users can debug their models and then use the Realview Real Time System Model facility—a graphics modelling package that mimics the proposed final form of the product—to test the full "user experience" with software running. However, the models do not run within the toolset; they are stand-alone software. They will support an operating system with applications running above, and still operate at speeds close to those of real processors in typical portable products. The model removes as much low-level detail of the hardware implementation as possible, ARM says, while maintaining instruction accuracy: only the company itself owns the IP necessary to certify the models as being fully accurate.
The speed comes from a "translation" technology—somewhat similar to a software interpreter—that dynamically translates ARM instructions into native instructions for the host processor (windows and Linux environments, on X86 architecture) block-by-block, holding each block in cache. Peripherals are only activated when they are called, so the model does not use resources constantly monitoring their status.
ARM intends that software developers (of whom only a small percentage now use simulation) and, at a higher level, "creative professionals"—that is, people creating content in graphics and multimedia authoring packages—use the models. ARM says it will encourage third-party developers within its own product eco-system to provide models to expand the system; currently, the tool supports ARM926EJ-S, ARM1136JF-S and ARM1176JZF-S cores.


















