Technology Backgrounder: Behavior-Based Debug
Introduction
Behavior-based debug is a new approach to automating the discovery of the causes of design behavior. This new approach builds on top of the field-proven Design Knowledge Architecture and structure-based debug tools embodied in Novas' popular Debussy® Debug System. This next generation of debug is available in Novas' Verdi™ Behavior- Based Debug System.
Behavior-based debug applies synthesis and formal technologies in novel new ways to exhaustively analyze an RTL or gate-level design along with the results from a simulation run to build a formal logic model of the design's behavior over time. This model is the basis for a set of automated debug applications that greatly reduce the effort required to understand complex and unfamiliar designs and to track down the causes of questionable design behavior.
Behavior-based debug includes assertion-driven debug capabilities that provide a powerful new way to speed location and isolation of relevant logic by using assertions to ask questions about the behavior of the design. In this behavior query approach, users express what they're looking for in assertions and let the behavior-based debug system do the hard work of tracing back to the cause of the behavior.
From Structure to Behavior
Debug has traditionally been structure-based. Engineers try to figure out how a design works or why it does not by tracing the connectivity of the design back gate-by-gate or HDL statement by HDL statement. Before Novas introduced Debussy, they did this by searching text files using tools such as "grep" and vi. The Novas Design Knowledge Architecture and the Debussy system organized the structural information and made it much easier to view, trace, and understand.
But even with powerful structure-based debug tools such as the Debussy system, engineers must still manually infer the behavior of a design from its structure and the results of simulation. The nature of today's designs and even the organization of labor in design teams make debug increasingly difficult and costly, divert engineers from valueadding jobs, such as creating new designs and writing more tests, and put chip schedules at risk.
System-on-chip designs are enormous and incredibly complex. They are created and verified by large globally dispersed teams. Design reuse is a growing reality. These factors can make most of the design unfamiliar to the engineers working on it, and thus extremely hard to understand. Tasks that are made more difficult and time consuming include:
Tracing logic errors after timing driven layout
Understanding the logic produced by synthesis tools
Debugging errors that occur only after a long sequence of events
Tracing behavior through memory
Understanding the behavior of signals with multiple drivers
Resolving clock-domain crossing issues
Understanding the causes of different simulation results between two
simulators or different versions of simulators
Determining the cause of different simulation results after minor logic
changes
Novas pioneered tools dedicated to design understanding. The structure-based Debussy system compiles the HDL description, stores it in a specialized database, and provides APIs through which verification tools, such as simulators, dump into a compact results database. More recently, Novas has advanced debug technology with the Verdi Behavior- Based debug system. This system builds on top of all the familiar structure-based capability of Debussy, adding powerful new automated applications that quickly identify the causes of questionable design behavior. <click here to download complete paper>
