Plug-in Dependency Management for Circuit Design Partitions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Incremental implementation flow for programmable logic devices faces inefficiencies due to multiple software applications accessing different dependency management data interfaces, leading to inconsistent results and unnecessary re-implementation of entire circuit designs when only parts are changed.

Innovation Solution

A component-based approach using plug-in software components to manage and access dependency management data across multiple applications, allowing for unified management and identification of partitions that need re-implementation, thereby reducing redundant processing and ensuring consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple software applications access dependency management data through different interfaces, then each application can perform its specific task, but data consistency and reliability deteriorate due to multiple interfaces

Engineering Contradiction:
ImproveApplication interface compatibilityVSAvoidData consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a dependency management server as an intermediary component that mediates between multiple software applications and the dependency management data. The server provides a unified interface for all applications to access dependency information, eliminating the need for each application to maintain its own interface. This mediator ensures data consistency while allowing multiple applications to coexist and access the same data through a single standardized interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the entire circuit design is considered out-of-date when any part changes, then complete re-implementation ensures freshness, but productivity deteriorates due to unnecessary re-processing

Engineering Contradiction:
ImproveDesign freshnessVSAvoidImplementation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the circuit design into discrete partitions, each with its own dependency management. When a change occurs in one partition, only that specific partition and its dependencies are marked for re-implementation, rather than the entire design. This segmentation enables selective re-processing of only the affected portions, maintaining design freshness while significantly improving implementation efficiency by avoiding unnecessary re-processing of unchanged sections.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by treating different partitions of the circuit design differently based on their change status. Partitions that have changed or depend on changed partitions are marked for re-implementation, while partitions that remain unchanged are reused. This localized approach ensures that only the necessary portions are re-processed, optimizing the balance between ensuring design freshness and maintaining implementation efficiency.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If implementation tools process the entire design to determine changes, then accurate change detection is achieved, but productivity deteriorates due to premature processing

Engineering Contradiction:
ImproveChange detection accuracyVSAvoidProcessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements preliminary action by having the dependency management server pre-calculate and maintain dependency relationships between partitions before implementation tools process the design. The server tracks which partitions depend on which others and pre-markets them for potential re-implementation. This preliminary preparation allows implementation tools to quickly identify only the necessary partitions for processing without needing to analyze the entire design, thereby improving both change detection accuracy and processing efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7590951B1Plug-in component-based dependency management for partitions within an incremental implementation flow
Publication Date: 2009.09.15 XILINX INC
  • US7590951B1 patent drawing
  • US7590951B1 patent drawing
  • US7590951B1 patent drawing

AI summary

A method of managing an incremental implementation flow (incremental flow) for a circuit design can include storing dependency management data for the incremental flow for the circuit design and, from a first application, invoking at least one plug-in software component configured to access the dependency management data for the circuit design. The method further can include identifying partitions of the circuit design that must be run during the incremental flow using the plug-in software component.