Virtual Processor In Situ Debugging Legacy SoC Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional hardware emulators and debuggers require external components and are cumbersome for debugging legacy systems, making it difficult to perform in situ debugging without interrupting the system's normal operation.

Innovation Solution

An in situ disassembler/debugger system that uses existing hardware capabilities within the product to emulate older hardware in software, allowing for real-time debugging and disassembly without external hardware or software, enabling backward compatibility and user visibility into a data processor's operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional hardware emulators or debuggers are used to debug legacy systems, then debugging capability is achieved, but device complexity increases due to requiring external hardware components and connections

Engineering Contradiction:
Improvedebugging capabilityVSAvoidexternal hardware requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a virtual copy of the legacy processor architecture that runs alongside the original system. This virtual processor replica enables debugging functionality by simulating the legacy hardware environment in software, eliminating the need for physical external emulator hardware while maintaining full debugging capability for legacy systems

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical/physical external hardware debugger system with a software-based virtual processor environment. By substituting physical external debugging equipment with a virtualized software solution that runs on the same platform, the system eliminates complex external hardware connections while preserving debugging functionality

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

2Reliability

If external hardware debuggers are connected to target systems, then debugging access is obtained, but ease of operation deteriorates due to cumbersome connection requirements and system interruptions

Engineering Contradiction:
Improvedebugging accessVSAvoidconnection complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent merges the debugging environment with the target system by running the virtual processor and debugger tools within the same computational platform. This integration allows debugging access to legacy systems without requiring separate external hardware connections, making the debugging process as easy to operate as running any other software application

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The virtual processor acts as an intermediary between the modern processing environment and legacy system requirements. It provides a software-based interface that mediates debugging access to legacy architectures without requiring physical external hardware connections, simplifying the operator interface while maintaining full debugging capability

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If legacy hardware is emulated using external hardware emulators, then backward compatibility is achieved, but productivity decreases due to time-consuming setup and external component requirements

Engineering Contradiction:
Improvebackward compatibilityVSAvoiddebugging efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent creates software-based copies of legacy processor architectures that can be instantiated and configured rapidly. These virtual processor copies provide backward compatibility with legacy systems without requiring time-consuming external hardware setup, enabling developers to quickly emulate legacy environments for debugging and development tasks

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The virtual processor environment allows dynamic configuration and parameter changes to match different legacy system architectures. This flexibility enables backward compatibility with various legacy hardware platforms through software configuration rather than physical hardware changes, significantly improving debugging efficiency and productivity

Inventive Principle:
Principle #35Parameter changes

4Ease of operation

If in situ debugging is implemented without external components, then ease of operation improves by allowing real-time debugging, but device complexity increases due to software emulation requirements

Engineering Contradiction:
Improvereal-time debugging capabilityVSAvoidsoftware emulation overhead
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The virtual processor platform provides universal debugging capability across multiple legacy architectures through a single software environment. This multi-functional approach allows real-time debugging of different legacy systems without requiring separate external hardware emulators for each architecture, reducing overall system complexity while maintaining ease of operation

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

Data Source

PatentUS10713144B2Virtual processor enabling real-time in situ disassembly and debugging in SoC environment
Publication Date: 2020.07.14 INNOVATEPRO MANAGEMENT USA LLC
  • US10713144B2 patent drawing
  • US10713144B2 patent drawing
  • US10713144B2 patent drawing

AI summary

The example embodiments are directed to a system and method for a virtual processor that enables real-time in situ disassembly and debugging. In one example, the method includes implementing a virtual processor in field programmable gate array (FPGA) programmable logic, the virtual processor comprising a virtual version of a target system, capturing data representative of operations in the virtual processor using a bus access device configured to provide direct access to components of the virtual processor, streaming the data to the embedded processor, storing the data in the memory device, and performing in-situ disassembly and debugging.