RTL Synthesis Resource Allocation for FPGA Design

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current RTL synthesis tools are vendor-specific, limiting user control over hardware resource allocation in FPGA designs, and lack flexibility in handling various FPGA target architectures, leading to inefficient resource usage and performance estimation.

Innovation Solution

A method and apparatus for managing and controlling hardware resources during RTL synthesis, allowing users to assign and influence the implementation of RTL operator instances across different hardware resources, providing a vendor-independent synthesis environment with graphical user interfaces for resource management and constraint-based allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If RTL synthesis tools are vendor-specific, then the tools are optimized for particular FPGA architectures, but user flexibility and control over hardware resource allocation are limited

Engineering Contradiction:
Improveoptimization for particular FPGA architectureVSAvoiduser flexibility in resource allocation
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The synthesis tool is designed to support multiple FPGA vendor architectures through a unified interface. The tool maintains a library of available hardware resources across different vendors and allows users to select from multiple implementation options for each operator instance, making the tool universally applicable across different FPGA platforms while maintaining optimization capabilities for each specific architecture.

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

2Productivity

If automated implementation is used, then synthesis efficiency is improved, but user control and ability to influence resource allocation decisions are reduced

Engineering Contradiction:
Improvesynthesis efficiencyVSAvoiduser control over implementation
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system provides dynamic control over the synthesis process by allowing users to interactively adjust implementation decisions. Users can view suggested implementations, modify resource allocation choices, and influence the automated synthesis process in real-time. The tool maintains both automated efficiency and user controllability by enabling partial manual intervention at any stage of the synthesis process.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If multiple FPGA target architectures are explored, then design optimization is improved, but tool complexity and resource management difficulty increase

Engineering Contradiction:
Improveexploration of multiple FPGA architecturesVSAvoidtool complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The tool segments the FPGA architecture exploration process by organizing hardware resources into distinct categories (e.g., DSP blocks, memory blocks, logic resources). Each resource type is managed independently through separate data structures and allocation mechanisms, allowing the tool to handle multiple architectures systematically without overwhelming complexity. This segmentation enables clear comparison and selection across different architectural options.

Inventive Principle:
Principle #1Segmentation

4Ease of operation

If manual modification of RTL is used to affect implementation decisions, then user control is improved, but time consumption and user error increase

Engineering Contradiction:
Improveuser control over implementationVSAvoidtime for RTL modification
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The synthesis tool acts as an intermediary between the user's high-level design intentions and the low-level hardware implementation. Instead of requiring users to manually modify RTL code, the tool provides an intermediate layer where users can specify implementation preferences and constraints, and the tool automatically translates these into appropriate hardware resource allocations. This intermediary approach maintains user control while eliminating time-consuming and error-prone manual RTL modifications.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9747398B2Managing and controlling the use of hardware resources on integrated circuits
Publication Date: 2017.08.29 SIEMENS INDUSTRY SOFTWARE INC
  • US9747398B2 patent drawing
  • US9747398B2 patent drawing
  • US9747398B2 patent drawing

AI summary

Disclosed herein are representative embodiments of methods and apparatus for managing and allocating hardware resources during RTL synthesis. For example, in one exemplary method disclosed herein, an RTL description of a circuit to be implemented in a target architecture is received. The target architecture of this embodiment comprises a fixed number of hardware resources in a class of hardware resources. One or more operator instances are determined from the RTL description received, where at least some of the operator instances are implementable by the hardware resources in the class of hardware resources. In this embodiment, and prior to initially synthesizing the RTL description into a gate-level netlist, assignment information indicative of how the operator instances are to be implemented using the hardware resources in the class of hardware resources is automatically determined. A graphical user interface is also provided that allows a user to view and modify the assignment information.