Circuit Loop Bit-Assignment Optimization Using Wire Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional circuit design implementation techniques result in inefficient circuit architectures when dealing with loops that perform bit assignments using variables in the bit index expression, leading to slower runtimes and increased resource utilization in electronic design automation (EDA) tools.

Innovation Solution

The method involves identifying chains of loop elements with common variables in the bit index expression, replicating these chains for each value of the common variable, transforming them into wires, and inserting a multiplexer to consolidate address calculation and bit select nodes, reducing the complexity of circuitry and resource requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional EDA tools implement bit-level assignments within loops using word-level DFG representation, then the circuit design can be processed, but the runtime becomes slow and the circuit architecture becomes inefficient

Engineering Contradiction:
ImproveEDA tool runtimeVSAvoidcircuit architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the loop body into multiple iterations, where each iteration is processed independently with dedicated bit-select nodes and address calculation nodes. This segmentation allows the EDA tool to optimize each iteration separately, reducing overall complexity and improving runtime efficiency by avoiding the need to handle entire loops as single complex structures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the loop structure by introducing a new dimension of iteration handling. Instead of processing loops sequentially at the word-level, the methodology elevates the representation to handle bit-level operations with explicit iteration dimensions, allowing parallel processing of different loop iterations and reducing computational complexity in the original time dimension.

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

2Adaptability or versatility

If the loop includes a chain of bit-assignments with variables in the bit index expression, then the circuit design functionality is achieved, but the EDA tool runtime becomes significantly slower and circuit resources increase

Engineering Contradiction:
Improvebit-assignment flexibilityVSAvoidEDA tool runtime
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-calculating and establishing the chain of bit-select nodes and address calculation nodes before actual loop execution. Variables in bit index expressions are resolved in advance during the DFG construction phase, creating optimized data flow paths that eliminate runtime computation overhead and significantly reduce EDA tool processing time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copied instances of bit-select nodes and address calculation nodes for each loop iteration. Instead of reusing complex variable expressions across iterations, each iteration receives a copied, simplified version with concrete bit indices, eliminating the need for repeated variable resolution and reducing both runtime and computational complexity.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If conventional methods are used to handle loops with variable bit indices, then the circuit design is implemented, but significant circuit resources and area are required

Engineering Contradiction:
Improvevariable bit index handlingVSAvoidcircuit area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The patent introduces dynamic address calculation nodes that compute bit indices on-the-fly during circuit operation rather than using static, hardwired address paths. This dynamic approach allows the same circuit resources to be reused across different loop iterations with different bit indices, significantly reducing the total circuit area required while maintaining full adaptability to variable bit index expressions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates universal address calculation nodes and bit-select nodes that can handle multiple different bit index expressions through a single unified structure. These nodes are designed to accept variable inputs and generate appropriate bit selection signals for any loop iteration, eliminating the need for separate dedicated circuit paths for each possible bit index scenario and reducing overall circuit area.

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

Data Source

PatentUS10331836B1Loop optimization for implementing circuit designs in hardware
Publication Date: 2019.06.25 XILINX INC
  • US10331836B1 patent drawing
  • US10331836B1 patent drawing
  • US10331836B1 patent drawing

AI summary

Implementing a circuit design can include determining a chain of a plurality of loop elements of a circuit design, wherein each loop element includes a bit select node configured to perform a bit assignment operation and a corresponding address calculation node, wherein the address calculation nodes use a common variable to calculate a starting bit location provided to the corresponding bit select node. In response to the determining, the chain is replicated resulting in one chain for each value of the common variable and transforming each chain into a plurality of wires. A multiplexer is inserted into the circuit design. The plurality of wires for each chain is coupled to inputs of the multiplexer and the common variable is provided to the multiplexer as a select signal.