Programmable Logic Multi-Boot Configuration Across Memory Types
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional programmable logic devices face difficulties in interfacing with various non-volatile memory devices due to different instruction bits used for similar commands, leading to restrictive selection options and challenges in multi-boot reconfiguration.
Innovation Solution
A method and device that store multiple instructions, allowing selection between them and external input instructions, coupled with a command decoder to read configuration bitstreams from non-volatile memory, enabling flexible configuration and multi-boot capabilities across different memory types.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional PLDs use fixed instruction bits for memory commands, then the device structure is simple, but the adaptability to different memory vendors and types is restricted
Solution Approach 1:
The patent implements dynamic instruction selection by allowing the PLD to choose between internally stored instructions and externally provided instructions at runtime. The instruction selection mechanism can dynamically switch between different instruction sets based on the specific memory device being accessed, enabling adaptation to various memory vendors and types without fixed constraints.
Solution Approach 2:
The PLD is designed with universal instruction compatibility by incorporating both internally stored instructions and external instruction input capabilities. This multi-functionality allows the same PLD device to interface with multiple types of non-volatile memory devices from different vendors, making the device universally compatible across various memory technologies and implementations.
2Adaptability or versatility
If PLDs support multi-boot reconfiguration, then the functionality and flexibility are enhanced, but the complexity of interfacing with multiple memory devices increases
Solution Approach 1:
The patent enables dynamic multi-boot reconfiguration by allowing the PLD to selectively access different non-volatile memory devices and load different configuration bitstreams at runtime. The device can dynamically switch between multiple boot options, selecting the appropriate memory source based on configuration needs, thereby simplifying the multi-boot interfacing process.
Solution Approach 2:
The PLD acts as an intermediary between multiple non-volatile memory devices and the configuration system. By incorporating instruction selection logic and multiple memory interfaces within the PLD, it mediates the complexity of interfacing with various memory devices, allowing multi-boot reconfiguration without requiring complex external control circuitry.
3Adaptability or versatility
If PLDs use variant select pins to choose instructions, then the instruction selection is simple, but only a limited number of instructions can be selected
Solution Approach 1:
The patent expands the instruction selection capability by adding another dimension to the selection mechanism. Instead of relying solely on a limited number of variant select pins, the system incorporates internally stored instruction sets that can be selected through configuration bits and control signals. This multi-dimensional selection approach allows for a much larger number of selectable instructions beyond what pin combinations can provide.
Solution Approach 2:
The PLD pre-stores multiple instruction sets internally during device fabrication or initial configuration. This preliminary preparation of instruction sets allows the device to have immediate access to multiple instructions without requiring external provision during operation, thereby increasing the number of selectable instructions while managing the complexity through pre-configured storage.
Data Source
AI summary
A method of configuring a device having programmable logic is disclosed. The method comprises storing instructions in the device; selecting between one of the instructions stored in the device and an instruction coupled to an input/output port of the device; coupling the instruction to a non-volatile memory; and reading a configuration bitstream from the non-volatile memory based upon the selected instruction. A method of enabling a multi-boot configuration of a device having programmable logic is disclosed. The method comprises powering up the device using a first configuration bitstream from a first type of configuration device in response to a first command; receiving a reboot command; and reconfiguring the device using a second configuration bitstream from a second type of configuration device in response to a second command which is different than the first command. Circuits enabling a multi-boot configuration of a device having programmable logic are also disclosed.


