A breakpoint may be set which allows a large portion of firmware to run at full-speed until the offending routine is reached. Single-step operation allows the code to be stopped after each instruction is executed. The state of the microcontroller can be examined after each instruction to isolate the exact instructions that are causing improper operation. As the internal registers and memory typically cannot be seen outside the microcontroller, often the only way to really view what the microcontroller is doing is to dump the contents of the internal elements. The final design phase is verification.
Verification involves testing the design in an aftempt to uncover hidden bugs.
The test suite may include tools such as traffic generators, useful for creating semi-random operations. Traffic generators can sometimes cause combinations of operations to occur that were not foreseen in simulation. If a combination causes the design to malfunction, the developer must return to the debug phase. Once the bugs have been isolated and fixed, the fixes can be verified using the same tools that were used for debug. Cypress Semiconductor Corporation.