M02 Software Debug on ARM Processors in Emulation

Printer-friendly versionPDF version
Location / Room: 
Konferenz 2


Russ Klein, Mentor,


Emulation systems can execute designs fast enough to run significant amounts of software. For example, one can execute the software boot process, run diagnostics, boot an OS, load and exercise drivers. This allows earlier access to the design for the software team. It also allows software to be used to drive activity; exercising realistic use cases as part of the hardware verification. This software will need to be debugged. The emulated design will likely contain all the debug facilities, such as JTAG and ETM, as the final device. These can be used in emulation just as they would on the final silicon. Emulators will allow access to signals around the core, not accessible in the final device, which can used to debug and trace the processor. This gives the developer a number of options for debugging. This session explores the different debug approaches available, trade-offs involved in each approach, and how and when they can be most effectively applied during the design cycle. Russ Klein is a Technical Director in Mentor's emulation division. He has been developing verification and debug solutions which span the boundaries between hardware and software for over 20 year



09:30M02.1Session 1
00:00M02.1.1Options for software debug and trace in the context of design running in emulation

00:00M02.1.2Understanding the trade-offs in terms of performance, functionality, and intrusiveness of different debug approaches

11:30M02.2Session 2
00:00M02.2.1Concurrent debug of multiple cores in emulation

00:00M02.2.2Correlation of hardware and software debug views

00:00M02.2.3Efficient utilization of emulation resources during software debug