Customizable Debug Circuitry in Reconfigurable ICs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing programmable logic devices have inflexible debug and profile circuitry, which is not customizable by users and occupies valuable space in the static region, often being either excessive or insufficient for monitoring dynamic region circuitry.

Innovation Solution

A method to customize and distribute debug/profile circuitry in the dynamic region of a reconfigurable integrated circuit based on user preferences, allowing for tailored monitoring of specific kernel operations and reducing performance overhead by placing monitoring components closer to the monitored hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If debug and profile circuitry is disposed in the static region, then the circuitry is fixed and reliable, but the circuitry occupies valuable space and cannot be customized by users

Engineering Contradiction:
Improvecustomizability of debug circuitryVSAvoidspace occupied in static region
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The debug and profile circuitry is segmented from the fixed static region and placed into the reconfigurable dynamic region. This allows the monitoring circuitry to be divided into customizable components that can be selectively instantiated based on user needs, reducing space occupation while maintaining functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The debug circuitry is transformed from a static, fixed configuration to a dynamic, reconfigurable one. By placing the monitoring circuitry in the dynamic region, users can programmatically configure and customize the debug resources according to specific application requirements, enabling adaptability without permanent space commitment.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If debug circuitry is placed in the static region, then the circuitry is stable and easy to access, but the amount of circuitry is either too much or too little for monitoring user-defined circuitry

Engineering Contradiction:
Improvecustomization of monitoring capabilitiesVSAvoidamount of debug circuitry
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Instead of providing uniform debug circuitry throughout the static region, the solution places customizable monitoring circuitry in the dynamic region where it can be locally configured to match the specific monitoring needs of user-defined circuitry. This allows different parts of the system to have appropriately tailored debug capabilities.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The amount and type of debug circuitry can be dynamically adjusted by changing configuration parameters. Users can programmatically control the instantiation and behavior of monitoring circuitry in the dynamic region, allowing the system to adapt the quantity and complexity of debug resources based on specific application requirements.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If fixed debug circuitry is used in the static region, then the system is simple to implement, but performance overhead is high due to distance from monitored hardware

Engineering Contradiction:
Improveperformance of monitored operationsVSAvoidperformance overhead from monitoring
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The dynamic region acts as an intermediary between the static region and the monitored hardware. By placing monitoring circuitry in the dynamic region, it can be positioned closer to the hardware being monitored, reducing the distance and time overhead for data collection while still allowing access to debug functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10713404B1Customizable debug and profile monitoring of reconfigurable systems
Publication Date: 2020.07.14 XILINX INC
  • US10713404B1 patent drawing
  • US10713404B1 patent drawing
  • US10713404B1 patent drawing

AI summary

Embodiments herein describe reconfigurable integrated circuits (ICs) which include programmable logic that can be configured to perform a user task. In one embodiment, the programmable logic is configured as an accelerator. The user may want to gather debug data or profiling data when executing the accelerator. Rather than using debug/profile circuitry disposed in a static region of the IC, the user can provide preferences to a linker which then dynamically configures debug/profile circuitry in a dynamic region of the IC. That is, based on user preferences, the linker can generate customized debug/profile circuitry for monitoring the performance of the accelerator. In one embodiment, the debug/profile circuitry is implemented in the dynamic region of the IC and is tailored to user preferences rather than relying on static, or fixed, debug/profile circuitry. Moreover, the user can retrieve the debug/profiling data on demand using a call back and a device driver.