Automatic Random Sequence Coverage for ASIC Regression Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for generating random sequences in regression testing face challenges such as exponential verification complexity, high memory usage, and the need for human intervention, especially in ASIC/hardware development, where analysis at waveform levels becomes complex and inefficient, particularly when multiple devices are involved.

Innovation Solution

A method and system for automatically generating random sequences with minimal memory usage and no human intervention, utilizing a transaction database, an auto sequence generator module, and a report generator module to produce a coverage report, which identifies uncovered sequences using a computing algorithm and optimizes data structures for efficient tracking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automated random sequence generation is implemented, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improvesequence generation efficiencyVSAvoidverification tool complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The verification system is divided into separate modules: a coverage tracker module that monitors sequence coverage, an auto sequence generator module that creates test sequences, and a report generator module that produces coverage reports. This segmentation allows each module to perform its function independently, improving productivity while managing complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A coverage tracker configuration file serves as an intermediary data structure that stores coverage goals and transaction definitions. This intermediary allows the auto sequence generator to operate automatically without complex real-time interactions between modules, simplifying the overall system while maintaining high productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If detailed sequence tracking is enabled, then measurement precision is improved, but memory usage increases

Engineering Contradiction:
Improvecoverage tracking accuracyVSAvoidmemory consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The coverage tracker uses dynamic data structures that adapt to the simulation progress. The system tracks coverage goals and transaction definitions in a configuration file, updating coverage status dynamically without requiring excessive memory allocation. This allows precise measurement of sequence coverage while managing memory usage through efficient data structure updates.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If coverage analysis is performed at waveform level, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improvecoverage analysis accuracyVSAvoidanalysis system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

Instead of analyzing coverage at the traditional waveform level, the system transitions to a higher dimension of abstraction by tracking coverage at the transaction and sequence levels. The coverage tracker monitors protocol-level transactions and sequence execution, providing accurate coverage measurement without the complexity of waveform-level analysis. This dimensional shift simplifies the analysis system while maintaining precision through protocol-aware tracking.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS8751870B2Method and system for providing a random sequence coverage
Publication Date: 2014.06.10 WHIZCHIP DESIGN TECH PVT
  • US8751870B2 patent drawing
  • US8751870B2 patent drawing
  • US8751870B2 patent drawing

AI summary

The various embodiments of the present invention provide a method and system for providing random sequence coverage. The method comprising receiving a plurality of data packet packets carrying transaction data from a transaction database, specifying transactions in a configuration file along with the transaction data, identifying one or more fields in the packets received from the transaction database, generating an automatic random sequence based on the identification of at least one of a field among the one or more fields in the data packets, generating a coverage report for the random sequence generated automatically and determining uncovered sequences based on the coverage report generated. The system comprises a transaction database for storing transaction data during simulation, a transaction viewer for providing transactions data packets, an auto sequence generator module for generating an automatic random sequence and a report generator module for generating a coverage report for the random sequence generated.