Formal Verification of Deadlock in Multi-System SoC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current formal verification methods for multi-system SoCs are inefficient in identifying and debugging complex interface and interconnect problems, requiring significant expertise and lacking the ability to leverage engineer expertise effectively, especially in verifying the absence of deadlock conditions.

Innovation Solution

A verification system that uses helper assertions derived from transaction definitions to analyze the RTL of multi-system SoCs, automatically extracting and optimizing assertions to prove the absence of deadlock conditions through formal analysis techniques like induction and theorem proving, aided by interactive tools to distinguish between intentional and unintentional transaction droppage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If formal verification methods are applied to multi-system SoCs, then the ability to verify deadlock conditions is improved, but the complexity of the verification process and expertise required increases significantly

Engineering Contradiction:
Improveverification accuracyVSAvoidverification complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The verification system segments the complex multi-system SoC into individual subsystems and interfaces, verifying each component separately before integrating results. This divides the overwhelming global verification problem into manageable local verification tasks, reducing the expertise burden while maintaining comprehensive coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary verification models and abstractions that mediate between the complex RTL design and the formal verification engine. These intermediaries simplify the verification process by providing standardized interfaces and reducing the direct complexity exposure to verification engineers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Difficulty of detecting and measuring

If comprehensive verification of all subsystem interfaces is performed, then the detection of interface and interconnect problems is improved, but the time and resources required increase significantly

Engineering Contradiction:
Improveproblem detection capabilityVSAvoidverification time
Core Design Contradiction:
Difficulty of detecting and measuringVSLoss of time

Solution Approach 1:

The system performs preliminary verification by analyzing and verifying individual subsystems and interfaces before full system integration. This preliminary action identifies and resolves interface problems early in the design process, preventing compounding issues that would require more time to debug later.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The verification approach applies partial verification to critical interfaces and subsystems first, focusing verification resources on high-risk areas. This selective verification strategy provides sufficient confidence for complex interfaces without requiring exhaustive verification of every possible scenario, thereby reducing overall verification time.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If reusable semiconductor IP is integrated into SoCs, then design productivity is improved, but the complexity of verifying multi-system interactions increases

Engineering Contradiction:
Improvedesign productivityVSAvoidsystem integration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The verification system creates universal verification models and methodologies that can be applied across different reusable IP blocks and system configurations. This universal approach allows the same verification framework to handle diverse IP integrations, reducing the learning curve and expertise required for each new integration scenario.

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

Solution Approach 2:

The system employs self-verification capabilities where reusable IP blocks come with their own verification models and testbenches. This self-service approach allows IP blocks to verify their own interface correctness, reducing the burden on system-level verification while maintaining high productivity from IP reuse.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8381148B1Formal verification of deadlock property
Publication Date: 2013.02.19 JASPER DESIGN AUTOMATION
  • US8381148B1 patent drawing
  • US8381148B1 patent drawing
  • US8381148B1 patent drawing

AI summary

A verification system determines proof of the absence of a deadlock condition or other data-transport property in a multi-system SoC using helper assertions derived from a transaction definition. The verification system receives the circuit design information along with a transaction definition for one or more ports of the SoC. Once specified, the transaction definition is instantiated into the full system or subsystem RTL, generating an expanded RTL and a deadlock property. Data flow through the RTL is analyzed to extract helper assertions describing how the data flowed through the RTL. Helper assertions are automatically extracted to aid in the verification of the absence of a deadlock condition. Using the helper assertions, the formal engine applies one or more techniques to formally analyze the circuit design to prove the absence of a deadlock condition.