FPGA Multiplier Resource Allocation via Priority Ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for implementing multipliers on FPGAs are inefficient in resource allocation, as they often require a large number of dedicated multiplier resources, and do not consider user preferences or operand size when optimizing resource usage.

Innovation Solution

A process for determining and allocating resources for multipliers using DSPs, LUTs, and MUXCYs, prioritizing based on user criteria, number of primitives required, and operand size, while minimizing the number of adders and optimizing resource usage by constructing partial product matrices and selecting appropriate primitives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multipliers are implemented using LUTs or MUXCYs with random resource allocation, then multipliers can be implemented on FPGA, but the number of dedicated multiplier resources required is large and resource utilization is inefficient

Engineering Contradiction:
Improvemultiplier implementation flexibilityVSAvoidnumber of dedicated multiplier resources
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent changes the parameters of resource allocation by considering multiple factors including user preferences, operand sizes, and primitive requirements. Instead of random allocation, the system dynamically adjusts resource assignment based on these parameters to optimize the balance between implementation flexibility and resource efficiency

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent enables dedicated multiplier resources to serve multiple purposes by allowing them to be dynamically allocated based on different multiplier requirements. The same hardware resources can be configured to implement different multiplier operations with varying operand sizes and configurations, increasing their utilization efficiency

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

2Quantity of substance

If dedicated DSPs or multiplier primitives are used to reduce resource usage, then fewer logic resources are required, but the design becomes more complex in terms of resource allocation and configuration

Engineering Contradiction:
Improvelogic resources requiredVSAvoidresource allocation complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements an automatic resource allocation system that autonomously determines the optimal assignment of dedicated multiplier resources based on user preferences, operand sizes, and primitive requirements. This self-service mechanism eliminates the need for manual complex configuration while achieving efficient resource utilization

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent performs preliminary analysis of multiplier requirements including operand sizes and primitive needs before allocating resources. By pre-evaluating these factors, the system prepares an optimized resource allocation plan that reduces the complexity of the allocation process while ensuring efficient use of dedicated multiplier resources

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If resource allocation does not consider user preferences or operand size, then the allocation process is simpler, but the optimization of resource usage is reduced

Engineering Contradiction:
Improveallocation process simplicityVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements a dynamic resource allocation system that adapts to different user preferences and operand sizes. The allocation process automatically adjusts its strategy based on these varying parameters, maintaining simplicity in the user interface while achieving high optimization through automated dynamic decision-making

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7627458B1Resource and context based multiplier generation
Publication Date: 2009.12.01 XILINX INC
  • US7627458B1 patent drawing
  • US7627458B1 patent drawing
  • US7627458B1 patent drawing

AI summary

A method is provided to automatically allocate resources of an integrated circuit (IC) to form multipliers in a given design to optimize the use of IC resources. Information about the multipliers in the design is extracted to place the multipliers into a priority order. The priority allows primitives in the IC, like DSP blocks LUTs or MUXCYs to be economically allocated to the multipliers. The ordering criteria can include: (1) a user defined criteria, (2) the number of primitives required to implement a multiplier, or (3) a size of the multiplier operands. This invention further optimally allocates LUTs and MUXCYs when DSP48 blocks are exhausted. The steps for generating a multiplier include: constructing a partial product matrix and minimizing the adders used in the multiplier by minimizing the size of support for the partial products. Either LUTs or MUXCYs are selected depending on the size of support determined.