Profile Guided Buffer Sizing for FPGA High-Level Synthesis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In designing systems for target devices like FPGAs and ASICs, existing high-level synthesis methods lack integration with profile data, leading to inefficient buffer sizing, resulting in resource wastage or performance issues due to non-deterministic latencies.

Innovation Solution

Incorporating profile data collection hardware to monitor arrival and service rates, allowing for the construction of probability distributions to optimize buffer sizing based on percentile requirements during high-level and HDL compilation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional high-level synthesis is performed independent of profile data, then the compilation process is simpler and faster, but buffer sizing accuracy deteriorates leading to resource wastage or performance issues

Engineering Contradiction:
Improvebuffer sizing accuracyVSAvoidcompilation process complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing a first compilation to generate initial HDL code and collecting profile data from actual system operation before performing the second optimization compilation. This preliminary data collection enables accurate buffer sizing in the subsequent compilation without requiring complex real-time analysis during the optimization process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by using profile data collected from the first compilation and system operation to guide the buffer sizing decisions in the second compilation. The profile data provides empirical feedback about actual system behavior, allowing the HDL compiler to optimize buffer sizes based on real-world performance characteristics rather than theoretical estimates.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If profile data collection hardware is added to monitor arrival and service rates, then buffer sizing accuracy improves, but device resource usage increases

Engineering Contradiction:
Improvearrival rate measurement accuracyVSAvoidhardware resources
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent applies self-service by having the system monitor and collect its own operational profile data during normal operation. The profile data collection hardware works autonomously to gather arrival rates and service rates without requiring external measurement equipment, and this data is then reused in the compilation process to optimize the same system that generated the data.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent uses preliminary action by collecting profile data during a first compilation and system operation phase before the optimization compilation. This preliminary data collection captures real system behavior, and the same data is then utilized in the second compilation to determine optimal buffer sizes, avoiding the need for additional hardware during the optimization phase.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If buffer sizes are estimated without profile data, then the design process is faster, but system performance deteriorates due to non-deterministic latencies

Engineering Contradiction:
Improvedesign process speedVSAvoidsystem performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback by using empirically collected profile data from system operation to guide buffer sizing decisions. This feedback loop ensures that buffer sizes are determined based on actual system behavior and performance characteristics, improving reliability while the automated nature of the process maintains design productivity.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies preliminary action by collecting profile data and determining optimal buffer sizes during a first compilation phase before final system implementation. This preliminary optimization ensures that the system is configured with accurate buffer sizes from the start, improving performance without requiring iterative adjustments that would slow down the overall design process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11281830B2Method and apparatus for performing profile guided optimization for first in first out sizing
Publication Date: 2022.03.22 ALTERA CORP
  • US11281830B2 patent drawing
  • US11281830B2 patent drawing
  • US11281830B2 patent drawing

AI summary

A method for designing a system on a target device includes generating a hardware description language (HDL) representation of profile data collecting hardware for a HDL of the system during a high-level compilation to collect profile data that includes an arrival rate associated with data transmitted to a buffer and a service rate of a service node associated with the buffer. The HDL of the system is compiled to generate a data file that describes a synthesis, placement and routing of the system on the target device. The target device is programmed with the data file to physically transform components on the target device to implement the system.