Configurable IC Debug Network for Concurrent State Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveconfiguration data loading speedVSAvoidconfiguration loading bandwidth
Core Design Contradiction:
SpeedVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Ease of operation

If prior mechanisms are used for loading configuration data, then configuration is possible, but random access capability is lacking

Engineering Contradiction:
Improverandom access capabilityVSAvoidaccess mechanism complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If configuration data is loaded sequentially, then access is simple, but debugging and monitoring capabilities are insufficient

Engineering Contradiction:
Improvedebugging and monitoring capabilityVSAvoidconfiguration loading time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #20Continuity of useful action

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8433891B2Accessing multiple user states concurrently in a configurable IC
Publication Date: 2013.04.30 TAHOE RES LTD
  • US8433891B2 patent drawing
  • US8433891B2 patent drawing
  • US8433891B2 patent drawing

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.