Programmable IC Partial Reconfiguration via Segmented Bitstreams
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing methods for configuring programmable integrated circuits (ICs) require managing multiple configuration bitstreams, which increases production time and expense, and updates are difficult to implement, especially for non-hot swappable communication protocols, as they often necessitate power cycling and resetting external devices.
Innovation Solution
A method is introduced where a generic bitstream is used to implement a base design and a communication module, with supplemental bitstreams generated for specific designs, allowing partial reconfiguration of programmable ICs without power cycling, enabling flexible configuration and updates via established communication channels like PCIe.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If the entire bitstream for complete configuration of programmable IC is stored in non-volatile memory during manufacture, then the programmable IC can be configured with the complete design, but managing and keeping multiple different bitstreams current at the production site increases production time and expense
Solution Approach 1:
The configuration bitstream is divided into two segments: a base bitstream containing common functionality stored in non-volatile memory during manufacture, and supplemental bitstreams containing design-specific functionality stored externally. This segmentation allows the production site to use a single base bitstream for all devices while only loading specific supplemental bitstreams as needed, eliminating the need to manage multiple complete bitstreams and reducing production time.
Solution Approach 2:
The base bitstream containing common functionality is prepared in advance during manufacture and stored in non-volatile memory. This preliminary configuration allows the device to be quickly deployed with core functionality, and only requires loading supplemental bitstreams later for specific design variations, significantly reducing production time at the deployment site.
2Adaptability or versatility
If firmware updates reprogram non-volatile memory containing configuration bitstream, then the programmable IC can be updated with new bitstream, but power cycling is required which may require resetting communication interfaces
Solution Approach 1:
The configuration is segmented into a base bitstream (stored in non-volatile memory) and supplemental bitstreams (stored externally). Updates only require loading new supplemental bitstreams into external memory rather than reprogramming the entire non-volatile memory, allowing communication interfaces to remain active and avoiding resets.
Solution Approach 2:
Instead of reprogramming the entire configuration bitstream in non-volatile memory (excessive action), the system performs partial updates by only loading the changed supplemental bitstream portion into external memory. This partial action approach maintains communication interface stability while achieving the update capability.
3Adaptability or versatility
If power cycling is performed to configure programmable IC with new bitstream, then the configuration can be updated, but communication interfaces must be reset and external devices may need to be power cycled
Solution Approach 1:
By segmenting the configuration into base and supplemental bitstreams stored in different locations, the system enables updates without full power cycling. The base bitstream remains in non-volatile memory while only supplemental bitstreams are loaded from external memory, allowing configuration changes without interrupting power or resetting communication interfaces.
Solution Approach 2:
The communication interfaces and external devices remain continuously operational while supplemental bitstreams are loaded into external memory. This continuity of useful action is achieved by performing configuration updates in external memory without requiring power cycling, thus eliminating downtime while maintaining configuration flexibility.
Data Source
AI summary
A method is provided for preparing a plurality of systems that include respective programmable integrated circuits (ICs) of the same type. A plurality of circuit designs is partitioned into a base design and respective supplemental designs. The base design includes a set of input/output pins utilized by any of the plurality of circuit designs. A supplemental bitstream is generated for each of the supplemental designs. A first bitstream is generated for implementing the base circuit design, a communication module, and a reconfiguration module in a first portion of programmable resources of the programmable IC. The reconfiguration module is configured to program, in response to each respective one of the supplemental bitstreams received via the communication module, a second portion of the programmable resources with the supplemental bitstream to implement a corresponding one of the plurality of circuit designs.


