FPGA Circuit Object Placement Using Control Set Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional circuit design methods for FPGAs face challenges in optimizing slice utilization due to control set compatibility issues, leading to inefficient resource allocation and potential routing problems.

Innovation Solution

A method for enhanced slice utilization involves generating a congestion map, identifying overflow conditions, and strategically placing circuit objects with specific control sets in nearest neighbor resource blocks, prioritizing compatible control sets and utilizing a spiral search to optimize placement within the FPGA grid.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional placement methods are used to map circuit designs to FPGA resources, then the placement process is simple and fast, but slice utilization is inefficient and control set compatibility issues arise

Engineering Contradiction:
Improveplacement speedVSAvoidslice utilization efficiency
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The invention performs preliminary actions by generating a congestion map before detailed placement and identifying overflow conditions in advance. This allows the placement algorithm to proactively avoid control set conflicts and optimize slice utilization before actual placement occurs, rather than reacting to problems after placement.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention implements feedback by using the congestion map to guide placement decisions. The congestion map provides real-time information about resource utilization and control set compatibility, allowing the placement algorithm to adjust its decisions dynamically to avoid overflow conditions and optimize slice utilization.

Inventive Principle:
Principle #23Feedback

2Device complexity

If circuit objects are placed without considering control set compatibility, then placement is faster and simpler, but routing problems and resource allocation inefficiencies occur

Engineering Contradiction:
Improveplacement algorithm complexityVSAvoidrouting reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The invention marks circuit blocks with control set identifiers before placement and identifies overflow conditions in advance. This preliminary action ensures that control set compatibility is considered from the beginning of the placement process, preventing routing problems before they occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The congestion map serves as an intermediary that mediates between placement decisions and control set compatibility requirements. It translates complex control set constraints into actionable guidance for the placement algorithm, simplifying the integration of compatibility checks into the placement process.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If overflow conditions are not identified and addressed, then the placement process is simpler, but resource allocation becomes inefficient and routing issues arise

Engineering Contradiction:
Improveplacement efficiencyVSAvoidrouting issues
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The invention converts the potentially harmful overflow conditions into beneficial information by identifying and mapping them in the congestion map. This allows the placement algorithm to use the identified overflow conditions to make smarter placement decisions, turning what would be routing problems into opportunities for optimization.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Data Source

PatentUS8136073B1Circuit design fitting
Publication Date: 2012.03.13 XILINX INC
  • US8136073B1 patent drawing
  • US8136073B1 patent drawing
  • US8136073B1 patent drawing

AI summary

Circuit design fitting for an integrated circuit is described. A mapped design for the circuit design is obtained. A first placement of the mapped design in association with an integrated circuit is performed. Circuit blocks are marked associated with the integrated circuit with control set identifiers. A circuit object is associated with a control set identifier. A site for placement of the first circuit object is located. The site is associated with a circuit resource block, which is associated with circuit resource blocks of the integrated circuit. Nearest neighbor circuit resource blocks with respect to the circuit resource block are acquired. The nearest neighbor circuit resource blocks of the circuit resource block are categorized in response to statuses. The circuit object is placed in a nearest neighbor of the nearest neighbor circuit resource blocks of the circuit resource block for a second placement.