Automatic Device Driver Generation for Virtual Hardware Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methodologies fail to generate device driver codes for hardware devices before they are available in their physical form, and existing approaches require manual implementation, leading to increased effort, cost, and error probability.
Innovation Solution
A system and method for automatically generating device driver codes in runtime environments using a device driver generator tool, processor, and memory unit with modules for receiving device programming specifications, parsing runtime specifications, determining verification environments, and generating device driver codes in specific programming languages for simulation, emulation, or virtual platforms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If device driver code is generated manually for verification environments, then the code can be customized for specific hardware characteristics, but the implementation effort, cost, and error probability increase significantly
Solution Approach 1:
The system performs preliminary actions by creating a device model in verification environment before the actual hardware device is available. The device model includes predefined hardware characteristics, register definitions, and interface specifications that are used to generate device driver code in advance, eliminating the need for manual coding later
Solution Approach 2:
The system creates a copy of the actual hardware device in the form of a device model that replicates the hardware characteristics, register map, and interface behavior. This virtual copy is used for verification and driver development, allowing automatic code generation without needing the physical device present
2Productivity
If device driver code is generated before physical hardware is available, then development can proceed in parallel with hardware fabrication, but the code must be generated for virtual models rather than actual devices
Solution Approach 1:
The system performs preliminary actions by creating a device model in verification environment before the actual hardware device is available. The device model includes predefined hardware characteristics, register definitions, and interface specifications that are used to generate device driver code in advance, eliminating the need for manual coding later
Solution Approach 2:
The device model serves multiple functions: it represents the hardware device for verification purposes, provides the interface specification for driver development, and acts as the target for automatic code generation. This multi-functionality reduces the need for separate verification and development processes
3Adaptability or versatility
If different device driver codes are written for different operating systems and hardware characteristics, then compatibility is improved, but the overall development time and effort increase
Solution Approach 1:
The system applies local quality by detecting the specific target environment (operating system, hardware platform, verification tool) and generating customized device driver code with appropriate interfaces and configurations for each target, rather than using a single generic driver
Solution Approach 2:
The system changes parameters by detecting target environment characteristics (OS type, hardware architecture, verification tool being used) and automatically adjusting the generated device driver code to match the required interface conventions, data types, and communication protocols for each specific target platform
Data Source
AI summary
A system and method for automatically generating device driver codes for a device model based on an operation of said device model in verification environments is provided. The System includes a computing device. The computing device includes a device programming specification receiving module, a run time specification parsing module, a verification environment determination module and a driver generation module. The device programming specification receiving module receives at least one device programming specification aspects associated with an operation of device model in verification environment to determine a type of device driver code to be generated. The run time specification parsing module parses a run time specification file that includes verification environment parameters in run time specification. The verification environment determination module determines whether the verification environment equals to a part of a simulation/emulation in run time specification. The driver generation module automatically generates device driver code in pre-determined output programming language.


