DesignWare Technical Bulletin Article

New VMM-Enabled PCI Express System Example

The 6.50a release of the PCI Express Verification IP (VIP) provides a new VMM QuickStart code example for users just beginning verification projects who are unfamiliar with either the VIP, the PCI Express protocol, VMM, or SystemVerilog. This is the first in a series of three QuickStarts. Two others are planned for future releases (Intermediate and Advanced versions).

The tutorial for the QuickStart example uses a step-by-step approach to show key VMM testbench tasks. The steps for all three levels are shown below.

VMM Testbench Tasks

This basic QuickStart tutorial uses the step-based approach to document critical testbench components found in every VMM-based testbench which includes:
  • Instantiation of devices
  • DUT connections to a VIP
  • Static configuration
  • Atomic transaction generator setup and use
  • Random testing
  • Directed testing
  • End of Simulation control
  • VMM log use
  • VMM env structure and use
  • Example testbench structure
  • Example makefile/runscript
The Basic QuickStart example has two VMM PCI Express devices driving a pass-through DUT. One VIP acts as a MAC device, and the other as a PHY. An atomic generator sends transactions to the PHY VIP. The complete architecture of the Basic QuickStart is shown in the following figure.

Basic QuickStart Architecture

Once you install the VIP, use your browser to navigate to the following location to get started:


The home page contains a link to instructions showing you how to run the Basic QuickStart using either a Make file or a script generated by dw_vip_setup.