01-10-2020 07:48 AM
Can I use an existing FPGA board with PCI finger to attach a device, instead of being the board a device to be plugged into a motherboard?
01-10-2020 08:19 AM
Logically, maybe. Phsyically it could be a problem.
The PCIe core in many of the FPGA families can be configured to be the PCIe root complex. With the appropriate microprocessor, OS and drivers, this can then perform the PCIe enumeration required to initialize a PCIe system. But not all families support this - you will have to look at the capabilities if you are using one of the earlier families.
Physically, though, it may be more complicated. The card edge fingers need to be plugged into a female connector, which is usually on a motherboard. Most motherboards with PCIe connectors expect to be the root complex. So you would have to find some cable solution that has a female connector on both ends. I know there are PCIe extenders that have female connectors on one end, but, as extenders, they have male connectors on the other end - I don't know if a female to female cable exists...
01-10-2020 02:37 PM
You might want to look at NVIDIA's Jetson Xavier board. It has a PCIe gen3 x8 slot that can be operated as either a root port or an endpoint.
1) Jetson would need to boot and configure the endpoint parameters before your FPGA performed PCIe enumeration. Boot can take many seconds.
2) When we connect two Jetsons together (1 RP, 1 EP), we use a special interposer card that provides some signal swap/isolation/buffering. You'd want to read our endpoint design guide (on the NVIDIA Jetson/embedded download site) to determine if you'd need anything like this with an FPGA card plugged in directly.
01-12-2020 11:47 AM
Thanks, connector gender shouldn't be a problem as I can make my own board being a host with a female ("receptacle" seems to be the trend these times)
01-13-2020 08:43 AM
Jetson can act as a device and has the correct connector sex, so can be used to prototype the configuration quite easily.
Still, if you're able to make your own boards, then this isn't that relevant, since you can just put the right connector on there to connect anything anyway.