The Block Plus Endpoint for PCI Express should link up (trn_lnk_up_n = 0) at around 250 microseconds in simulation.
It has been found that in some cases the link up might take about 400 microseconds.
Note: If you are using v1.9.1, see (Xilinx Answer 32031)
The GTP/GTX simulation model was updated to not drive X's when simulating electrical idle.
When using 10.1sp3 or later, it is not necessary to include this work-around.
However, if you are simulating an x1 core using Verilog, there is a mistake in the board.v file that might cause some problems.
Starting in the v1.7 Core release, the Verilog version was updated with code to work around the original problem of the GTP/GTX model driving X's.
However, the x1 board.v file is incorrect and should be modified to reduce simulation time.
The current file contains these assignments:
These assignments should be changed to:
Not changing these lines in the x1 board.v file might result in longer than normal simulation times.
Using Third-Party BFMs
The GTP/GTX model will still drive X's on the bus from when GTP[X]RESET is deasserted until RESETDONE asserts as shown in this figure.
This happens immediately after sys_reset_n deasserts.
If this causes a problem with your BFM model, then possibly hold it in reset until RESETDONE asserts or add a similar work-around to the above back to the instantiation of the core and connection between the BFM and the DUT.
Here is an example for Verilog.
Replicate this for as many lanes as are in use.
Here is a similar example for VHDL x1:
Note: This does not affect simulations with the Xilinx DSPORT because the DSPORT is still going through its reset sequence during this time.
03/02/2009 - Updated to reflect GTP/GTX models fixed and third-party BFM information.
03/23/2008 - Updated to reflect v1.6.1 for 10.1 release.
11/14/2007 - Added VHDL work-around.
09/18/2007 - Initial Release of AR.