Configurable IC Debug Network for Concurrent State Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current mechanisms for loading configuration data into configurable integrated circuits (ICs) are slow and provide low bandwidth, lacking random access capabilities, and there is a need for improved debugging and monitoring tools for these ICs.
Innovation Solution
A configuration/debug network that uses packet switching technology to route variable length data packets to configurable tiles, allowing sequential or random access, and includes features like streaming mode for debugging, checkpointing, and broadcasting to facilitate efficient configuration and debugging of configurable ICs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If prior mechanisms are used for loading configuration data, then the IC can be configured, but the loading speed is slow and bandwidth is low
Solution Approach 1:
The configuration data is divided into multiple banks (first bank, second bank, third bank, fourth bank) that can be accessed independently and concurrently. This segmentation allows parallel loading of configuration data through multiple ports, significantly increasing bandwidth and loading speed compared to sequential access methods.
Solution Approach 2:
The patent introduces a multi-dimensional access architecture with multiple ports (first port, second port, third port, fourth port) that can simultaneously access different banks. This transforms the single-dimensional sequential access into a multi-dimensional parallel access structure, enabling concurrent configuration operations.
2Ease of operation
If prior mechanisms are used for loading configuration data, then configuration is possible, but random access capability is lacking
Solution Approach 1:
The configuration memory system is designed to support multiple access modes (sequential and random) through multiple ports that can independently address any bank. This universal access capability allows the same memory structure to serve both sequential configuration loading and random access debugging operations without requiring separate mechanisms.
Solution Approach 2:
The patent introduces a configuration controller that acts as an intermediary between the external interface and the multi-bank memory structure. This controller manages the complex addressing and routing logic, providing simple random access capability to users while handling the underlying complexity of the segmented memory architecture.
3Reliability
If configuration data is loaded sequentially, then access is simple, but debugging and monitoring capabilities are insufficient
Solution Approach 1:
The multi-bank architecture allows configuration loading to proceed continuously through parallel ports while debugging operations can simultaneously access specific banks. This eliminates idle time and allows useful actions (configuration and debugging) to occur concurrently without interruption or sequential waiting.
Solution Approach 2:
The system allows preliminary configuration of certain banks while other banks are being debugged or monitored. This preliminary action capability enables parts of the configuration to be loaded and validated in advance, reducing overall configuration time and enabling iterative debugging without restarting the entire configuration process.
Data Source
AI summary
Some embodiments of the invention provide a configuration/debug network for configuring and debugging a configurable integrated circuit (IC). The configurable IC in some embodiments includes configurable resources (e.g., configurable logic resources, routing resources, memory resources, etc.) that can be grouped in conceptual configurable tiles that are arranged in several rows and columns. Some embodiments allow tiles to be individually addressed, globally addressed (i.e., all addressed together), or addressed based on their tile types. The configurable IC includes numerous user-design state elements (“UDS elements”) in some embodiments. In some embodiments, the configuration/debug network has a streaming mode that can direct various circuits in one or more configurable tiles to stream out their data during the operation of the configurable IC. Accordingly, in the embodiments where the configuration/debug network connects to some or all of the UDS elements, the configurable/debug network can be used in a streaming mode to stream out data from the UDS elements of the tiles, in order to identify any errors in the operation of the IC. In other words, the streaming of the data from the UDS elements can be used to debug the operation of the configurable IC. In some embodiments, the configuration/debug network has a broadcasting mode that can direct various resources (e.g., memories, storage elements, etc.) in one or more configurable tiles to store the same data. For instance, the broadcasting mode can be used to initialize the memory blocks in the configurable memory tiles.


