We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 30052

LogiCORE Endpoint PIPE for PCI Express - How do I incorporate NXP Phy model into simulation environment?


How can I incorporate the NXP PX1011A PHY model into my simulation environment with the Xilinx Endpoint PIPE for PCI Express solution?


The Xilinx Endpoint PIPE for PCI Express PIO example design files are provided when generating the core through CORE Generator. The PIO example design is intended to be simulated alongside a NXP PHY behavioral model and the PHY model must be obtained through Phillips. Refer to Chapter 2 of the "LogiCORE Endpoint PIPE for PCI Express Getting Started Guide" for further instructions on obtaining this model. The Getting Started Guide is located at:


A ModelSim .do file is also provided when generating the core and should be used to simulate the PIO example design.

Additional environment changes are needed when incorporating the NXP PHY model into the simulation environment. There are a number of ways to add the NXP PHY model to the simulation and one of the flows is defined below.

After receiving the model from NXP, the model hierarchy should look similar to the following figure:

Figure 1. NXP PHY directory structure
Figure 1. NXP PHY directory structure

1. The PIO example design provides placeholders for the PHY behavioral models in the "simulation" directory provided with the core. Replace the files px1011a.v and px1011a_pli.v in the simulation directory with the actual models located in the "shells" directory shown in Figure 1. The following text is displayed in the simulation console window if this step is not completed:

Dear Customer,

In order to simulate the Xilinx PCI Express Endpoint

Core with PXPIPE interface, a simulation model of the

NXP PX1011A-EL1 PCI Express PHY is required. This

model is the property of NXP (formerly Philips

Semiconductors), and is not included with the Xilinx


Various simulation models for commonly used tools are

available. Please visit our NXP web page, download the

no-charge end-user license agreement, sign, scan and

email back to interface.support@nxp.com


Be sure to include your complete contact information

in your correspondence so that we can reply to your

request as quickly as possible.

For data sheets, application notes, boundary scan files

and other technical support documents, please visit:


Thank you,

NXP Semiconductors

2. Add two paths to the PATH system environment variable so that simulation software can grab the necessary files to model the Phillips PHY. The two paths that must be added are as follows:



Figure 2. PATH System Variable addition
Figure 2. PATH System Variable addition

3. Add the -pli switch to the models call within the provided "simulate_mti.do" file. The switch is defined as follows:

-pli <path_to_user_directory>/PX1011A_model/tools/lib/libpli.dll

An example vsim call is as follows:

vsim -pli C:/sys_io/pci_express/pipe/pipe_phy_model/PX1011A_model/tools/lib/libpli.dll +notimingchecks +TESTNAME=sample_smoke_test0 -L work work.boardx01 glbl

When the model is loaded correctly, the models console should state the following:

# Loading C:/sys_io/pci_express/pipe/pipe_phy_model/PX1011A_model/tools/lib/libpli.dll

The following output is displayed when the example simulation is successful:

# Running test {sample_smoke_test0}......

# [ 0] : System Reset Asserted...

# [ 4995000] : System Reset De-asserted...

# [ 8522100] : Transaction Reset Is De-asserted...

# [ 81818100] : Transaction Link Is Up...

# [ 81818100] : Expected Device/Vendor ID = 000710ee

# [ 81818100] : Reading from PCI/PCI-Express Configuration Register 0x00

# [ 81914000] : TSK_PARSE_FRAME on Transmit

# [ 85850000] : TSK_PARSE_FRAME on Receive

# [ 88314000] : TEST PASSED --- Device/Vendor ID 000710ee successfully received

# ** Note: $finish : ../tests/sample_tests1.v(30)

If the following console errors occur, it is likely that steps two or three above were not correctly implemented:

# ** Error: (vsim-3197) Load of "./mti_omi_adapter_veriuser.sl" failed: libomi_adapter05.30s005.so: cannot open shared object file: No such file or directory.

# ** Error: (vsim-PLI-3002) Failed to load PLI object file "./mti_omi_adapter_veriuser.sl".

For help and support on obtaining and using the NXP model, contact NXP semiconductors at:


AR# 30052
Date Created 01/21/2008
Last Updated 12/15/2012
Status Active
Type General Article