Skip to content

mwrnd/OpenCAPI-to-PCIe_x4_Host_and_Endpoint

Repository files navigation

Work-In-Progress: Design being tested.

OpenCAPI to PCIe x4 Host and Endpoint

Designed to test simultaneous PCIe Host and Endpoint operation with the Innova-2.

OpenCAPI to PCIe x4 Host and Endpoint Adapter

There are two PCIE4 blocks in the column of the Innova-2's OpenCAPI Quads.

Innova-2 OpenCAPI Banks

The GTY Transceivers connected to the OpenCAPI Connector are in a column that does not contain the Configuration Block so it is impossible for the FPGA to be programmed within the 100ms PCIe power-up time limit. Motherboard boot must be delayed to allow the FPGA to configure itself before PCIe devices are enumerated. This can be accomplished by toggling the POWER button, then pressing and holding the RESET button for a second before releasing it. Or, connect a capacitor across the reset pins of an ATX motherboard's Front Panel Header.

Delay Boot Using Front Panel Header Capacitor

OpenCAPI-compatible SlimSAS 8x uses a Host version of the OpenCAPI Carrier pinout from the ADM-PCIE-9V5 User Manual (Pg15-19of38).

Testing

OpenCAPI to PCIe x4 Host and Endpoint in a System

TODO

OpenCAPI I2C

The innova2_xdma_opencapi project includes the ability to test I2C.

Testing I2C using TC74

PCB Layout

All differential pairs are length-matched to within 1mm intra-pair (N-to-P) and each group of differential pairs (e.g., TX0-to-TX3) is similarly matched to within 1mm.

OpenCAPI to PCIe Host and Endpoint PCB Layout

Schematic

OpenCAPI to PCIe Host and Endpoint Schematic

Bill Of Materials

Designator(s) Part Number Quantity Value Footprint Availability
U1 SY75572LMG 1 N/A QFN-16-1EP_3x3mm_P0.5mm DigiKey
U2 DSC1124BI2-100-0000 1 N/A OSC_SMD_IDT_JS6-6_5.0x3.2mm_P1.27mm DigiKey
J1 U10A474240T 1 N/A SlimSAS_8x_RA_U10-A474 DigiKey
J2 PPPC061LFBN-RC 1 N/A PinHeader_1x06_P2.54mm_Vertical DigiKey
J4 2-2387405-2 1 N/A PCIe x4 Straddle Mount w/ Open End DigiKey
JP1 2PH1-02-UA 1 N/A PinHeader_1x02_P2.00mm_Vertical DigiKey
R31 to R36 RT0402FRE0733RL 6 33-Ohm Resistor_SMD_R_0402_1005Metric DigiKey
R51 to R56 RT0402FRE0749R9L 6 49.9-Ohm Resistor_SMD_R_0402_1005Metric DigiKey
R1 RT0402FRE07475RL 1 475-Ohm Resistor_SMD_R_0402_1005Metric DigiKey
R2, R5 RT0402FRE0751KL 2 51k-Ohm Resistor_SMD_R_0402_1005Metric DigiKey
L1, L2 BLM15PX601SN1D 2 600@100MHz Resistor_SMD_R_0402_1005Metric DigiKey
C4 KGM05AR71C103KH 1 0.01uF Capacitor_SMD_C_0402_1005Metric DigiKey
C1, C2, C3 KGM05AR51A104KH 3 0.1uF Capacitor_SMD_C_0402_1005Metric DigiKey
C5 CL21B105KAFNNNE 1 1uF Capacitor_SMD_C_0805_2012Metric DigiKey
J7, J8 2337019-1 2 U.FL(UMCC) U.FL_Hirose DigiKey
Jumper SPN02SYBN-RC 1 N/A 2mm Shunt DigiKey

Optional: TC74Ax-3-3VAT I2C Temperature Sensor for testing I2C.

Assembly Notes

Use needle-nosed pliers to remove the PCIe x4 Connector's mounting post.

Remove PCIe x4 CONNECTOR Mounting Post

Three wire jumpers are needed to connect 3V3==3V3_PCIe, nPERST==RST, and nPRSNT1==nPRSNT2_x4.

PCB Layer Stackup

4-Layer PCB stackup taken from JLCPCB.

PCB Layer Stackup

Differential Impedance parameters were calculated using the DigiKey Online Calculator.

PCB Differential Impedance Calculation

About

OpenCAPI to PCIe x4 Host and Endpoint

Resources

License

Stars

Watchers

Forks