Simulation and emulation are great for finding and fixing hardware bugs. Software debuggers are great for finding and fixing general purpose software bugs. But traditional debugging tools often fall short in finding and fixing system-level bugs in complex SOC designs. In a series of short case studies, this paper explores how the use of embedded debug instrumentation in modern FPGA prototype debuggers can meet the emerging need for system-level debug.
The key challenges in system-level debug and debug productivity fall broadly into three categories:
- Trace breadth
- Trace depth
- Turn-around time to debug the appropriate set of signals relevant to the problem