sinara-hw / meta

Meta-Project for Sinara: Wiki, inter-board design, incubator for new projects
50 stars 4 forks source link

low latency PCIe link for Kasli #75

Open gkasprow opened 1 year ago

gkasprow commented 1 year ago

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.

sbourdeauducq commented 1 year 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?

jordens commented 1 year ago

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.)

gkasprow commented 1 year ago

@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...

gkasprow commented 1 year ago

You are right @jordens : https://www.eetimes.com/pcie-goes-clockless-achieving-independent-spread-spectrum-clocking-without-ssc-isolation/

gkasprow commented 1 year ago

But still, I don't think Artix FPGA can work clockless with SSC PCIe link..

jordens commented 1 year ago

Isn't this what you want?

image

gkasprow commented 1 year ago

@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.

jordens commented 1 year ago

Exactly. I only mentioned it because you were unsure whether it works with Gen 2.

gkasprow commented 1 year ago

I know switches work with Gen 2. The question is if Artix 7 will work with clock-less Gen 2.

gkasprow commented 1 year ago

@jordens does Kasli use this 125MHz clock for non-MGT purposes ?

jordens commented 1 year ago

yes. it also clocks large parts of the the fabric with it.

gkasprow commented 1 year ago

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.

gkasprow commented 1 year ago

@jordens would it be a problem to clock this logic by 100MHz SSC clock (+/-30kHz) ?

jordens commented 1 year ago

For most applications not. And in your use case very unlikely