Graphical Programming for Digital Pulse Generation on FPGAs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional text-based programming environments require users to possess advanced programming skills, creating a barrier for non-technical users in efficiently utilizing computer systems, and existing graphical programming environments are often constrained to data flow semantics, limiting their flexibility in creating programs for programmable hardware devices.

Innovation Solution

A method for generating programs using graphical primitives that allow users to select and connect circuit entities to create digital timing signals, with the ability to connect these primitives using wires that do not impose dataflow ordering dependencies, enabling the creation of programs that can be compiled for programmable hardware devices like FPGAs, allowing for more intuitive and flexible programming.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If traditional text-based programming environments are used, then programming precision and control are improved, but ease of operation deteriorates due to requiring advanced programming skills

Engineering Contradiction:
Improveprogramming precisionVSAvoidease of operation
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The patent replaces text-based programming syntax with a graphical block diagram interface. Users connect functional blocks representing hardware components and signal processing operations through visual connections rather than writing text code. This substitution of mechanical text input with graphical connection mechanisms maintains programming precision while dramatically improving ease of operation for non-technical users.

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

Solution Approach 2:

The patent introduces an intermediary translation layer between the graphical block diagram interface and the target hardware. The graphical program is automatically translated into hardware description language (HDL) or configuration code that can be deployed to FPGAs or other programmable devices. This intermediary translation mechanism preserves the precision of the original graphical design while enabling operation with minimal technical expertise.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If graphical programming environments with data flow semantics are used, then ease of operation is improved, but adaptability deteriorates due to constraints in creating programs for programmable hardware devices

Engineering Contradiction:
Improveease of operationVSAvoidadaptability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal graphical programming environment that can target multiple hardware platforms including FPGAs, ASICs, and other programmable devices. The same graphical block diagram interface and functional blocks can be adapted to different hardware architectures and deployment scenarios. This multi-functionality maintains ease of operation while significantly improving adaptability to different hardware platforms.

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

Solution Approach 2:

The patent introduces dynamic configuration capabilities that allow the graphical program to adapt to different hardware resources and constraints. Users can dynamically adjust parameters such as data width, clock frequency, and resource allocation while maintaining the same graphical interface. This dynamic adaptability enables the same graphical programming environment to serve diverse hardware platforms without sacrificing ease of operation.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If wires imposing dataflow ordering dependencies are used, then measurement precision of signal timing is improved, but device complexity increases

Engineering Contradiction:
Improvesignal timing precisionVSAvoiddevice complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies different connection semantics to different wire types based on local requirements. Timing-critical connections use wires with ordering dependencies to preserve signal timing precision, while non-critical data connections use simpler wires without ordering constraints. This local differentiation of connection qualities maintains measurement precision where needed while reducing overall device complexity by avoiding unnecessary ordering constraints throughout the entire system.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7761846B2Graphical programming methods for generation, control and routing of digital pulses
Publication Date: 2010.07.20 NATIONAL INSTRUMENTS CORP
  • US7761846B2 patent drawing
  • US7761846B2 patent drawing
  • US7761846B2 patent drawing

AI summary

A system and method for configuring a target hardware device. The system receives user input selecting instances of circuit-like primitives and instances of dataflow primitives. The user may wire the instances together using wires of various kinds to specify a graphical program. The wires are distinguished into types depending on whether or not they impose dataflow ordering dependencies and depending on the kind of data they are intended to carry. The circuit-like primitives may receive and/or generate digital signals to control the timing of processes or events such as A/D conversion, D/A conversion, digital input, digital output, pulse generation, etc. The circuit-like primitives and the dataflow primitives may communicate with each other through cast primitives and satellite nodes. Program code corresponding to the graphical program may be compiled to a format suitable for configuring a programmable hardware element or some other target device.