Hardware Software Co-Simulation Synchronization Facility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current co-simulation and emulation systems for hardware and software rely on inefficient polling mechanisms, leading to interruptions and delayed request servicing due to the significant speed difference between software and hardware simulators, which hampers performance and throughput.

Innovation Solution

The introduction of synchronization facilities and hardware breakpoints allows for a permanent clock signal operation mode, enabling the hardware simulator to run continuously without software intervention, with separate channels for software and hardware requests to manage interactions efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a polling mechanism is used to service requests between software simulator and hardware simulator, then requests can be serviced, but the hardware simulator is repeatedly interrupted and performance is reduced

Engineering Contradiction:
Improverequest servicingVSAvoidhardware simulator performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The hardware simulator is enabled to autonomously service its own requests through self-service mechanisms. The hardware breakpoint detector automatically detects when requests are ready to be serviced without requiring external polling, and the hardware simulator can independently handle these requests. This eliminates the need for the software simulator to continuously poll the hardware simulator, allowing the hardware simulator to run continuously at full performance while still reliably servicing requests when they are ready.

Inventive Principle:
Principle #25Self-service

2Productivity

If the software simulator runs several orders of magnitudes faster than the hardware accelerator, then software simulation efficiency is improved, but the hardware accelerator cannot keep up and creates bottlenecks

Engineering Contradiction:
Improvesoftware simulation speedVSAvoidhardware accelerator throughput
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The system dynamically adapts the interaction节奏 between software simulator and hardware accelerator based on actual request readiness. Instead of forcing a fixed polling interval that mismatches the hardware accelerator's processing speed, the system uses hardware breakpoints to dynamically signal when the hardware accelerator is ready to service requests. This dynamic synchronization allows the software simulator to run at its high speed while the hardware accelerator processes requests at its own optimal throughput rate, eliminating bottlenecks.

Inventive Principle:
Principle #15Dynamics

3Reliability

If polling intervals are used to check for new commands, then request servicing can occur, but interruptions occur even when no requests are available

Engineering Contradiction:
Improverequest detectionVSAvoidunnecessary interruptions
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The polling mechanism is extracted and replaced with an event-driven approach using hardware breakpoints. Instead of continuously polling for requests that may not exist, the system extracts the request detection function into a hardware breakpoint detector that only activates when actual requests are ready. This eliminates unnecessary interruptions caused by polling during idle periods while maintaining reliable request detection through the hardware breakpoint mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If the hardware simulator runs continuously without software intervention, then performance is maximized, but request servicing may be delayed without synchronization

Engineering Contradiction:
Improvehardware simulator throughputVSAvoidrequest handling accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A feedback mechanism is implemented through hardware breakpoints that provide real-time information about request readiness to the software simulator. The hardware breakpoint detector continuously monitors the hardware simulator's state and provides feedback signals when requests are ready to be serviced. This feedback loop ensures that the hardware simulator can run continuously at maximum throughput while maintaining reliable request handling accuracy, as the software simulator is immediately notified and can service requests without delay when they become available.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8352231B2System for performing a co-simulation and/or emulation of hardware and software
Publication Date: 2013.01.08 GLOBALFOUNDRIES US INC
  • US8352231B2 patent drawing
  • US8352231B2 patent drawing
  • US8352231B2 patent drawing

AI summary

The present invention relates to a system for performing a co-simulation and/or emulation of hardware and software. The system includes a hardware simulator with an integrated hardware model, a hardware and/or software environment for controlling the hardware simulator and performing a software simulation and/or a direct software application, at least one synchronization facility within the hardware model for indicating a request from the hardware and/or software environment, a receiver for setting the synchronization facility into a predetermined state, and a controller for switching the hardware simulator between a free-running state and a request-handling state.