Open gkasprow opened 2 years ago
- a special PCIe to QSFP adapter equipped with PCIe bridge
Doesn't this increase latency? Would it make sense to use Infiniband instead at this point?
Why not do all of them? I.e. add a variant that clocks MGTREFCLK1 from an external source for those that want to play with it and as a backup option to PCIe over SFP+/QSFP. For Gen2 SSC CDR also known to work if you use a PCIe switch that supports it (https://www.renesas.com/us/en/document/apn/715-multi-port-ssc-support-idt-pcie-gen2-switches?language=en e.g.)
@jordens I don't see in this note a scenario where PCIe switch could retrieve data from SSC -clocked link without having additional SSC clock channel... @sbourdeauducq Of course, additional switch will add latency but it is in order of <1us usually. For example PEX8749 has 126ns max latency. But PCIe is common and cheap interface unlike the Infiniband. You can even hook up a laptop with Thunderbolt which has exposed PCIe...
But still, I don't think Artix FPGA can work clockless with SSC PCIe link..
Isn't this what you want?
@jordens this is the scenario I described in second point (clock isolation) and we use it already. But that requires PCIe switch or purchase of existing PCIe to QSFP adapter.
Exactly. I only mentioned it because you were unsure whether it works with Gen 2.
I know switches work with Gen 2. The question is if Artix 7 will work with clock-less Gen 2.
@jordens does Kasli use this 125MHz clock for non-MGT purposes ?
yes. it also clocks large parts of the the fabric with it.
PCIe core in 7-series FPGA can be clocked with 125MHz, so we only need to check if it works in asynchronous mode. And the easiest way to go is to use the SSC isolation switch.
@jordens would it be a problem to clock this logic by 100MHz SSC clock (+/-30kHz) ?
For most applications not. And in your use case very unlikely
We have a few QC applications where the latency of Ethernet is dominating. We plan to develop a direct PCIe link that would run in parallel to Ethernet and would be dedicated to dumpling memory content directly with a delay of a few tens of us. There are a few ideas how to do so.