Natural-Language Design Verification for Hardware and Software Code
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Comprehensive design verification and security of IP cores and software libraries is challenging due to the difficulty in examining and verifying implementations, which is a time-consuming and costly manual process prone to errors, and existing methods like proof-carrying hardware and proof-based logic checking require complex logical descriptions that are not easily understood.
Innovation Solution
A computer system processes natural language descriptions to generate verification statements, extracts semantic expressions, and evaluates them against design implementations to determine satisfaction, thereby establishing trust without significant cost or delay, using techniques like layout reconstruction, table/figure detection, and semantic reasoning to automate the verification process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual verification methods are used to examine and verify IP core implementations, then verification accuracy can be maintained, but the process becomes time-consuming and costly
Solution Approach 1:
The patent introduces an intermediary system comprising a processor and memory that automatically processes verification data, natural language descriptions, and design implementations. This intermediary automated verification system mediates between the verification requirements and the implementation, eliminating the need for manual verification while maintaining accuracy through systematic automated analysis.
Solution Approach 2:
The patent replaces the mechanical manual verification process with an automated electronic verification system. The processor executes verification algorithms that automatically compare design implementations against natural language descriptions, substituting human manual examination with computational automation to reduce time while maintaining verification rigor.
2Reliability
If proof-carrying hardware and proof-based logic checking are used to verify designs, then verification reliability improves, but the complexity of logical descriptions increases significantly
Solution Approach 1:
The patent uses natural language descriptions as simplified copies or representations of the complex verification requirements. Instead of requiring complex logical descriptions, the system processes natural language text that serves as an accessible copy of the verification criteria, making the verification process reliable without increasing description complexity.
Solution Approach 2:
The patent changes the parameter of description complexity by transforming verification requirements from complex logical formalisms into natural language expressions. The processor translates and processes these natural language descriptions into verification criteria, maintaining verification reliability while significantly reducing the complexity of the description language required.
3Reliability
If comprehensive design verification is performed manually to ensure security, then verification thoroughness improves, but cost and expertise requirements increase
Solution Approach 1:
The verification system performs self-service by automatically executing verification processes without requiring extensive human expertise. The processor and memory system independently handle the comprehensive verification of design implementations against natural language descriptions, enabling thorough security verification while reducing the complexity burden on human operators.
Solution Approach 2:
The automated verification system acts as an intermediary that handles the complex verification processes between the design implementation and security requirements. This intermediary system absorbs the complexity of comprehensive verification, providing design security without requiring users to manage the associated process complexity or expertise requirements.
Data Source
AI summary
A computer system obtains and/or assists in creation of a natural language description file corresponding to a design, where the design is a hardware design or a software design and processes the natural language description file to extract semantic expressions. One or more intermediate representation data structures is generated from selected ones of the semantic expressions. Each intermediate representation data structure includes natural language design objects, natural language design object properties, and relationships between natural language design objects and/or natural language design object properties. The computer system transforms each intermediate representation data structure into one or more corresponding design verification statements derived from the natural language description file. Those design verification statements are subsequently evaluated against one or more design implementation files corresponding to the design.


