cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
muravin
Scholar
Scholar
472 Views
Registered: ‎11-21-2013

TPWS Violation on PCIe PIPECLK

Hi All,

We have a design running PCIe Gen 2 x4 (Artix-7, XC7A35T-2CSG325), that has intermittent PCIe packet (TLP) drops. The drops are random for every large DMA transfer.

I have an impression that these drops are related to the bitfile that has a TPWS violation on the PIPECLK. Once in several iterations we do get a clean bitfile with no TPWS violations, and it seems (not 100% sure) that such bitfile does not drop TLPs.

We generate the PCIe Endpoint using VIVADO 2018.3, without any manual intervention or changes etc. We are using it in 64-bit mode (250 MHz) and are working on 128-bit support to drop the clock rate.

Can Xilinx please comment on this? Is this really the limit? The FPGA usage is about 30% slices. I attach the screenshot for illustration.

Thank you

Vlad

Vladislav Muravin
MicrosoftTeams-image.png
2 Replies
ryanjohnson8
Explorer
Explorer
178 Views
Registered: ‎05-30-2017

I am having the same problem with TPWS failing in the PCIe core. Could someone please help?

 

pcie_pipeclk.png
0 Kudos
yashp
Moderator
Moderator
131 Views
Registered: ‎01-16-2013

Hi,

TPWS (pulse width violations) has two types of violations generally those are minimum pulse width and max skew.

In above post I can see max skew issue. TPWS are silicon level requirements and those cannot be solved using exception constraints and cannot be ignored for expected hardware results.

Max skew violations states that the skew requirement for coreclk and pipeclk is beyond expectation. The required skew or maximum allowed skew between two clock is 0.410ns but in your design is is 0.511 hence -0.101ns as slack.

Need to manage clocking topology, clock placement etc in order to fix these violations. Ultimately you need to reduce the relative skew between two clocks in the range of requirement to get it fixed.

Thanks,
Yash

0 Kudos