Plug-in Dependency Management for Circuit Design Partitions
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
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
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.
Data Source
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.


