Dataflow Description Processing for Concurrent Circuit Design

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Electronic Design Automation (EDA) systems are unable to effectively map sequential programs into efficient concurrent circuit implementations, disregarding potential parallelism and failing to provide quantitative data for concurrent circuit designs.

Innovation Solution

A method and apparatus for processing a dataflow description of a digital processing system, which involves simulating a model of the dataflow description to generate causation trace data that characterizes actual dependencies between computational steps, allowing for analysis to produce quantitative data that characterizes the dataflow description.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional EDA systems process sequential program descriptions, then the simulation can be performed using existing tools, but the potential parallelism and concurrency in the circuit design are not captured

Engineering Contradiction:
Improveability to handle concurrent circuit implementationsVSAvoidloss of parallelism metrics
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent transforms the sequential program description into a dataflow description by changing the representation parameters. Instead of sequential execution order, the system uses data dependency relationships to represent computational steps, enabling concurrent execution while maintaining functional equivalence. This parameter transformation allows existing sequential tools to analyze concurrent circuits by reparameterizing the problem in terms of dataflow dependencies.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If EDA simulators process sequential descriptions of algorithms, then the simulation process is straightforward, but metrics quantifying potential parallelism are disregarded

Engineering Contradiction:
Improveease of simulation processingVSAvoidloss of parallelism quantification
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent introduces a dataflow description as an intermediary representation between sequential program code and concurrent circuit implementation. This intermediary layer captures data dependency information that quantifies parallelism potential, while remaining processable by existing simulation tools. The dataflow description acts as a mediator that preserves parallelism metrics without requiring complete redesign of the simulation infrastructure.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If sequential programming languages are used to specify circuits, then programming is simplified, but the concurrency available in the algorithm is obscured

Engineering Contradiction:
Improveease of specificationVSAvoidloss of algorithm concurrency
Core Design Contradiction:
Ease of manufactureVSLoss of information

Solution Approach 1:

The patent segments the sequential program description into discrete computational steps and identifies data dependency relationships between them. By breaking down the sequential code into individual operations and their data dependencies, the system reveals the underlying concurrency structure without requiring the programmer to explicitly write concurrent code. This segmentation transforms hidden parallelism into visible dataflow relationships.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7761272B1Method and apparatus for processing a dataflow description of a digital processing system
Publication Date: 2010.07.20 XILINX INC
  • US7761272B1 patent drawing
  • US7761272B1 patent drawing
  • US7761272B1 patent drawing

AI summary

Method and apparatus for processing a dataflow description of a digital processing system is described. In one example, a model of the dataflow description is simulated. Computational steps performed during the simulation and actual dependencies among the computational steps resulting from the simulation are identified. Causation trace data is generated in response to the step of recording. The causation trace data may then be analyzed using one or more analyses to produce quantitative data that characterizes the dataflow description.