Graphical Constraint Language for FPGA Program Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for specifying and implementing high-performance applications, such as digital signal processing, are cumbersome and error-prone due to the need for significant manual analysis and testing, especially in constrained environments like field programmable gate arrays (FPGAs).

Innovation Solution

A graphical program development environment with a graphical specification and constraint language that allows users to specify a model of computation and explicit constraints, enabling the creation of graphical programs that can be automatically generated and analyzed for performance and resource utilization, and configured for programmable hardware elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual analysis and testing methods are used for specifying and implementing high-performance applications, then flexibility and adaptability are maintained, but the process becomes tedious, error-prone, and time-consuming

Engineering Contradiction:
ImproveaccuracyVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs automatic analysis and verification of dataflow programs without requiring manual intervention. The graphical specification language and constraint system enable the program to self-verify correctness, resource usage, and timing constraints through automated checking mechanisms, eliminating the need for tedious manual analysis while maintaining high accuracy

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Manual mechanical processes of analysis and testing are replaced with automated computational systems. The patent implements automatic constraint checking, resource usage analysis, and correctness verification through software-based mechanisms that process graphical program specifications and generate verification results without human intervention

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If graphical programs with explicit constraints are automatically generated and analyzed, then productivity and accuracy are improved, but device complexity increases

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The graphical specification language serves multiple functions simultaneously: it defines program logic, specifies resource constraints, declares timing requirements, and enables automatic verification. This multi-functionality consolidates what would otherwise require separate tools and processes into a unified system, improving productivity without proportionally increasing complexity

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

Solution Approach 2:

The system transforms qualitative program specifications into quantitative constraint parameters that can be automatically analyzed. By expressing resource usage, timing, and performance requirements as explicit parameters in the graphical specification, the system enables automated verification and optimization while maintaining manageable complexity through standardized parameter representations

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If manual specification methods are used for constrained hardware environments, then ease of operation is maintained, but manufacturing precision and constraint satisfaction deteriorate

Engineering Contradiction:
Improveconstraint satisfactionVSAvoidease of specification
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The graphical specification language acts as an intermediary between the programmer and the hardware constraints. It provides an abstracted interface that automatically translates high-level program specifications into detailed constraint analyses, ensuring precise satisfaction of hardware limitations without requiring the programmer to manually handle complex constraint calculations

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements automatic feedback mechanisms that verify constraint satisfaction during the specification process. The graphical program analysis automatically checks whether resource usage, timing, and performance constraints are met, providing immediate feedback to the programmer and enabling correction of constraint violations before implementation, thereby ensuring high manufacturing precision

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2598989B1Developing programs in a graphical specification and constraint language
Publication Date: 2020.03.11 NATIONAL INSTRUMENTS CORP
  • EP2598989B1 patent drawingFigure 1A
  • EP2598989B1 patent drawingFigure 1B
  • EP2598989B1 patent drawingFigure 2A

AI summary

System and method for specifying and implementing programs. A graphical program is created in a graphical specification and constraint language that allows specification of a model of computation and explicit declaration of constraints in response to user input. The graphical program includes a specified model of computation, a plurality of interconnected functional blocks that visually indicate functionality of the graphical program in accordance with the specified model of computation, and specifications or constraints for the graphical program or at least one of the functional blocks in the graphical program. The specified model of computation and specifications or constraints are useable to analyze the graphical program or generate a program or simulation.