Automatic Device Driver Generation for Virtual Hardware Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedevice driver code accuracyVSAvoidimplementation effort
Core Design Contradiction:
ReliabilityVSEase of manufacture

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improvedevelopment speedVSAvoidverification environment setup
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improveoperating system compatibilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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

Inventive Principle:
Principle #3Local quality

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

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10007492B2System and method for automatically generating device drivers for run time environments
Publication Date: 2018.06.26 VAYAVYA LABS
  • US10007492B2 patent drawing
  • US10007492B2 patent drawing
  • US10007492B2 patent drawing

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.