Programmable Component Data Format Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for initializing programmable components, such as FPGAs, place a significant load on the CPU due to its responsibility for converting data formats, leading to slow initialization processes.

Innovation Solution

The programmable component itself is tasked with converting data from a first format to a second format suitable for its use, reducing the CPU's workload and enabling faster initialization by delegating data conversion operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the CPU converts data from first format to second format during initialization, then the data conversion is completed, but the CPU occupancy rate increases and initialization speed decreases

Engineering Contradiction:
Improveinitialization speedVSAvoidCPU occupancy rate
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The programmable component performs data format conversion independently using its own processing resources, eliminating the need for CPU intervention. The component loads first format data from external memory, converts it to second format data internally, and stores the converted data in its internal memory, thereby serving itself during the initialization process.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The data conversion function is extracted from the CPU and transferred to the programmable component. This separation removes the conversion workload from the CPU, allowing the CPU to focus on other tasks while the programmable component handles its own initialization data conversion independently.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If the CPU loads and converts initialization data, then the programmable component is initialized, but the initialization process becomes slow due to CPU conversion bottleneck

Engineering Contradiction:
Improveinitialization completionVSAvoidinitialization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The programmable component autonomously performs the time-consuming data conversion operation using its internal processing capabilities, eliminating the CPU conversion bottleneck. This self-service approach parallelizes the initialization process, allowing the programmable component to convert data at its own optimized speed without being constrained by CPU availability.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If the CPU is responsible for data conversion during initialization, then data format compatibility is ensured, but resource utilization becomes inefficient

Engineering Contradiction:
Improvedata format compatibilityVSAvoidresource utilization efficiency
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The programmable component independently handles data format conversion, ensuring compatibility between external and internal data formats while utilizing its own processing resources. This eliminates the inefficiency of CPU resource consumption during initialization, as the conversion is performed by the component that ultimately uses the converted data.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The programmable component acts as an intermediary between external memory and its internal memory, translating data from the first format used by external systems to the second format required by its internal architecture. This intermediary conversion process ensures seamless data flow and format compatibility while optimizing resource utilization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10268631B2Initialize programmable components
Publication Date: 2019.04.23 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10268631B2 patent drawing
  • US10268631B2 patent drawing
  • US10268631B2 patent drawing

AI summary

A programming file including a first module is loaded to a programmable component. And then, the programmable component is dis-reset. Subsequently, first data is loaded to a memory connecting with the programmable component, to enable the first module in the programmable component to convert the first data of the memory into second data. After the first module of the programmable component converts the first data of the memory into the second data, a second module is loaded to the programmable component. The first module in the programming file is then replaced with the second module, to enable the second module to access the second data.