Operation-Block Array Chaining for FPGA Interconnect Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Embedded systems based on microcontrollers, ASICs, and FPGAs face tradeoffs such as suboptimal performance, power efficiency, and high development costs, with customizing FPGAs being time-consuming and introducing performance inefficiencies due to interconnects between logic gates.

Innovation Solution

A field-programmable operation-block array (FPOA) utilizing high-level synthesis (HLS) design, which includes an interconnect network and operation blocks with arithmetic logic units, allowing for chaining of blocks to perform larger operations efficiently, and is configured using software tools to implement circuits directly from high-level code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If FPGAs are used for customization, then adaptability is improved, but device complexity and development time increase due to interconnects between logic gates

Engineering Contradiction:
Improvecustomization capabilityVSAvoidinterconnect complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system is divided into multiple operation blocks (OBs) that can be independently configured and chained together. Each OB contains functional units (adders, multipliers, ALUs) that can be selectively enabled, allowing complex functions to be built from simpler modular components rather than using a monolithic FPGA fabric with extensive interconnects.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple operation blocks are merged into a single integrated array structure with shared interconnect resources. The chaining mechanism allows OBs to be connected in series to perform complex operations, reducing the overall interconnect complexity compared to traditional FPGAs where each logic gate requires separate routing.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If ASICs are used for optimal performance, then productivity is improved, but manufacturing precision and development costs worsen due to customization requirements

Engineering Contradiction:
Improveperformance efficiencyVSAvoiddevelopment cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The operation blocks are designed with universal functionality that can be configured for different operations through software control. Each OB contains multiple functional units (adders, multipliers, ALUs) that can be programmed to perform different functions, providing ASIC-like performance for specific applications while maintaining reconfigurability and lower development costs.

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

Solution Approach 2:

The system allows dynamic changing of operational parameters through software configuration. By modifying control signals and configuration data, the same hardware structure can be optimized for different performance requirements, achieving ASIC-like performance tuning without the cost of multiple custom ASIC designs.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If microcontrollers are used for simplicity, then ease of manufacture is improved, but productivity and power efficiency worsen

Engineering Contradiction:
Improvemanufacturing simplicityVSAvoidperformance efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The microcontroller functionality is segmented into discrete operation blocks that can be independently configured. This allows the system to maintain the manufacturing simplicity of standard microcontroller fabrication processes while achieving improved performance through specialized functional units that can be activated only when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from the static architecture of traditional microcontrollers to a dynamic reconfigurable architecture. Operation blocks can be dynamically enabled or disabled based on computational requirements, allowing the system to optimize performance for specific tasks while maintaining low power consumption when full capability is not needed.

Inventive Principle:
Principle #15Dynamics

4Productivity

If more operation blocks are chained together, then productivity is improved for larger data sets, but device complexity increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidblock chain complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The chaining mechanism leverages the universal functionality of operation blocks. Each OB in the chain can perform the same set of operations, allowing complex processing of large data sets to be achieved by repeating simple, well-understood functional units rather than introducing increasingly complex specialized components.

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

Solution Approach 2:

The chained operation blocks process data in a continuous pipeline fashion, where the output of one OB becomes the input of the next. This continuous action allows large data sets to be processed efficiently through multiple stages without idle time, achieving high productivity while keeping each individual block relatively simple.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10482209B1Field programmable operation block array
Publication Date: 2019.11.19 HLS LOGIX LLC
  • US10482209B1 patent drawing
  • US10482209B1 patent drawing
  • US10482209B1 patent drawing

AI summary

A field-programmable operation array includes an interconnect network and a plurality of operation blocks, including a first operation block and a second operation block, electrically connected to the interconnect network. Each operation block includes an arithmetic logic unit and a plurality of logic gates. A pass signal output by the arithmetic logic unit of the first operation is received by the arithmetic logic unit of the second operation block.