Multithreaded Circuit Placement Scheduling Using Connectivity and Utilization Dependencies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional integrated circuit (IC) placement techniques face limitations in scalability and processing time as they rely on static connectivity dependencies, unable to efficiently handle larger circuit designs due to limited multithreading capabilities.

Innovation Solution

The implementation of a multithreaded scheduling technique that incorporates both connectivity and utilization dependencies during the placement phase, allowing for dynamic relocation of circuit elements and increased processing threads, thereby enhancing the placement quality and reducing runtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional placement techniques use static connectivity dependencies, then the placement process is simple to implement, but the scalability and processing time deteriorate as circuit designs grow larger

Engineering Contradiction:
Improveplacement processing speedVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the placement process into multiple independent threads that can execute concurrently. Each thread handles a subset of circuit elements or bins, allowing parallel processing. The scheduler divides the work into manageable units that can be distributed across multiple threads, improving productivity without creating a single complex monolithic scheduler.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic scheduling where the order of processing circuit elements is determined by connectivity and utilization dependencies that can change during the placement process. The scheduler dynamically adjusts the processing order based on current bin utilization and connectivity requirements, allowing the system to adapt to varying circuit designs and placement states.

Inventive Principle:
Principle #15Dynamics

2Productivity

If conventional placers are limited to four processing threads, then the device complexity remains manageable, but the productivity and scalability are restricted for larger circuit designs

Engineering Contradiction:
Improveplacement throughputVSAvoidmultithreading complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal scheduling framework that can accommodate any number of threads (four, eight, or more) within the same architectural paradigm. The scheduler is designed to be thread-agnostic, using a unified approach to manage connectivity and utilization dependencies regardless of the number of concurrent threads, thereby achieving high productivity without proportionally increasing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent adds a new dimension to the scheduling problem by introducing utilization dependency as an additional constraint dimension alongside connectivity dependency. This allows the scheduler to make more informed decisions about thread assignment and processing order, effectively managing increased parallelism by adding another layer of optimization criteria rather than simply increasing thread count.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Manufacturing precision

If the placement process does not account for utilization dependencies, then the scheduling is simpler, but the placement quality deteriorates for larger circuit designs

Engineering Contradiction:
Improveplacement qualityVSAvoiddependency tracking complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent performs preliminary calculations of connectivity and utilization dependencies during the scheduling phase before actual relocation operations begin. By pre-computing these dependency metrics and using them to determine processing order, the system prepares the placement strategy in advance, improving placement quality without adding complexity during the actual relocation execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where the scheduler continuously monitors bin utilization and connectivity changes during the placement process. This feedback information is used to dynamically adjust the processing order and thread assignments, creating an adaptive system that improves placement quality by responding to real-time conditions while managing complexity through automated feedback loops.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9529957B1Multithreaded scheduling for placement of circuit designs using connectivity and utilization dependencies
Publication Date: 2016.12.27 XILINX INC
  • US9529957B1 patent drawing
  • US9529957B1 patent drawing
  • US9529957B1 patent drawing

AI summary

Placing a circuit design may include partitioning circuit elements of the circuit design into circuit element sets and grouping bins of an integrated circuit into bin sets. The bins include circuit elements of the circuit design from an initial placement. Placing a circuit design also may include determining a dependency connectivity metric for the circuit elements and, using a processor, selectively relocating circuit elements concurrently, for a plurality of iterations, using a cost metric for relocating the circuit elements and using an order of processing the circuit elements determined from the bin sets, the circuit element sets, and the dependency connectivity metrics.