Transaction-Based Verification System Minimizing Bogus Fails

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current transaction-based verification methods for digital designs face challenges in accurately verifying dynamic and random changes in Design Under Test (DUT) configurations, leading to false negatives due to mismatches between the configurations seen by the test bench and the DUT during simulation, which increases the number of test cases and simulation costs.

Innovation Solution

A method and system for transaction-based verification that configures the DUT with changing configuration values, generates abstract input and output transactions by abstracting these values, and uses a scoreboard with transfer functions to adapt to configuration changes, minimizing false negatives by maintaining a history of configuration variables and using multiple transfer functions for accurate output prediction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the design is configured multiple times in a single test case to reduce the number of test cases, then the number of test cases decreases, but the configuration seen by the test bench and the design may differ during simulation, leading to bogus fails

Engineering Contradiction:
Improveverification efficiencyVSAvoidverification accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the test bench monitors configuration changes in real-time during simulation. When a configuration change is detected, the test bench updates its internal state to match the DUT's current configuration, ensuring that verification comparisons are always made against the correct expected values. This feedback loop prevents bogus fails by maintaining synchronization between the test bench's expected configuration and the DUT's actual configuration throughout the simulation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent transforms the static verification approach into a dynamic one by enabling the test bench to adapt its expected values on-the-fly based on detected configuration changes. Instead of using fixed expected values throughout a test case, the system dynamically updates the expected configuration state whenever the DUT's configuration changes, allowing accurate verification even when configurations change multiple times within a single test case.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the number of test configurations increases to cover all design configurability, then the verification coverage improves, but the number of test cases increases exponentially, increasing simulation costs

Engineering Contradiction:
Improveverification coverageVSAvoidsimulation cost
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent enables a single test case to dynamically adapt to multiple configuration states by monitoring configuration changes during simulation. This dynamic approach allows the test bench to handle configuration variations on-the-fly rather than requiring separate static test cases for each configuration, thereby reducing the total number of test cases needed while maintaining comprehensive verification coverage.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal test case structure that can handle multiple configuration scenarios within a single test execution. By implementing configuration monitoring and dynamic state updates, the test bench becomes multi-functional, capable of verifying the design across various configuration states without requiring separate specialized test cases for each configuration.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If configuration changes are made while the design is running to improve verification flexibility, then the adaptability of verification increases, but mismatches between test bench and design configurations occur, causing false negatives

Engineering Contradiction:
Improveverification flexibilityVSAvoidconfiguration matching accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent implements real-time feedback monitoring that detects configuration changes as they occur during design execution. The test bench continuously monitors for configuration changes and immediately updates its internal expected state to match the DUT's current configuration. This ensures that even when configurations change dynamically during runtime, the test bench maintains accurate expected values for comparison, preventing false negatives while preserving verification flexibility.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary configuration monitoring and detection before verification comparisons are made. By detecting configuration changes early and updating the expected state in advance of the next comparison operation, the system ensures that the test bench is always synchronized with the DUT's current configuration state, maintaining measurement precision despite dynamic configuration changes.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9239899B2System and method for improved transaction based verification of design under test (DUT) to minimize bogus fails
Publication Date: 2016.01.19 WIPRO LTD
  • US9239899B2 patent drawing
  • US9239899B2 patent drawing
  • US9239899B2 patent drawing

AI summary

A method and system for transaction-based verification of a design under test (DUT) by a test bench that configures the DUT with at least one configuration including one or more configuration values. At least one input to the DUT is applied to generate at least one output based on a configuration value. A list of changed one or more configuration values is associated with at least one abstract input transaction to generate at least one input transaction. A list of changed one or more configuration values is associated with one or more abstract output transactions to generate at least one output transaction. One or more expected transactions is generated based on the at least one input transaction using one or more transfer functions. An outcome is generated as pass/fail based on comparing the at least one output transaction with each of the one or more expected transactions.