Unified Hardware Software Debugging Interface

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current debugging tools are often language-specific, requiring developers to use multiple debuggers for projects involving multiple programming languages, and integrated development environments (IDEs) typically support only seamless debugging within one programming language, making it inconvenient to debug applications implemented in multiple languages.

Innovation Solution

The system enables unified debugging by allowing users to define debugging information in a high-level programming language, which is then converted into lower-level languages such as C code or Java code, providing a unified interface for debugging applications that combine declarative and imperative programming languages, hardware code, and software code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple language-specific debuggers are used for multi-language projects, then debugging capability for each language is maintained, but device complexity and ease of operation deteriorate due to requiring multiple tools and switching between IDEs

Engineering Contradiction:
Improvedebugging capabilityVSAvoidnumber of debuggers
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent combines multiple language-specific debugging capabilities into a single unified debugger that can handle hardware description languages, compiled software languages, and interpreted languages simultaneously. This merging eliminates the need for multiple separate debugger tools while maintaining comprehensive debugging capability across all language types.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified debugger is designed with multi-functionality to support debugging of applications implemented in various programming languages including hardware description languages, compiled software languages, and interpreted languages. This universal approach allows a single tool to perform the roles of multiple specialized debuggers.

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

2Adaptability or versatility

If multiple language-specific debuggers are used for multi-language projects, then debugging capability for each language is maintained, but ease of operation worsens due to requiring to switch between IDEs

Engineering Contradiction:
Improvedebugging capabilityVSAvoidconvenience of debugging
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent combines multiple language-specific debugging capabilities into a single unified debugger that can handle hardware description languages, compiled software languages, and interpreted languages simultaneously. This merging eliminates the need for multiple separate debugger tools while maintaining comprehensive debugging capability across all language types.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified debugger is designed with multi-functionality to support debugging of applications implemented in various programming languages including hardware description languages, compiled software languages, and interpreted languages. This universal approach allows a single tool to perform the roles of multiple specialized debuggers.

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

3Ease of operation

If IDEs support seamless debugging within one programming language, then ease of operation is improved for single-language projects, but adaptability worsens when debugging applications in multiple languages

Engineering Contradiction:
Improvedebugging convenienceVSAvoidmulti-language support
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The unified debugger is designed with multi-functionality to support debugging of applications implemented in various programming languages including hardware description languages, compiled software languages, and interpreted languages. This universal approach allows a single tool to perform the roles of multiple specialized debuggers.

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

Solution Approach 2:

The system uses an intermediary approach by converting high-level debugging information into lower-level languages and utilizing a unified interface that can interpret and execute debugging commands across different language types, enabling seamless multi-language debugging without requiring language-specific tools.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9489283B1Unified hardware and software debugging
Publication Date: 2016.11.08 MATHWORKS INC
  • US9489283B1 patent drawing
  • US9489283B1 patent drawing
  • US9489283B1 patent drawing

AI summary

A device receives information specifying a functional model that includes a set of variables and a set of computations, and receives debugging information associated with the functional model. The device generates computer code based on the set of computations associated with the functional model, the set of variables associated with the functional model, and the received debugging information. The device executes the generated computer code based on the debugging information.