Docs and Tutorials

Welcome to the Embedded UVM Documentation and Tutorials!


On the left side of each page in the docs is a table of contents, organized into sections that can be expanded to show the topics theycover. Both the sections and the topics within each section are ordered from the most basic concepts to the more advanced.

The docs begin with an explanation of how to get started with E-UVM, followed by a tutorial on how to build your first E-UVM based testbench. If you're brand new to E-UVM, we recommend you start off by
following along with these first two sections of the docs.


While we try to make the docs as beginner-friendly as we can, we must establish a baseline so that the docs can keep focused on E-UVM usage and methodology. We will try to link to appropriate documentation
whenever a concept is introduced.

To make the most out of the docs, you should have a working knowledge of:

  • Basic Functional Verification Concepts - If you are new to functional verification, it may be a good idea to learn from friendly websites like
  • Universal Verification Methodology - While you are welcome to use E-UVM as a medium to understand Universal Verification Methodology, this site is not a substitute for the UVM User Manual that can be found at Accellera website
  • The D Programming Language - E-UVM is a Domain Specific Language built on top of The D Programming Language. While you may try out E-UVM examples without any D background, you will not be able to get the full potential of E-UVM without learning to program in D.

Reporting a problem in the docs

Typos, missing words, code samples with errors are all considered documentation bugs. If you spot one of them, or want to otherwise improve the existing docs, we are happy to help you help us!

Some of the more common ways to report a problem with the docs are:

  • Using the pencil icon on the top-right of each docs page
  • Opening an issue/pull request to the GitHub repository

Clicking the pencil icon will bring you to GitHub's editor for that docs so you can edit right away, using the Markdown markup language. This is the fastest way to correct a typo, a missing word, or an error in a code sample.

If you wish to make a more significant contribution be sure to check our issue tracker to see if your issue is already being addressed. If you don't find an active issue, open a new one.

Good luck!