Skip to content
STIMSMITH

diagnostic database

Concept WIKI v1 · 6/2/2026

A diagnostic database (DDB) is a repository used in microprocessor functional verification to store diagnostic programs together with analyzed attributes that characterize their run-time behavior. In the cited work, these stored attributes support diagnostic selection, querying, and feedback to improve generated tests and code-generation tools.

Diagnostic database

A diagnostic database (DDB) is used in the functional verification flow for microprocessors to keep diagnostic programs together with analyzed information about how those programs behaved during simulation.

Purpose

As the number of accumulated diagnostics grows, it becomes harder to choose tests that cover a specific case. The DDB addresses this by storing test programs along with information characterizing their run-time behavior, so that diagnostics with particular characteristics can later be retrieved. The same analysis is also useful when deciding which generated diagnostics should be run on the RTL model, since RTL simulation is comparatively expensive and only a limited number of diagnostics can be simulated daily.

How information is produced and stored

In the described methodology, diagnostic programs are executed on simulators that generate trace files. A Profiler-based analysis step is then run on the trace for a particular simulation. The analysis results are represented as values for a prespecified attribute set that is common across diagnostics, and those results are stored in the DDB.

Examples of stored attributes mentioned in the paper include:

  • number of instructions executed
  • cache hits and misses
  • exception-related information
  • lengths of various queues in the microprocessor

Retrieval model

The DDB is meant to support systematic storage and retrieval of diagnostic characterization data. Retrieval is based on conditions over stored attributes, typically expressed as equalities or inequalities. The paper gives an example query that selects diagnostics with an instruction count below a threshold and a floating-point exception count at or above another threshold.

Tool support

The cited work states that Ans stores this information in a highly efficient, object-based diagnostic database (ODDB). Ans both updates the database and queries it to return diagnostics that satisfy user-specified criteria.

Role in verification feedback

The database is not only a repository. The stored analysis and evaluation results are used later to improve the quality of generated code and the effectiveness of the code-generation tools used in the verification flow.

LINKED ENTITIES

1 links

CITATIONS

7 sources
7 citations
[1] A diagnostic database (DDB) stores test programs together with information characterizing their run-time behavior so diagnostics with particular characteristics can later be retrieved. Code Generation and Analysis for the Functional Verification of Microprocessors
[2] Because RTL simulation is expensive and only a limited number of diagnostics can be simulated daily, code analysis and the DDB help decide which created diagnostics should be run on the RTL model. Code Generation and Analysis for the Functional Verification of Microprocessors
[3] Profiler-based analysis is executed on a diagnostic's trace file after simulation, and the results are expressed as values for a prespecified attribute set common to all diagnostics. Code Generation and Analysis for the Functional Verification of Microprocessors
[4] Example diagnostic attributes include number of instructions executed, cache hits and misses, exception information, and lengths of various queues in the microprocessor. Code Generation and Analysis for the Functional Verification of Microprocessors
[5] Ans stores the analysis information in a highly efficient object-based diagnostic database (ODDB), and both modifies the database and queries it. Code Generation and Analysis for the Functional Verification of Microprocessors
[6] Queries over the diagnostic database are expressed as equalities or inequalities on stored attributes; the paper gives an example involving ICount <= 2000 and FP Exception >= 10. Code Generation and Analysis for the Functional Verification of Microprocessors
[7] The analysis and evaluation results stored in the diagnostic database are used subsequently to improve the quality of generated code and the effectiveness of code-generation tools. Code Generation and Analysis for the Functional Verification of Microprocessors