ESL Virtual Platform Multi-Processing Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Electronic-system-level (ESL) virtual platforms using SystemC run slowly due to single-threaded quick threads, affecting software development and debugging efficiency, and existing acceleration methods require modifications to modeling coding styles and existing models.

Innovation Solution

A multi-processing accelerating method and system that creates a controller domain and client domains on an ESL virtual platform, enabling parallel processing through Unix domain sockets, allowing client domains to communicate and coordinate without modifying SystemC kernels or existing model codes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If single-threaded quick thread kernel is used in SystemC, then hardware parallel execution abstraction can be generated, but all models run sequentially causing very slow execution speed

Engineering Contradiction:
Improveexecution speedVSAvoidsoftware development efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments the single-threaded execution model into multiple independent client domains, each capable of executing SystemC models in parallel. The controller domain coordinates these client domains through Unix domain sockets, enabling parallel processing while maintaining the hardware parallel execution abstraction capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces Unix domain sockets as an intermediary communication mechanism between the controller domain and client domains. This intermediary enables efficient inter-process communication for coordinating parallel execution without requiring modifications to the SystemC kernel or existing model codes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If multi-threaded kernels or dependency analysis methods are used to accelerate ESL virtual platforms, then execution speed can be improved, but specific modeling coding styles must be followed and modifications to existing models are required

Engineering Contradiction:
Improveexecution speedVSAvoidmodeling coding flexibility
Core Design Contradiction:
SpeedVSEase of manufacture

Solution Approach 1:

The patent creates a virtualized execution environment that copies the SystemC model behavior into independent client domains. Each client domain receives a copy of the model and executes it independently, allowing parallelization without requiring changes to the original model code or enforcing specific coding styles.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent changes the execution parameter from single-threaded to multi-domain parallel execution. By introducing the controller domain and client domains with Unix domain socket communication, the system achieves parallelization while keeping the original SystemC model parameters and coding style unchanged.

Inventive Principle:
Principle #35Parameter changes

3Speed

If existing models are modified to enable parallelization, then execution speed improves, but the complexity of the system increases

Engineering Contradiction:
Improveexecution speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the parallelization logic into a separate controller domain that manages multiple client domains. This segmentation isolates the complexity of parallel coordination from the client domains, allowing each to execute simple SystemC models independently while the controller handles the sophisticated Unix domain socket communication and synchronization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20230342205A1Multi-processing accelerating method and system based on electronic-system-level virtual platform
Publication Date: 2023.10.26 MONTAGE TECHNOLOGY CO LTD
  • US20230342205A1 patent drawing
  • US20230342205A1 patent drawing

AI summary

A multi-processing accelerating method and a multi-processing accelerating system based on an electronic-system-level virtual platform are provided. The method includes: creating a controller domain and a plurality of client domains on the electronic-system-level virtual platform, each client domain corresponds to a process; and controlling, by the controller domain, the client domains in parallel to enable multi-processing for the client domains. The multi-processing accelerating method and the system for the electronic-system-level virtual platform can effectively accelerate the operation of the electronic-system-level virtual platform and improve the efficiency of software development of the electronic-system-level virtual platform.