Dual-Mode Embedded Processor for PLD Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The embedding of processors in Programmable Logic Devices (PLDs) results in wasted circuitry, die area, and power when these processors are not utilized as general-purpose processors.

Innovation Solution

A microprocessor embedded in a PLD operates in two modes: a general-purpose mode for executing processes related to the PLD, and a fixed-function mode for emulating specific functions within the PLD's fabric, allowing for efficient use of resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a processor is embedded in a PLD, then processing capability is improved, but circuitry, die area, and power are wasted when the processor is not used as a general-purpose processor

Engineering Contradiction:
Improveprocessor functionalityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The processor is designed to perform multiple functions: it can operate as a general-purpose processor for running user applications, and as a fixed-function processor for implementing specific PLD functions such as clock management, reset generation, and interrupt handling. This multi-functionality eliminates the need for separate dedicated circuits, thereby reducing power consumption and resource waste.

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

Solution Approach 2:

The processor operates in dynamic modes that can switch between general-purpose execution and fixed-function execution based on system needs. When fixed-function operations are required, the processor executes specialized kernels that optimize performance for those specific tasks while consuming less power than full general-purpose operations.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If a processor is embedded in a PLD, then processing capability is improved, but circuitry and die area are wasted when the processor is not utilized

Engineering Contradiction:
Improveprocessor functionalityVSAvoiddie area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The processor serves multiple purposes within the PLD architecture, functioning both as a general-purpose CPU for user code and as a fixed-function unit for essential PLD operations. This eliminates the need for separate dedicated hardware blocks, thereby reducing the overall die area required for the PLD.

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

3Adaptability or versatility

If a processor is embedded in a PLD, then processing capability is improved, but circuitry is wasted when the processor is not utilized

Engineering Contradiction:
Improveprocessor functionalityVSAvoidcircuitry
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The processor is designed to replace multiple separate circuit blocks that would traditionally be needed for general-purpose processing and fixed-function operations. By consolidating these functions into a single multi-mode processor, the overall circuitry complexity is reduced while maintaining full functionality.

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

Data Source

PatentUS12223322B2Embedded processor supporting fixed-function kernels
Publication Date: 2025.02.11 MICROCHIP TECHNOLOGY INC
  • US12223322B2 patent drawing
  • US12223322B2 patent drawing
  • US12223322B2 patent drawing

AI summary

A method and apparatus for embedding a microprocessor in a programmable logic device (PLD), where the microprocessor has a logic unit that can operate in two modes. A first mode is a general purpose mode running at least one general purpose process related to the PLD, and a second mode is a fixed function mode emulating a fixed function for use by logic configured into a fabric of the PLD (fabric). A memory unit is coupled to the logic unit and to the fabric, and the fabric is operable for transferring signals with the logic unit in relation to the fixed function.