Partial Reconfiguration Bitstream Validation for Static Logic Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The flexibility of partial reconfiguration in programmable logic devices (PLDs) increases the risk of inadvertent or malicious changes to the static design, potentially causing system failure, especially when reconfigurable portions are provided by untrusted sources.

Innovation Solution

A method and apparatus for validating configuration bitstreams used for partial reconfiguration of PLDs, which involves configuring the device with a first bitstream for the static part and determining if the second bitstream for the reconfigurable part matches the static part's bit values, outputting signals to allow or disallow reconfiguration based on bit value consistency, using a bitmask to identify essential bits that must remain unchanged.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If partial reconfiguration is enabled to allow dynamic part insertion, then adaptability is improved, but reliability deteriorates due to risk of changes to static design

Engineering Contradiction:
ImproveadaptabilityVSAvoidreliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The configuration bitstream is segmented into static portion and dynamic portion, with each handled separately. The validation mechanism segments the bitstream processing to verify static bits independently from dynamic bits, allowing adaptability while protecting reliability through separate handling of configuration portions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A validation mechanism acts as an intermediary between the reconfiguration request and the actual configuration application. This intermediary verifies that dynamic configuration changes do not affect static design bits, mediating between adaptability requirements and reliability constraints.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If configuration validation is performed to prevent malicious changes, then reliability is improved, but device complexity increases

Engineering Contradiction:
ImprovereliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The validation mechanism performs partial action by only validating the portion of the configuration bitstream that corresponds to static design bits, rather than validating the entire bitstream. This reduces the complexity overhead while maintaining reliability protection for critical static portions.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The validation approach applies local quality by focusing verification efforts specifically on static design bits rather than uniformly validating all configuration bits. This targeted validation reduces overall complexity while maintaining reliability where it matters most.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7541833B1Validating partial reconfiguration of an integrated circuit
Publication Date: 2009.06.02 XILINX INC
  • US7541833B1 patent drawing
  • US7541833B1 patent drawing
  • US7541833B1 patent drawing

AI summary

Approaches for validating a configuration bitstream used for partially reconfiguring an ingrated circuit such as a programmable logic device (PLD) are disclosed. In one approach, the integrated circuit is configured with a first configuration bitstream that includes first bit values that produce an implementation of a static part of a design on the integrated circuit. Any differences between a bit value in a second configuration bitstream and a corresponding bit value of the implementation of the static part of the design are determined. The second configuration bitstream includes second bit values that produce an implementation of a reconfigurable part of the design on the integrated circuit. A first signal state is output in response to determining that there are no differences, and a second signal state is output in response to determining that there are differences.