FPGA On-Chip Instrumentation for Automatic Signal Debug

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The process of instrumenting field-programmable gate arrays (FPGAs) for performance evaluation and troubleshooting is time-consuming and requires manual setup changes when design modifications occur, leading to prolonged development times.

Innovation Solution

An automated method for on-chip instrumentation in FPGAs that identifies ports, signals, and memory/I/O components using high-level and low-level instrumentation specifications, generating waveform data and triggering information without explicit user setup, facilitated by software modules like high-level synthesis tools, instrumentors, and waveform viewers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If manual instrumentation setup is used, then measurement precision can be controlled, but development time increases significantly

Engineering Contradiction:
Improvedevelopment timeVSAvoidinstrumentation setup automation
Core Design Contradiction:
Loss of timeVSExtent of automation

Solution Approach 1:

The system enables self-service instrumentation by automatically generating instrumentation configurations based on design descriptions. The automated instrumentation generator analyzes the design and creates instrumentor configurations without requiring manual user setup, allowing the system to instrument itself and eliminating the need for developer intervention in the instrumentation setup process

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary action by pre-generating instrumentation specifications and configurations before the actual measurement process. The automated instrumentation generator creates the complete instrumentor configuration in advance based on the design description, so that when measurement is needed, the instrumentation is already ready to use without requiring manual setup time

Inventive Principle:
Principle #10Preliminary action

2Productivity

If manual instrumentation setup is performed, then instrumentation can be precisely configured, but productivity decreases

Engineering Contradiction:
Improvedesign development productivityVSAvoidtime for instrumentation setup
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent replaces the manual mechanical process of instrumentation setup with an automated software-based system. The automated instrumentation generator uses software algorithms to analyze design descriptions and generate instrumentation configurations, substituting the manual mechanical act of manually configuring instrumentors with an automated computational process that is both faster and more consistent

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If instrumentation is set up for a specific design, then measurement precision is optimized, but adaptability to design changes deteriorates

Engineering Contradiction:
Improveadaptability to design changesVSAvoidtime to reconfigure instrumentation
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system implements dynamics by making the instrumentation configuration adaptive and changeable. The automated instrumentation generator creates configurations that can dynamically adjust when design changes occur, allowing the instrumentation to adapt to new design requirements without requiring manual reconfiguration. The system maintains flexibility while optimizing for the current design state

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250378246A1Automated on-chip instrumentation for use with field-programmable gate arrays
Publication Date: 2025.12.11 MICROSEMI SOC CORP
  • US20250378246A1 patent drawing
  • US20250378246A1 patent drawing
  • US20250378246A1 patent drawing

AI summary

A method for providing on-chip instrumentation comprises receiving a source code which specifies a design to be programmed into a field programmable gate array (FPGA); generating a high-level instrumentation specification derived from the source code and which indicates levels of components in the FPGA to instrument; generating a low-level instrumentation specification derived from the high-level instrumentation specification and which identifies specific components in the FPGA to instrument; receiving a dumpfile that includes data regarding the specific ports, the specific signals, and the specific operating parameters derived from data received from the FPGA; generating a waveform update file that includes data from the FPGA regarding the specific ports, the specific signals, and the specific operating parameters, the data generated in a format for viewing in a waveform viewer; and generating triggering data to determine a plurality of times at which the specific signals are sampled.