FPGA MCU Circuit Instant Function Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional field programmable gate arrays (FPGAs) cannot execute new functions while being programmed, leading to prolonged downtime and inefficiency when switching between functions with micro-controller units (MCUs).

Innovation Solution

A programmable circuit configuration that allows an FPGA to execute an original function and be programmed with a new function simultaneously by a MCU, using a function switch pulse to instantly switch between functions without interrupting the original function's execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the FPGA is programmed with a new function by the MCU, then the FPGA can execute the new function, but the FPGA cannot provide any function (including original and new) to the MCU during programming

Engineering Contradiction:
ImproveFPGA function switching capabilityVSAvoidSystem operational efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by programming the new function into the FPGA's memory blocks before actually switching to it. The MCU programs the second function into the FPGA while the FPGA continues executing the first function, so that when the switch pulse is received, the new function is already prepared and ready for immediate execution without programming delay

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the FPGA's functionality by dividing it into multiple memory blocks (first memory block and second memory block) that can store different functions simultaneously. This segmentation allows the FPGA to hold both the original function and the new function in parallel, enabling seamless switching between them without losing either function

Inventive Principle:
Principle #1Segmentation

2Manufacturing precision

If the FPGA waits for programming to complete before switching functions, then programming accuracy is ensured, but time is wasted on programming or converting

Engineering Contradiction:
ImproveProgramming accuracyVSAvoidFunction switching time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs the programming action in advance during the first time period, completing the configuration of the new function before the function switch pulse is received. This preliminary programming ensures that when switching is required, the new function is already fully programmed and ready for immediate execution, eliminating any time loss during the actual switching moment

Inventive Principle:
Principle #10Preliminary action

3Duration of action of stationary object

If the FPGA executes the original function while being programmed, then operational continuity is maintained, but the programming process becomes complex

Engineering Contradiction:
ImproveFPGA operational continuityVSAvoidProgramming process complexity
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

Solution Approach 1:

The patent segments the programming and execution processes into separate operational phases. The FPGA's memory structure is divided into distinct blocks that can be independently programmed and executed. This segmentation allows the programming process to target specific memory blocks without interfering with the execution of functions in other blocks, simplifying the overall process while maintaining operational continuity

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9716503B2Function programmable circuit and operation method thereof
Publication Date: 2017.07.25 NUVOTON
  • US9716503B2 patent drawing
  • US9716503B2 patent drawing
  • US9716503B2 patent drawing

AI summary

A function programmable circuit and an operation method thereof are provided. The function programmable circuit includes a micro-controller unit (MCU) and a field programmable gate array (FPGA). The FPGA is coupled to the MCU, and is capable of being configured to execute a first function and work with the MCU in a first period, while the FPGA is being programmed a second function by the MCU in the same first period. The FPGA is controlled by a function switch pulse output from the MCU to terminate the first period, and switched from the first function to the second function, and then executes the second function and works with the MCU in a second period.