Programmable IC Configuration Bitstream Segmentation for Process Variation Compensation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Programmable integrated circuits face challenges in compensating for process variations and mask revisions, which affect the performance of analog circuitry and require manual generation of different bitstreams for various process corners and mask revisions.

Innovation Solution

A programmable IC with two programming ports, non-volatile memory, and a configuration control circuit that monitors configuration bitstreams for code keys to apply configuration data selectively to digital and analog circuits, reducing the need for multiple bitstream versions by storing process corner or mask revision information in non-volatile memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual generation of different bitstreams is used for different mask revisions, then compensation for process variations is achieved, but device complexity and time consumption increase

Engineering Contradiction:
Improvecompensation for process variationsVSAvoidcomplexity of configuration data
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the bitstream into multiple parts: a first portion that is common across all mask revisions, and a second portion that is selectively applied based on the specific mask revision. This segmentation allows the system to maintain a single base bitstream while applying only the necessary revision-specific portions, thereby reducing overall complexity while still achieving compensation for process variations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by pre-identifying and storing identification information for different mask revisions in non-volatile memory during manufacturing. This preliminary tagging of devices with their specific revision identifiers enables automatic selection of the appropriate bitstream portion during configuration, eliminating the need for manual intervention and reducing the complexity of managing multiple complete bitstream versions.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If manual generation of different bitstreams is used for different mask revisions, then compensation for process variations is achieved, but time consumption increases

Engineering Contradiction:
Improvecompensation for process variationsVSAvoidtime for generating bitstreams
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-storing mask revision identification information in non-volatile memory during the manufacturing process. This allows the configuration system to automatically identify and apply the correct bitstream portion without requiring manual intervention, significantly reducing the time required to generate and apply configuration data for different mask revisions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service by enabling the programmable logic device to automatically determine which bitstream portion to apply based on its own stored identification information. The device autonomously selects the appropriate configuration data without external manual input, thereby eliminating the time-consuming manual generation process while maintaining accurate compensation for process variations.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If multiple bitstream versions are maintained for different process corners, then adaptability is improved, but manufacturing complexity increases

Engineering Contradiction:
Improveadaptability to process cornersVSAvoidease of manufacture
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent segments the configuration data into a common first portion and revision-specific second portions, allowing a single manufacturing process to produce devices that can be configured for different process corners. Instead of manufacturing different devices for different corners, the segmentation enables software-based adaptation, simplifying the manufacturing process while maintaining adaptability to various process conditions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies universality by creating a universal base bitstream that can serve all mask revisions and process corners, with only the second portion needing to vary. This multi-functional approach allows a single manufacturing line to produce devices adaptable to multiple process conditions, eliminating the need for separate manufacturing processes for each process corner and thereby improving ease of manufacture while maintaining adaptability.

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

Data Source

PatentUS7529993B1Method of selectively programming integrated circuits to compensate for process variations and/or mask revisions
Publication Date: 2009.05.05 XILINX INC
  • US7529993B1 patent drawing
  • US7529993B1 patent drawing
  • US7529993B1 patent drawing

AI summary

Methods of compensating for process variations and/or mask revisions in a programmable integrated circuit (IC). A non-volatile memory in the IC stores a value representing a process corner and/or mask revision for the IC. A configuration control circuit monitors a configuration bitstream provided to the programmable IC. When no code key is received, configuration data is applied to a first (e.g., digital) circuit. When a code key is identified, the code key is compared to the stored value. If there is a match, the subsequent configuration data is applied to a second (e.g., analog) circuit. If there is no match, the subsequent configuration data is ignored until an “unlock” command is detected in the bitstream. Thus, the configuration data for the digital circuit need be included only once in the bitstream, while the configuration data for the analog circuit is supplied once for each supported process corner or mask revision.