Embedded Run-Control for Debug and Test

Embedded run-control (aka on-chip debug, or processor debug port control) has numerous benefits in the areas of test and debug, for Design Engineering, Manufacturing Test Engineering, and Field Service. What are they?

There are two main application spaces for embedded run-control: Debug, and Test. Let’s look at these in turn.

 

Debug

ScanWorks® Embedded Diagnostics (or SED for short) is differentiated from other debuggers in that it is firmware embedded in-system, and thus provides run-control functionality independent of external hardware, cables, connectors, and workstations or PCs. The result is anywhere, anytime debugging on an unlimited number of systems. The on-chip debugger is embedded within a service processor, such as a server Baseboard Management Controller (BMC), and/or FPGA. Direct connection between the BMC and the target processors’ JTAG TAP and sideband signals allows invocation of run-control, either under user control, or in response to an autonomous event, such as a system crash or hang.  More information (including a video of yours truly!) is available here: http://www.asset-intertech.com/solutions_embedded_diagnostics.htm.

Test

Run-control is the foundational technology for ASSET’s processor-controlled test (PCT) tool. This is a board test tool; a demonstration video of the application is available here: http://www.asset-intertech.com/products_hd6.htm.

PCT, because it is based upon debug port run-control, is differentiated from other test tools in that it has no dependence upon the boot loader or OS to run. In essence, it delivers structural test coverage and diagnostics, using a functional test methodology. Thus, it is ideally suited to supplementing and replacing traditional in-circuit test and functional test technologies, reducing overall test cost. It can also debug and diagnose “dead” boards, where the main processor has hung or crashed, and legacy functional tests don’t work.

SED for test is ideally suited for production testing of boards within environmental stress screening (ESS), avoiding the need for test electronics at elevated temperatures, vibration, high humidity, etc.

So given these application spaces, the functional groups and their use case models for SED are as follows:

 

Design Engineering – Board Bring-Up

Between the time when the very first bare-board prototype is received, and a final design release candidate is available for volume manufacturing, lies many months of intense debugging and testing. The “board bring-up” phased process typically involves several prototype runs, of increasing unit quantities, wherein additional functionality is added incrementally. More information on board bring-up is on our website here: http://www.asset-intertech.com/solutions_board_bring-up.htm

SED’s test capabilities as described above can of course be used to verify that the board was structurally assembled correctly – it can detect shorts, opens and component errors. Many defects in early prototype runs are due to errors in assembly. Based upon the embedded nature of SED, this can be done without expensive external equipment.

And SED’s debugging capabilities are invaluable in early prototypes to detect the root cause of low-level hardware, firmware and software bugs. This is especially for the extremely difficult-to-debug, intermittent errors that don’t lend themselves to in-situ troubleshooting with an external or agent-based (OS-based) debugger.

Manufacturing Test – Board and System Test

As board production volumes ramp up through the prototype lifecycle and into volume manufacturing, board test strategies evolve to include inspection, structural and functional test steps. Embedded run-control can be a boon here by dropping the overall cost of test and finding defects much earlier in the flow. And, because the tests are embedded, they lend themselves to being invoked at both the single-board test station, and at the overall system test station. The latter is especially valuable at ESS where parallel test without external hardware is a requirement.

Benefits accrue to both the OEM and its contract manufacturers by having a set of self-test tools that can be evoked on a quick pass/fail basis on the manufacturing line, and with more rigorous diagnostics at the CM’s failure analysis, and debug and repair station.

Field Service – System Diagnostics

Field Service organizations consist of Failure Analysis, Commissioning, Emergency Technical Response, and other functions. All of these groups have one thing in common – the need for greater diagnostic capabilities to identify the root cause of system failures. Especially given the complexity of today’s high-availability platforms, the need for quickly gathering diagnostic data from the field and getting it to the experts is the responsibility of a company’s top technical talent. Embedded run-control provides a diagnostic engine for these groups.

These groups see tremendous value in being able to trace exactly what was happening in the main processor at the time of a failure. Examples include running a functional high-speed SerDes test to determine lane speed and lane width, just prior to final Installation and Commissioning; of having the tools to help explain why a system wasn’t booting; of being able to gather useful data after a system outage event, as opposed to saying “I don’t know” when asked by a customer about what caused it. Run-control executes independently of the operating system or boot loader, so it is ideal for crash dumps and out-of-band testing. Run-control is certainly one of the most powerful diagnostic tools available, and when embedded, becomes even more compelling.

Alan Sguigna