Semi-Automatic Formal Verification Model Transformer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Formal verification of semiconductor designs with large C/C++ models is challenging due to the lack of a specification model that can be consumed by datapath formal verification tools, limiting the scope of methodologies like datapath C2RTL formal verification.

Innovation Solution

An automatic transformer with a human enabler tool is developed to semi-automatically generate a small essential model from a large source code repository, facilitating the creation of formal verification models for semiconductor designs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a large C/C++ source code repository is used for formal verification, then the verification scope is improved, but the model consumability by formal verification tools deteriorates

Engineering Contradiction:
Improveverification scopeVSAvoidmodel complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the large C/C++ source code repository into multiple smaller, manageable models. The system identifies and extracts specific functional components from the codebase, creating separate formal models for each component. This allows formal verification tools to process individual smaller models efficiently while maintaining comprehensive verification coverage across the entire system through hierarchical composition of these segmented models.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If a large C/C++ source code repository is used for formal verification, then the verification scope is improved, but the ease of operation deteriorates

Engineering Contradiction:
Improveverification scopeVSAvoidmodel creation ease
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent implements self-service by enabling the system to automatically generate formal verification models from C/C++ source code without requiring manual model creation. The system includes automated code parsing, model extraction, and formal model generation capabilities that perform the tedious work of model creation autonomously. This self-service approach significantly reduces the operational burden on verification engineers while expanding the verification scope to cover larger codebases.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If a large C/C++ source code repository is used for formal verification, then the verification scope is improved, but the time consumption increases

Engineering Contradiction:
Improveverification scopeVSAvoidmodel creation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-processing and preparing the C/C++ source code repository before formal verification execution. The system performs upfront code analysis, identifies verification-relevant components, and generates formal models in advance. This preliminary preparation work organizes the codebase into verification-ready formats, reducing the time required during actual verification execution and enabling faster iteration cycles despite the large scope of code being verified.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240126967A1Semi-automatic tool to create formal verification models
Publication Date: 2024.04.18 INTEL CORP
  • US20240126967A1 patent drawing
  • US20240126967A1 patent drawing
  • US20240126967A1 patent drawing

AI summary

Described herein are techniques to automatically create a software model which covers the core functionality of a semiconductor design to be formally verified and can be easily consumed by a formal verification tool for software or semiconductor designs. These techniques enable verification engineers to expand the scope of formal verification to fix both software and RTL bugs, saving significant design time and reducing the time to market of for new products.