^

AR# 37752 Design Assistant for PCI Express - TLPs are corrupted in simulation

This answer record identifies an issue when your data is perfectly aligned to trn_clk or user_clk_out (AXI) in simulation.

Note: This Answer Record is a part of the Xilinx Solution Center for PCI Express (Xilinx Answer 34536). The Xilinx Solution Center for PCI Express is available to address all questions related to PCIe. Whether you are starting a new design with PCIe or troubleshooting a problem, use the Solution Center for PCIe to guide you to the right information.

If you are presenting your TLPs at the user interface perfectly aligned to the trn_clk or user_clk_out (AXI), then you may experience issues. Please make sure to slightly delay your data relative to the clock. Otherwise, the simulation may fail with otherwise unexplained issues.

For Verilog do something like this:

assign #1 new_signal = old_signal;
always @(posedge user_clk_out)
begin
new_signal = #1 old_signal;
end

For VHDL:

new_signal <= old_signal after 1 ps;
process (user_clk)
begin
if (user_clk'event and user_clk = '1') then
new_signal <= old_signal after 1 ps;
end process;
Revision History:
10/11/2010 - Initial Release
AR# 37752
Date Created 10/13/2010
Last Updated 10/13/2010
Status Active
Type
IP
  • Spartan-6 FPGA Integrated Endpoint Block for PCI Express
  • Virtex-6 FPGA Integrated Endpoint Block for PCI Express
  • Endpoint Block Plus Wrapper for PCI Express
Feed Back