FPGA SPI Memory Access for Faster Configuration Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional FPGA and PLD devices have limited capability to access and update configuration data efficiently, and JTAG operations are slow and cumbersome.
Innovation Solution
A PMA system with an FPGA, controller, and NVM is introduced, utilizing SPI ports for direct memory access, enabling flexible and efficient configuration data transfer through MSPI and SSPI ports.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If JTAG operation is used to access and update configuration data, then the FPGA can be programmed after fabrication, but the access speed is slow and the operation is cumbersome
Solution Approach 1:
The patent introduces an intermediary SPI interface layer between the host controller and FPGA configuration memory. This SPI interface acts as a mediator that enables faster configuration data transfer compared to direct JTAG access, while maintaining the programmability feature of FPGAs
Solution Approach 2:
The patent replaces the mechanical/JTAG-based configuration interface with an electronic SPI interface system. This substitution uses standard SPI communication protocols and timing signals instead of the slower JTAG boundary scan mechanism, thereby increasing configuration data access speed
2Speed
If dedicated custom integrated circuits or ASICs are used to meet demand for faster and flexible hardware, then processing capability is improved, but resource consumption increases and flexibility is lost
Solution Approach 1:
The patent makes the FPGA universally applicable by enabling it to access configuration data through multiple interfaces (both JTAG and SPI). This multi-functionality allows the same FPGA device to be used in different application scenarios requiring either slow but flexible JTAG programming or fast SPI configuration, eliminating the need for dedicated ASICs in each case
3Adaptability or versatility
If conventional FPGA approaches are used to maintain flexibility, then adaptability is preserved, but the capability to access and update configuration data efficiently is limited
Solution Approach 1:
The patent makes the configuration interface dynamic by allowing the FPGA system to switch between JTAG and SPI interfaces based on operational needs. During initial programming, JTAG is used for its simplicity; during runtime updates or high-speed configuration, SPI is activated. This dynamic interface selection maintains flexibility while significantly improving configuration data update efficiency
Data Source
AI summary
A system contains a field-programmable gate array (“FPGA”), a controller, and a non-volatile memory (“NVM”) for providing user-defined logic functions. In one aspect, the controller, having a serial peripheral interface (“SPI”) port, is capable of processing information based on execution of instructions. NVM, having a memory SPI port, is configured to store configuration data persistently. FPGA includes multiple configurable logic blocks (“LBs”) configured to be selectively programmed to perform one or more user-defined logic functions in accordance with the configuration data. FPGA, in one embodiment, includes a master SPI (“MSPI”) port which is used to couple to the memory SPI port of NVM and a slave SPI (“SSPI”) port which is used to couple to SPI port of controller.


