Protocol Proxy for Hardware Software Co-Emulation Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing electronic design verification processes face challenges in meeting time constraints for communication protocols and configuring emulators, especially when verifying complex circuit designs that require efficient interaction between hardware emulators and computer systems.
Innovation Solution
A protocol proxy is introduced to facilitate communication between an emulated electronic design and a computer system, comprising a protocol module within the emulator and a software control module outside the emulator, utilizing log, command, and reply communication channels to configure and operate the protocol proxy, ensuring appropriate latency for communication bus emulation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a hardware emulator is used to verify complex circuit designs, then verification capability is improved, but meeting time constraints for communication protocols becomes more difficult
Solution Approach 1:
The system is divided into two independent parts: the hardware emulator that handles the circuit design verification and the software simulator that handles the communication protocol verification. The protocol proxy acts as an intermediary between them, allowing each component to be optimized for its specific function without compromising the other.
Solution Approach 2:
A protocol proxy is introduced as an intermediary component that bridges the hardware emulator and the software simulator. The proxy receives commands from the software simulator, translates them into appropriate emulator operations, and returns results, thereby enabling the hardware emulator to meet time constraints while maintaining verification capability.
2Reliability
If communication protocols are emulated on a hardware emulator, then functional verification is improved, but configuring the emulator and generating logs increases system complexity
Solution Approach 1:
The communication protocol emulation functionality is extracted from the hardware emulator and placed in a separate software simulator. This extraction reduces the complexity of the emulator configuration and logging requirements, as the software simulator can handle these tasks more efficiently using standard software tools rather than hardware emulation infrastructure.
Solution Approach 2:
Instead of fully emulating the communication protocol hardware on the hardware emulator, a software copy of the protocol is simulated using the software simulator. This software copy behaves identically to the hardware protocol but with significantly reduced complexity in terms of configuration and logging.
3Reliability
If data must be made available on the communication bus within a specific time limit, then protocol compliance is improved, but the complexity of meeting these time constraints increases
Solution Approach 1:
The software simulator performs preliminary actions by pre-configuring communication parameters and preparing data packets before actual protocol execution. This allows the system to meet strict time constraints by having everything ready in advance, eliminating the need for complex real-time adjustments during protocol execution.
Solution Approach 2:
The system dynamically adjusts the timing and sequencing of data availability based on the specific protocol requirements and current system state. The protocol proxy modifies its behavior in real-time to ensure data is made available within required time limits without imposing rigid, complex time management structures on the hardware emulator.
Data Source
AI summary
The invention provides for the interaction of an emulator emulating an electronic design having a communication bus communicating with a software application over the emulated communication bus. The interaction is facilitated in such a manner as to provide an appropriate latency for the emulated communication bus. According to various implementations of the invention, a protocol proxy is provided. The protocol proxy is designed to be emulated along with an electronic design and configured to communicate to software executing on a computer connected to the emulator. The protocol proxy includes a protocol module that communicates to the electronic design being emulated in the emulator environment. Furthermore, the protocol proxy includes a software control module that communicates to the software outside the emulator through proxy communication channels. Further still, the protocol proxy includes a data storage component.


