Optimizing Commutative-Associative Logic Gate Input Permutations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In modern VLSI circuit design, the connections to inputs of associative-commutative logic trees do not impact functionality but significantly affect placement and routing quality, leading to wire length and congestion issues during automatic placement and routing.

Innovation Solution

A method and apparatus optimize the permutation of commutative-associative inputs by framing the problem as a bipartite matching formulation, using linear programming to solve for improved connections that reduce wire length and congestion, with iterative optimization phases to refine the circuit design.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Length of moving object

If inputs to associative-commutative logic trees are connected in arbitrary order, then circuit functionality is preserved, but wire length and routing congestion increase

Engineering Contradiction:
Improvewire lengthVSAvoidrouting congestion
Core Design Contradiction:
Length of moving objectVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by optimizing the input ordering of associative-commutative logic trees before the placement and routing stages. The system identifies commutative-associative operations and determines optimal input permutations in advance, using cost functions that estimate wire length and routing congestion. This preliminary optimization prepares the netlist with improved connectivity patterns that guide subsequent automated placement and routing tools, reducing the overall wire length and congestion without requiring changes to the circuit's functional logic.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If input ordering is optimized for wire length, then routing quality improves, but design time increases

Engineering Contradiction:
Improverouting qualityVSAvoiddesign time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent employs parameter changes by modifying the cost function parameters that guide the input ordering optimization. The system uses adjustable weights for different cost components (e.g., wire length, congestion, timing constraints) to balance optimization quality against computation time. By changing these parameters, the system can adapt to different design priorities and time budgets, providing a controllable trade-off between routing quality improvement and additional design time required.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies partial action by selectively optimizing only the commutative-associative portions of the circuit rather than the entire netlist. The system identifies specific logic trees with commutative-associative operations and applies optimization only to those subcircuits, leaving the rest of the design unchanged. This partial optimization approach reduces the computational burden compared to full netlist optimization while still achieving meaningful improvements in routing quality for the targeted portions.

Inventive Principle:
Principle #16Partial or excessive action

3Manufacturing precision

If commutative-associative input permutations are optimized, then placement and routing quality improve, but computational complexity increases

Engineering Contradiction:
Improveplacement qualityVSAvoidcomputational complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the circuit into independent commutative-associative logic trees and optimizing each tree's input ordering separately. The system traverses the netlist to identify distinct logic trees with commutative-associative operations, then applies optimization algorithms to each tree independently. This segmentation reduces the overall computational complexity compared to optimizing the entire circuit as a single unit, while still achieving improved placement and routing quality through localized optimizations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by performing a traversal of the netlist to identify and categorize commutative-associative logic trees before applying optimization algorithms. This preliminary analysis phase prepares the data structures and cost functions needed for subsequent optimization, organizing the circuit into manageable units with known optimization opportunities. By preparing this information in advance, the system reduces the computational burden during the actual optimization phase.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10331834B2Optimizing the ordering of the inputs to large commutative-associative trees of logic gates
Publication Date: 2019.06.25 SYNOPSYS INC
  • US10331834B2 patent drawing
  • US10331834B2 patent drawing
  • US10331834B2 patent drawing

AI summary

A method of optimizing a netlist for a circuit comprising identifying a logic tree with a single output and a plurality of interchangeable inputs, and calculate the optimal permutation of the plurality of inputs. The method further comprising modify the netlist based on the optimal permutation, and optimizing the modified netlist.