Programmable IC Reconfiguration with ROM-RAM Fail-Safe Boot
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Programmable integrated circuits (ICs) face failure due to the limited number of read and write cycles in programmable read-only memory (PROM) when frequently reconfigured, leading to system failure.
Innovation Solution
Implementing a system with a read-only memory (ROM) storing a baseline configuration and a random access memory (RAM) for storing additional configurations, allowing the IC to access external data sources for reconfiguration while monitoring for errors and reverting to the baseline configuration if errors occur.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If PROM is used to store configuration data for frequent reconfiguration, then the programmable IC can be reconfigured multiple times, but the PROM will fail due to limited read/write cycles
Solution Approach 1:
The configuration storage system is segmented into two parts: PROM for storing the initial baseline configuration and RAM for storing subsequent reconfiguration data. This segmentation allows the PROM to be written only once during manufacturing, while RAM handles all subsequent reconfiguration operations, thereby protecting the PROM from excessive write cycles and extending system reliability.
Solution Approach 2:
RAM acts as an intermediary between the PROM and the programmable IC. Instead of directly reading configuration data from PROM during reconfiguration operations, the system loads data into RAM first, then reads from RAM. This intermediary role protects PROM from frequent read/write operations while enabling high-speed reconfiguration through RAM's faster access characteristics.
2Adaptability or versatility
If configuration data is stored in external PROM, then the programmable IC can be programmed, but frequent reconfiguration leads to PROM failure and system failure
Solution Approach 1:
The system transitions from a static configuration storage approach (PROM only) to a dynamic hybrid approach. RAM provides dynamic reconfiguration capability while PROM maintains a static baseline configuration. This dynamic architecture enables frequent reconfiguration operations without compromising system stability, as RAM can be rewritten indefinitely while PROM preserves the original reliable configuration.
Solution Approach 2:
The baseline configuration stored in PROM serves as a cushion or safety net before reconfiguration operations. If RAM-based reconfiguration fails or produces errors, the system can revert to the PROM-stored baseline configuration, providing a fail-safe mechanism that cushions against reconfiguration failures and maintains system reliability.
3Productivity
If multiple reconfiguration operations are performed, then the programmable IC can adapt to different functions, but the PROM experiences wear and eventually fails
Solution Approach 1:
The system creates a copy of the baseline configuration from PROM into RAM before reconfiguration operations. Subsequent reconfiguration data is stored in RAM rather than PROM. This copying mechanism allows numerous reconfiguration cycles to occur in RAM without affecting PROM, effectively decoupling the number of reconfiguration cycles from PROM wear and extending PROM's operational lifetime.
Solution Approach 2:
RAM is used as a disposable or temporary storage medium for reconfiguration data. Since RAM can be rewritten indefinitely and is relatively inexpensive compared to the overall system value, it serves as an ideal medium for frequent reconfiguration operations. The PROM, being more durable but limited in write cycles, is preserved for its primary function of storing the baseline configuration, while RAM absorbs the wear from frequent reconfiguration cycles.
Data Source
AI summary
Within a system comprising a programmable integrated circuit (IC), a method can include storing a first configuration within the system in a read-only memory that is independent of the programmable IC. The programmable IC, being loaded with the first configuration, comprises a circuit that accesses a data source external to the system over a communication link. A second configuration can be downloaded by the programmable IC from the data source. The second configuration can be stored within a random access memory within the system that is independent of the programmable IC. Responsive to a reconfiguration event, the programmable IC can be loaded with the second configuration from the random access memory.


