Modern embedded systems require high performance, low cost & low power consumption. Such systems typically consist of a heterogeneous collection of processors, specialized memory subsystems, & partially programmable or fixed-function components. This book describes debugging & verification methods which can help to achieve this goal.