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](/dw/dwtb/pcie_with_vmm/fig1.jpg)
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](/dw/dwtb/pcie_with_vmm/fig2.jpg)
Once you install the VIP, use your browser to navigate to the following location to get started:
$DESIGNWARE_HOME/vip/pcie/latest/example/svtb/index.html
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.