Sequential Implication for Nonoverlapping Transaction Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing assertion languages, such as System Verilog Assertions (SVA), lack a dedicated construct to describe nonoverlapping transactions, leading to incorrect error detection or the need for error-prone manual checkers when verifying circuit designs.

Innovation Solution

The use of sequential implications converted to deterministic finite automata on finite words, which automatically enforce nonoverlapping transactions by modifying state transitions and adding gating conditions, allowing for efficient verification in software simulations and hardware emulations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing assertion languages (e.g., SVA) are used to verify circuit designs, then verification capability is provided, but incorrect error detection occurs or error-prone manual checkers are required for nonoverlapping transactions

Engineering Contradiction:
Improveerror detection accuracyVSAvoidverification construct complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The verification task is segmented into two distinct implication types: suffix implication for general sequence properties and sequential implication for nonoverlapping transaction properties. This segmentation allows each type to be handled by specialized constructs, improving reliability without requiring complex manual checkers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A new sequential implication construct acts as an intermediary between the verification goal and the assertion language. This construct automatically enforces nonoverlapping transaction constraints through its syntax and semantics, eliminating the need for error-prone manual checkers while maintaining ease of use.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If manual checkers are used to enforce nonoverlapping transactions, then verification coverage is improved, but error-prone manual construction and increased complexity occur

Engineering Contradiction:
Improveverification coverageVSAvoidchecker construction ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The sequential implication construct is self-service in that it automatically enforces nonoverlapping transaction constraints through its own syntax and evaluation rules. The construct monitors transaction overlap status and prevents incorrect error detection without requiring external manual checkers, thereby improving ease of operation while maintaining verification coverage.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If suffix implications are used to describe transactions, then sequence properties can be verified, but incorrect error detection occurs for nonoverlapping transactions

Engineering Contradiction:
Improvesequence property verificationVSAvoiderror detection accuracy
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The implication operators are segmented into two distinct types: suffix implication (|->) for general sequence properties and sequential implication (|=>) for nonoverlapping transactions. Each operator has specialized semantics that ensure correct behavior for its intended use case, eliminating the incorrect error detection that occurs when suffix implication is misapplied to nonoverlapping transactions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The sequential implication construct changes the evaluation parameters by introducing a state machine that tracks transaction overlap status. This parameter change enables the construct to distinguish between acceptable and unacceptable transaction sequences, thereby improving error detection accuracy for nonoverlapping transactions while maintaining versatility.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20240273271A1Verifying nonoverlapping transactions described by assertions for sequential implications
Publication Date: 2024.08.15 SYNOPSYS INC
  • US20240273271A1 patent drawing
  • US20240273271A1 patent drawing
  • US20240273271A1 patent drawing

AI summary

An assertion for a sequential implication for a circuit design is received. The sequential implication defines a nonoverlapping transaction in which new transactions are not allowed while an existing transaction is still pending. The assertion is converted to a deterministic finite automaton on finite words in a machine-readable form, which is made available to verify the operation of the circuit design.