FPGA Dynamic Reconfiguration via Application Store Model

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current FPGA image update processes are complex and inefficient, requiring users to contact multiple manufacturers for heterogeneous FPGAs, lacking an ecosystem for developers to share, sell, or host FPGA images, and requiring manual upgrades that do not align with the familiar software 'application store' model.

Innovation Solution

An application store model is introduced for dynamic reconfiguration of FPGAs, allowing users to select and install FPGA image updates as 'in-app' purchases, with a license manager for licensing and a manageability engine for secure, runtime installation and discovery of updates, enabling FPGAs to be packaged as 'installable', 'bootable', and 'callable' objects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual FPGA image update processes are used, then users can update FPGA functionality, but the process becomes complex and inefficient requiring contact with multiple manufacturers

Engineering Contradiction:
ImproveFPGA update efficiencyVSAvoidUpdate process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an application store as an intermediary platform that mediates between FPGA manufacturers and users. This single intermediary consolidates multiple manufacturer interfaces into one unified system, allowing users to discover, evaluate, and install FPGA image updates without contacting multiple manufacturers separately, thereby reducing process complexity while maintaining update capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The application store serves multiple functions simultaneously: it acts as a repository for FPGA images, an evaluation platform for assessing update impacts, a licensing system for managing updates, and an installation mechanism for deploying updates. This multi-functional approach consolidates what would otherwise require separate systems, improving productivity while managing complexity

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

2Adaptability or versatility

If traditional FPGA update methods are used, then functionality can be upgraded, but there is no ecosystem for developers to share, sell, or host FPGA images

Engineering Contradiction:
ImproveFPGA ecosystem functionalityVSAvoidAvailable FPGA images
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The application store enables developers to independently upload, host, and manage their own FPGA images on the platform. This self-service capability allows developers to contribute to the ecosystem without requiring manual intervention from system administrators or manufacturers, thereby increasing the quantity of available FPGA images while enhancing ecosystem adaptability

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent transforms the traditional linear update process into a multi-dimensional ecosystem by adding layers for developer contribution, user evaluation, licensing management, and community sharing. This dimensional expansion creates a rich ecosystem where FPGA images can be discovered, evaluated, and installed through multiple pathways, increasing both ecosystem versatility and image availability

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

3Adaptability or versatility

If FPGA reconfiguration is performed traditionally, then functionality can be changed, but reboot is required which causes system downtime

Engineering Contradiction:
ImproveFPGA reconfiguration capabilityVSAvoidSystem downtime
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The application store performs preliminary evaluation and validation of FPGA image updates before installation. The system assesses potential updates, checks compatibility, and prepares installation packages in advance, so that when an update is selected, it can be installed and applied immediately without requiring system reboot, thus maintaining reconfiguration capability while eliminating downtime

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic reconfiguration where FPGA images can be loaded and applied at runtime without system shutdown. The application store manages the dynamic installation process, allowing the FPGA to transition between configuration states while the system remains operational, thereby preserving adaptability while eliminating the time loss associated with reboots

Inventive Principle:
Principle #15Dynamics

4Reliability

If FPGA updates are managed manually, then control over installation is maintained, but secure runtime installation and discovery cannot be ensured

Engineering Contradiction:
ImproveSecure update installationVSAvoidUpdate management simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The application store implements feedback mechanisms where each FPGA image update is evaluated for security, compatibility, and impact before being made available for installation. The system provides feedback to users about update safety, licensing requirements, and potential system impacts, enabling secure runtime installation while maintaining ease of operation through automated security checks and guided installation processes

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10031993B1Application store model for dynamic reconfiguration of a field-programmable gate array (FPGA)
Publication Date: 2018.07.24 INTEL CORP
  • US10031993B1 patent drawing
  • US10031993B1 patent drawing
  • US10031993B1 patent drawing

AI summary

A computing device, computer-readable medium, and method are provided to dynamically configure an FPGA of a computing device at runtime without rebooting the computing device. At least one upgradable capability of the FPGA is displayed to a user. The user selects an upgradable capability of the FPGA and accepts a license to enable the selected upgradable capability. An update to a reconfigurable FPGA image associated with the FPGA is obtained in response to issuance of the license. The update to the reconfigurable FPGA image is installed on the FPGA to enable the selected upgradable capability of the FPGA. An operating system of the computing device is notified of the update to the reconfigurable FPGA image at runtime, and the operating system exposes the selected upgradable capability of the FPGA to at least one component of a software stack managed by the operating system.