PLD Real-Time Debugging via Partial Reconfiguration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging programmable logic devices (PLDs) in real-time is challenging due to the need to reset the device when configuring a tap at an interconnect to isolate functional failures, which can cause the failure condition to reset, requiring designers to wait for the failure to reoccur.

Innovation Solution

Implementing partial reconfiguration to add a debug design that taps interconnects without disturbing the existing logic design, allowing real-time debugging without resetting the PLD, by using configuration random access memory (CRAM) cells to selectively configure a subset of CRAM cells for the debug design while maintaining the original logic design.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a new configuration file is created with a tap at the interconnect to debug the design, then the designer can observe the state of the signal associated with the interconnect, but the PLD must be reset which causes the failure condition to reset and requires waiting for the failure to reoccur

Engineering Contradiction:
Improvesignal observation capabilityVSAvoiddebugging time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The configuration file is segmented into multiple configuration spaces (first configuration space for logic design, second configuration space for debug design). This allows the debug design with tap logic to be configured independently without resetting the entire PLD, enabling continuous observation of failure conditions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of configuration organization by using multiple configuration spaces. The debug design operates in a separate configuration space from the logic design, allowing simultaneous operation and eliminating the need to reset the device when adding debug functionality.

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

2Adaptability or versatility

If the PLD is reset to configure a new design with the tap, then the configuration can be updated, but the failure condition is lost and the designer must wait for intermittent failures to recur

Engineering Contradiction:
Improvedesign reconfiguration capabilityVSAvoidfailure condition persistence
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The configuration memory is segmented into multiple configuration spaces that can be independently activated. The logic design resides in one configuration space while the debug design with tap logic resides in another, allowing the failure condition to be preserved while enabling debug functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The debug design is prepared in advance in a separate configuration space without disturbing the running logic design. This preliminary configuration allows the tap logic to be ready and waiting, so when activated, the failure condition is already captured and can be observed without interruption.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If the entire PLD is reconfigured to add debug functionality, then the tap logic can be implemented, but the existing logic design configuration is disturbed

Engineering Contradiction:
Improvedebug design integrationVSAvoidconfiguration management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The configuration file is divided into multiple configuration spaces, each independently manageable. The debug design is configured in a separate space from the logic design, allowing independent configuration and activation without affecting the other, thus simplifying configuration management despite the added functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of reconfiguring the entire PLD, only the necessary portion (the debug design in the second configuration space) is configured. This partial configuration approach adds debug functionality while leaving the logic design configuration undisturbed, reducing overall configuration complexity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9098662B1Configuring a device to debug systems in real-time
Publication Date: 2015.08.04 ALTERA CORP
  • US9098662B1 patent drawing
  • US9098662B1 patent drawing
  • US9098662B1 patent drawing

AI summary

Techniques and mechanisms allow a device such as a programmable logic device (PLD) to support real-time debugging of a system. The PLD may be configured to include a debug design without disturbing the configuration of a base logic design in the PLD.