Hybrid Emulation Validation for Hardware-Specific Code Modules
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing hardware emulation systems are slow compared to software-based virtualization systems, and hardware emulation systems cannot interact with peripherals at the hardware level, leading to prolonged development cycles for hardware-specific code modules.
Innovation Solution
A hybrid virtualization and emulation system that combines software-based virtualization and hardware-based emulation, allowing for fast loading and execution of an operating environment while emulating hardware-specific code modules to interact with peripherals via a hardware bridge.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hardware emulation systems are used to validate hardware-specific code modules, then hardware-level interaction with peripherals is achieved, but execution speed and development cycle time are prolonged
Solution Approach 1:
The validation system is segmented into two independent parts: a virtualization system that provides fast software-based validation and a hardware emulation system that provides hardware-level interaction capability. Each part can operate independently or in combination, allowing the system to achieve both speed and hardware interaction capability without being constrained by the slower hardware emulation alone.
Solution Approach 2:
The patent merges the virtualization system and hardware emulation system into a hybrid validation platform. The virtualization system executes code modules at high speed while the hardware emulation system provides peripheral interaction capabilities. This combination allows hardware-specific code modules to be validated efficiently without waiting for actual hardware availability.
2Productivity
If software-based virtualization systems are used for fast execution, then development cycle time is reduced, but hardware-level peripheral interaction capability is lost
Solution Approach 1:
The validation functionality is segmented between software-based virtualization (for speed) and hardware-based emulation (for interaction capability). The virtualization system handles general-purpose execution and fast validation, while the hardware emulation system handles peripheral interactions that require actual hardware-level access.
Solution Approach 2:
The hardware emulation system acts as an intermediary between the software-based virtualization system and actual peripheral hardware. It emulates peripheral devices and provides hardware bridge interfaces that enable the virtualization system to interact with real peripherals through the emulation layer, maintaining hardware-level capability while using software-based execution for speed.
3Reliability
If actual hardware devices are used for validation, then hardware-specific code modules can be tested accurately, but development time is prolonged due to hardware manufacturing and availability constraints
Solution Approach 1:
The hardware emulation system provides a preliminary validation environment that can be configured and used before actual hardware devices are manufactured or available. Developers can validate their code modules on the emulation system in advance, and then transition to actual hardware when ready, eliminating the need to wait for hardware availability to begin development.
Solution Approach 2:
The hardware emulation system creates a virtual copy or model of the actual hardware device and its peripherals. This emulation copy provides identical hardware-specific functionality and peripheral interaction capabilities without requiring the physical hardware to exist. The emulation accurately replicates the hardware behavior for validation purposes while eliminating manufacturing and availability constraints.
Data Source
AI summary
This document describes systems and techniques for a hybrid virtualization and emulation system for validating a hardware-specific code module. For example, a hybrid validation system includes a virtualization system including executable code configured to run on a computing system to simulate an operating environment and to communicate with a peripheral device via a hardware-specific code module executable on an intellectual property (IP) block. A hardware emulation system is operably coupled with the virtualization system and programmable as an emulated IP block to model operation of the IP block to execute the hardware-specific code module to communicate with the peripheral device.


