Device Driver Generator(DDGen) is a software tool designed for use by Embedded System Developers and IC design engineers to automate device driver and firmware development. The tool methodology allows the user to think in problem domain rather than the implementation domain by providing means to specify:

  • The Device Programming Specification (DPS) which enables the formal capture of the Programming sequence of all peripheral functionality of a SoC.
  • The run time environment specification called RTS (Run Time Specification) which enables the capture of the software and systems specification of the driver environment.

These specifications are used as input to DDGen to generate ANSI C compliant device drivers.

DDGen Flow-2

Current version of tool supports code generation for:

  • Operating Systems: Linux, Win CE, VxWorks, Null OS systems with a ready framework to quickly support other operating systems.
  • Any class of embedded devices such as Ethernet, USB, Communication, memory, or any control type of devices including DMA controller, etc…
  • Data transfer via PIO or DMA.
  • Interrupt or polling mode of operation.
  • Generates driver code in ANSI C (C and header files) that an application programmer can use in their designs
  • Register map RTL generated in Verilog


  • 3X productivity gain for firmware and device driver development.
  • Enforces the right development frame-work across design flows by providing higher level of abstraction for device and run time environment specifications.
  • Semiconductor, OEM/ODM firms can lower customer support effort by deploying the tool as first line of support
  • Allows true code re-use across ( IC and SW) teams.
  • Supports IP-XACT style specification capture Specification to aid system level verification & validation