PCI-Express
PCI-Express
PCI-E is point to point
1 lane PCIE
36 contacts arranged in two rows of 18 contacts
- A clock pait REFCLK
- Receive pair PER
- Transmit pair PET
PCI-E stack
- Physical layer - Pin toggling, 8b/10b encoding/decoding, lane disassembly/reassembly
- Data link layer - Data integrity is checked, packets are re-transmitted if required
- Transaction layer - User layer
Reading
- https://pcisig.com/sites/default/files/files/PCI_Express_Basics_Background.pdf
You might want to investigate;
- https://github.com/enjoy-digital/litepcie
- https://github.com/whitequark/Yumewatari
- https://github.com/ecp5-pcie
And a bit more peripherally related (USB3);