EDA Conflict Detection for Heterogeneous Compute Domains

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In heterogeneous integrated circuits, conflicts between applications developed for different compute units often go unnoticed during development, leading to unexpected device behavior due to issues like memory overlap or concurrent access to resources, which are difficult to detect and resolve.

Innovation Solution

A computer-based electronic design automation system that maps applications to domains with different compute units, performs validity checking to detect conflicts, and generates notifications to address these issues, thereby reducing development time and improving debugging efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If applications are developed for different compute units independently, then development flexibility and parallel development are improved, but conflicts between applications (memory overlap, resource access) are not detected until testing

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoidapplication compatibility
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs validity checking and conflict detection during the development phase, before the applications are deployed to the heterogeneous device. The system checks for memory overlaps, resource access conflicts, and other compatibility issues between applications mapped to different compute units, allowing developers to resolve conflicts before actual device testing.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple applications are mapped to different domains concurrently, then device utilization and performance are improved, but conflicts between applications become more difficult to detect

Engineering Contradiction:
Improvedevice utilizationVSAvoidconflict detection difficulty
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces an intermediary system that acts as a mediator between multiple applications and the heterogeneous compute units. This system automatically checks for conflicts by analyzing memory addresses, resource requirements, and execution parameters of applications mapped to different domains, making conflict detection straightforward even when multiple applications run concurrently.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If applications are tested on the actual heterogeneous device, then real device behavior is observed, but development time and debugging cycles are extended

Engineering Contradiction:
Improvebehavior accuracyVSAvoiddebugging time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs validity checking and conflict detection during the development phase, before the applications are deployed to the heterogeneous device. The system checks for memory overlaps, resource access conflicts, and other compatibility issues between applications mapped to different compute units, allowing developers to resolve conflicts before actual device testing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11593126B1Implementation for a heterogeneous device
Publication Date: 2023.02.28 XILINX INC
  • US11593126B1 patent drawing
  • US11593126B1 patent drawing
  • US11593126B1 patent drawing

AI summary

Implementing a design for a heterogeneous device can include mapping, using computer hardware, a plurality of applications of a design for a device to a plurality of domains of the device, wherein each domain includes a different compute unit, performing, using the computer hardware, validity checking on the plurality of applications, detecting, using the computer hardware, a conflict between two or more of the plurality of applications from the validity checking, and, in response to the detecting, generating a notification of the conflict using the computer hardware. Operations such as automatically generating a boot image, debugging, and/or performing system level performance analysis may also be performed.