PLD Fast Boot Using Staged I/O and Logic Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing programmable logic devices (PLDs) face challenges in achieving fast boot times due to the lengthy process of loading configuration data, which delays the provision of input/output (I/O) functionality.

Innovation Solution

The implementation of a fast boot technique for PLDs, where a portion of the I/O fabric and/or logic fabric is designated for fast boot, allowing configuration data to be loaded into specific memory cells and activating I/O functionality quickly, thereby reducing overall boot time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If configuration data is loaded into the entire PLD before activation, then the PLD can provide complete functionality, but the boot time is extended

Engineering Contradiction:
Improvecomplete functionalityVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the PLD into multiple banks (first bank, second bank, etc.) that can be configured and activated independently. Configuration data is loaded into specific banks rather than the entire device, allowing partial functionality to be provided earlier. This segmentation enables different regions of the PLD to be brought online at different times, resolving the contradiction between complete functionality and reduced boot time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent loads configuration data into configuration memory cells in advance, before the PLD is fully activated. By pre-loading configuration data into specific banks and their associated memory cells, the system prepares functionality ahead of time, allowing faster activation without compromising the eventual completeness of the device's operational capabilities.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If configuration data is loaded quickly into specific memory cells, then boot time is reduced, but I/O functionality may be unpredictable

Engineering Contradiction:
Improveboot timeVSAvoidI/O behavior predictability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent associates specific configuration memory cells with specific I/O banks, creating a localized relationship between configuration data and functional output. When configuration data is loaded into a particular bank's memory cells, the associated I/O functionality becomes predictable and reliable. This local association ensures that only fully configured banks provide I/O functionality, maintaining predictability while enabling faster partial activation.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements control logic that monitors the configuration status of memory cells and uses this information to control activation of I/O banks. The system provides feedback about which banks are fully configured and uses this feedback to determine when it is safe to activate I/O functionality, ensuring predictable behavior while minimizing boot time delays.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3506512B1Fast boot systems and methods for programmable logic devices
Publication Date: 2025.02.05 LATTICE SEMICON CORP
  • EP3506512B1 patent drawingFigure 1
  • EP3506512B1 patent drawingFigure 2
  • EP3506512B1 patent drawingFigure 3A

AI summary

Various techniques are provided to implement fast boot for programmable logic devices (PLDs). In one example, a method includes receiving configuration data associated with a PLD (200). The PLD includes an array of configuration memory cells including logic block memory cells (not shown with 225) and input/output (I/O) block memory cells (not shown with 205, 210, 215, 220) associated with the PLD's logic fabric (225) and I/O fabric (25, 210, 215, 220), respectively. The method further includes programming a subset of the I/O block memory cells (205, 210) with the configuration data, and providing a wakeup signal (245out) to activate functionality associated with a portion of the I/O fabric (205, 210). The method further includes programming remaining configuration memory cells of the array (215, 220, 225) with the configuration data, where the remaining configuration memory cells include at least a subset of the logic block memory cells (215, 220). The method further includes providing a wakeup signal (245out) to activate functionality associated with at least a portion of the logic fabric (225). Related systems and devices (230) are provided.