06-19-2017 06:01 AM
I need to calculate the latency of a Virtex-7 Ultrascale GTH serdes when setup as follows.
"32-bit direct PMA output (no PCS/MAC) running at 10G".
I have found Latency data on both GTH and GTY serdes in AR66341 and AR64309, but I don't know how to manipulate this data to answer the question at hand.
Any help would be appreciated.
06-19-2017 09:33 AM
06-19-2017 10:15 AM
The appropriate way to manipulate this latency would be simulating example design and checking latency from TXDATA to RXDATA port. This should be within the range specified by these answer records. Let us know if there is any discrepancy in analysis/calculation.
06-19-2017 10:22 AM
06-19-2017 11:22 AM
One way to determine serdes latency for a specific configuration is to generate an IP core, example design, and run functional simulation.
I have to disagree (or at least partially disagree).
First - let's be clear - we are talking about a GTH, not a SERDES. The FPGA have ISERDES/OSERDES blocks for conventional serialization and deserialization. For these, you can (at least partly) use simulation to understand their behavior. But the OP specifically says the GTH here - this is not an ISERDES/OSERDES.
For the GTH, the simulation model is merely a behavioral simulation of what is essentially an analog block. The full behavior of the extremely high speed clocks within the GTH, the clock crossing, the CDR, etc... are only "grossly" modeled for simulation purposes. Furthermore, particularly when it comes to latency, this is not completely deterministic - it has to do with the bring-up and synchronization of the various parts of the GTH. The single value given in a simulation will (at best) only be one possible answer from a range, or even (at worst) not even representative of that range (since, again, the GTH simulation model is only a behavioral model).
The only way to understand the latency of the GTH is to read the user guide, which documents the factors that contribute to the latency of the GTH transmitter and receiver. This will give you a range. And, beware, this range isn't "small" - if my memory serves me, the variation can be a good number of user clock periods.
06-20-2017 03:29 AM
Thanks for getting back to me. The main issue I have is that whilst there is a massive amount of data in the AR's, I don't know which values are relevant to the configuration that I have proposed. If I can work out what values I should be using, then I can start to manipulate them.