Firmware Unit Test Validation Using Hybrid Simulation Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current pre-silicon validation methods for firmware face challenges in achieving both comprehensive test scenario coverage and efficiency, with existing simulations either lacking in coverage due to static data or being too costly and slow.
Innovation Solution
A hybrid validation model that records transaction data from a silicon logic simulation and applies it to a register interface simulation, balancing efficiency and cost by leveraging the advantages of both simulation types.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If silicon logic simulation is used for firmware validation, then test scenario coverage is improved, but validation efficiency and speed deteriorate
Solution Approach 1:
The validation process is segmented into two distinct simulation types: silicon logic simulation for comprehensive test scenario coverage and register interface simulation for efficient validation. Each simulation type handles specific aspects of firmware validation, allowing the system to leverage the strengths of both approaches without being constrained by the weaknesses of either.
Solution Approach 2:
Transaction data serves as an intermediary between the two simulation types. The system records transaction data from silicon logic simulation and applies it to register interface simulation, enabling efficient validation while maintaining comprehensive test coverage. This intermediary mechanism allows information to flow between the two simulation environments, bridging the gap between coverage and efficiency.
2Productivity
If register interface simulation is used for firmware validation, then validation efficiency is improved, but test scenario coverage deteriorates
Solution Approach 1:
The system performs preliminary action by recording transaction data from silicon logic simulation before applying it to register interface simulation. This preliminary recording ensures that comprehensive test scenarios are captured first, and then the same transaction data is reused in the efficient register interface simulation, guaranteeing both coverage and efficiency.
Solution Approach 2:
The system creates a copy of transaction data from silicon logic simulation and applies it to register interface simulation. This copying mechanism allows the efficient simulation to benefit from the comprehensive test scenarios generated by the detailed silicon logic simulation, without requiring repeated execution of the computationally intensive simulation.
3Loss of time
If static data is used in simulation, then validation cost and time are reduced, but test scenario coverage deteriorates
Solution Approach 1:
The system transitions from static data to dynamic transaction data in simulation. Instead of using predetermined static test data, the system records actual transaction data from silicon logic simulation and applies it to register interface simulation. This dynamic approach maintains comprehensive test scenario coverage while still achieving efficient validation through the use of the lighter-weight simulation framework.
Data Source
AI summary
Examples relate to an apparatus, device, method, and computer program for performing unit tests on firmware code, and to an apparatus, device, method, and computer program for preparing data for performing unit tests on firmware code. The firmware code is suitable for interacting with a hardware device. The apparatus comprises circuitry configured to obtain a timeline of changes of transaction data encountered at one or more interfaces of the hardware device during simulation of the hardware device, the simulation being based on one or more simulation parameters defined by one or more unit tests to be performed on the firmware code. The circuitry is configured to perform the one or more unit tests of the firmware code using the timeline of changes of transaction data of the simulated hardware device, the one or more unit tests being based on the one or more simulation parameters.


