Open hardware

Your FPGA

in control of

your PCIe

Enter openPCIE backplane, the hardware backbone of PCIe systems built around your own plug-and-play host.

Most, if not all, commercial PCIe plug-in cards are wired as Endpoints. All PC mobos have their Root Complex soldered down, with their PCIe connectors designed to accept only the Endpoint plug-in cards. The two ends of the PCIe link indeed fully reinforce this state of affairs:

THE READILY AVAILABLE PCIe PLUG-IN CARDS ARE MADE TO BE ENDPOINTS. Period.

Why and When would you need this backplane?

  • To test your Root Complex PCIe protocol stack using a standard EndPoint Slot or M.2 card.
  • To build your custom PCIe embedded systems with plug-and-play (therefore easy) Host upgrades and repairs.
  • For anything else that crosses your mind and puts your creativity and our card to good work.

Honestly, this piece of FR4 is unique.

We’ve spent a ton of time looking for a ready-made board in the likes of this backplane. Our original project goal was not to develop PCBs, but the RTL for an opensource PCIe RC and off-the-shelf Artix7 plug-in card.

Having found nothing on the civilian market, we bit the bullet and put in a bunch of extra work to design and validate this one-of-a-kind backplane — Not the VME/VPX, but a distant look in that direction, fully in opensource, ready for the makers, hobbyists, researchers, students, …

By Chili.CHIPS · Together with Envox d.o.o.

openPCIE backplane prototype populated with Acorn FPGA modules and PCIe adapter cards
2 independent PCIe islands
x4 direct link routing
1 → 4 switched x1 connections
100 MHz onboard reference clock

01 / The missing piece

Bring your PCIe host and peripherals. The backplane brings it all together.

All PCIe expansion cards expect a motherboard to be in charge. The motherboard supplies reference clock and reset. Its Root Complex discovers devices and manages communication. That works well when you are developing PCIe peripherals. Building a PCIe Host itself is a whole another game.

openPCIE provides the ecosystem that Endpoint cards need, and removes mobo RC out of the way. Plug-in an off-the-shelf FPGA card, load a Root Complex design into it, then plug-in an Endpoint. Or, yet better, load Endpoint bit file into the second, identical FPGA card. You can now develop for both ends of the link, inspect the transactions, experiment with software that controls them, …

The idea that makes it possible

An Endpoint card. A Root Complex role.

The RC connectors cross the Tx and Rx diff pairs, thus an ordinary plug-in card (= Endpoint pinout) can now be used as the Host. Clock and reset are supplied by our backplane.

The FPGA still needs RC stack and Host software — The connector wiring enables only the physical connection; it does not turn an arbitrary PCIe peripheral into a Host. But, our repo has fully worked out examples, along with sim setup, for both FPGA loads: RC and EP.

Our RC CPU is not an x86 or ARM. It is a soft RISC-V inside the FPGA. Still, you can plug-in the PC or RPi and have them take on the Host role instead of FPGA.

02 / One board. MULTIPLE ways to explore.

One-for-One and One-for-Four

The two logical PCIe islands share the infrastructure and provide separate PCIe data paths. Choose the topology that fits your needs.

POINT TO POINT ISLAND

Direct connection

RC4/M.2   ⇄   EP4/Slot Four routed lanes · No PCIe switch in the path

An M.2 M-key Root Complex connector links directly to a standard PCIe Endpoint slot. This is the simplest and highest performing setup. We used it for initial testing of link training, enumeration and data transfer between two devices.

The direct connection has been successfully proven for Gen2 x4, with all four PCIe lanes active.

SWITCHED FABRIC ISLAND

Four downstream ports

An ASMedia ASM1184e PCIe 2.0 switch connects one upstream x1 link to four downstream x1 links. The provides two standard Slots and two M.2 M-key sockets.

All four ports share the upstream x1 bandwidth; adding ports does not multiply the host link’s capacity.

A closer look

Rx/Tx swap, Clock, Reset, Power

A common 12 V input feeds the board’s power conversion. The reference clock and reset circuits establish the operating environment for the plug-in devices.

The block diagram shows the connector roles and how both islands fit together. Open it at full size to inspect the details.

Open the full block diagram   ↗
openPCIE block diagram: direct four-lane island and one-to-four switched island with shared power, clock and reset

03 / What DO you WANT TO build?!

A jig for PCIe Hosts with non-host HW

01

Develop an FPGA Root Complex

Bring up a host design on a compatible FPGA, enumerate a peripheral and exercise Memory Read and Memory Write transactions. Use the direct island to keep the first experiments focused.

02

Connect a RISC-V system

Explore the broader openPCIE project’s soft RISC-V SoC, bare-metal driver and test application. Follow the path from software register accesses to PCIe traffic on real hardware.

03

Investigate switched systems

Add endpoints behind the ASM1184e and work through bridge discovery, resource assignment and shared upstream bandwidth. Device support depends on the host implementation and drivers.

04

Teach the complete stack

Give students access to the schematics, PCB, RTL, driver and simulation environment. Trace how power, reset, clocks, packets and software combine into a working system.

05

Evaluate interoperability

Use the backplane as a platform for planned cross-vendor work, including the related openCologne-PCIE Endpoint project. Compatibility must be established for each FPGA and configuration.

06

Extend a test setup

The repository also describes a PCIe jumper-cable approach for a conventional host. Follow its wiring and clocking requirements when exploring expansion or physical extension.

04 / Engineered in the open

The SI magic behind the connections

The KiCad design uses a four-layer stackup with ground and 3.3 V reference planes. High-speed differential pairs are routed as microstrips, with attention to skew, vias and connector stubs.

The PCB documentation specifies a 100 Ω ±10% differential-impedance target for data and clock signals and no more than 5 mil P-to-N skew. These are layout targets, not a substitute for measured compliance results.

A dedicated 100 MHz clock source and differential distribution support the cards. Clock-request handling and a push-button reset make repeated bring-up experiments practical.

Read the PCB design notes →

Top PCB layout view showing connector placement and routing on the openPCIE backplane
PCB layout overview. The open design lets you inspect component placement, connector roles and routing before building your own system.
KiCad view of the impedance-controlled differential pairs on the openPCIE backplane
A view of the actual differential-pair routing. Layout and signal-integrity decisions are documented alongside the design files.
KiCad 3D rendering of the openPCIE backplane with PCIe slots, M.2 sockets, clock circuitry and power input
KiCad 3D rendering. Renderings and prototype photographs may represent different design revisions.

05 / Hardware at a glance

Getting to knowing your backbone

Feature Documented design
Direct island RC4 M.2 M-key to EP4 PCIe slot; four routed lanes.
Switched island One upstream x1 link → four downstream x1 links through the ASMedia ASM1184e.
Endpoint connections Direct: one PCIe slot. Switched: two PCIe slots and two M.2 M-key sockets.
Power input Standard 6-pin PCIe connector carrying 12 V and ground.
Power budget Approximately 70 W total; documentation gives a 10 W-per-slot guideline. Budget the complete system, including conversion losses.
Slot supplies 12 V and 3.3 V as appropriate to the connector; onboard power conversion.
Reference clock 100 MHz differential PCIe reference clock with clock-request handling.
Reset PERST# distribution, supply supervision and manual reset button.
PCB Four layers; KiCad 10.0.6 design files; impedance-controlled differential-pair routing.
Validated direct-link operation Successful Gen2 x4 operation on the tested backplane configuration.
Hardware sources Editable KiCad schematics and layout, schematic PDF, BOM and functional-test documentation.

06 / From schematic to LIGHTS-up

Designed and Verified

 
openPCIE direct-link test setup with two Acorn FPGA modules and two Xilinx JTAG programmers
Direct-link validation setup: two FPGA modules, external power and independent JTAG connections.

CHECK 01

Power, reset and clocks

The prototype run included five boards manufactured by Elecrow. The project presentation reports successful factory checks of supply rails, manual reset distribution and the 25 MHz / 100 MHz clock signals.

CHECK 02

A working direct link

The project documents link establishment and payload transfer on physical FPGA hardware. Direct-link testing has also confirmed successful Gen2 x4 operation. The Endpoint LEDs display 0110, matching the decimal value 6 sent by the Root Complex.

CHECK 03

A better switch supply

Prototype testing exposed excessive heating around the switch’s 1.2 V LDO. The team reports that a buck-converter modification reduced the observed temperature to approximately 45 °C and restored stable communication. The published schematic includes a buck-based switch supply.

07 / Why this backplane?

Built for an unusual starting point

PCIe expanders already exist. What makes openPCIE different is its ability to operate an EP card as a RC, turning a peripheral into a host.

EXISTING HOST

Conventional PCIe expanders

Products such as Waveshare’s PCIe-Packet-Switch-4P expand a host connection into four Gen2 x1 sockets. That is useful when the host is already chosen and the goal is to attach more peripherals.

SINGLE-BOARD COMPUTER

Open Raspberry Pi hubs

The open PCIe3_Hub project is an example of an ASM2806-based design using Raspberry Pi 5 FPC connectors. It shows that openness alone is not the differentiator.

YOUR OWN HOST

The openPCIE approach

RC connector routing, onboard supporting circuits, a direct four-lane path and a separate switched island are combined for FPGA host experiments. The surrounding openPCIE project adds RTL, software and co-simulation to help you explore the whole system.

08 / On the bench

Real PCBs

Close-up of two Acorn CLE-215+ FPGA modules connected through the openPCIE backplane
Two Acorn CLE-215+ modules in a direct-connection experiment.
openPCIE backplane prototype populated with Acorn FPGA modules and PCIe adapter cards
The switched setup, with FPGA modules and adapter cards fitted.

09 / Open files. A complete starting point.

Going beyond the mere backplane

The backplane is part of a broader effort to open up the PCIe host stack. Read the design, study the implementation and adapt the pieces to your own experiments.

HARDWARE

Schematics, PCB and BOM

Browse the PCB source for KiCad files, the schematic PDF, bill of materials, component references and test procedure. The published schematic carries a CERN-OHL-P v2 notice.

LOGIC + SOFTWARE

Follow a PCIe transaction end-to-end

Explore the main project for the Artix-7 Root Complex work, a soft RISC-V SoC, bare-metal software, build instructions and the demonstration setup. Consult each file’s license when reusing it.

VERIFICATION

Simulate before the bench

Open the co-simulation environment to study the VProc / pcieVHost-based testbench and its CPU options. The current FPGA approach still uses AMD/Xilinx hard PCIe and transceiver blocks; removing those dependencies is a longer-term goal.

10 / Plan your setup

Bring your FPGA

For a first direct-link experiment, plan for the backplane, a compatible RC-capable FPGA module, a suitable Endpoint, the required adapters, a correctly wired 12 V supply and a programming/debug connection. The repository demonstrates Acorn CLE-215+ modules and separate JTAG programmers.

Program the RC and EP designs, apply the documented reset sequence and verify link status before testing payload transfers. The driver and test application provide a starting point for enumeration and memory transactions.

Check clock-request wiring. The prototype report found that some older M.2-to-PCIe adapters did not carry CLKREQ#. Follow the documented solution for your exact board revision and adapter.

Before choosing cards

Form factor is only the first check. Confirm connector role, lane count, power budget, reference clock, reset behavior and software support.

Choose PCIe M-key devices supported by your FPGA host design and software.

The approximately 70 W total power budget is shared across the backplane and connected devices. Check each device’s power requirements when planning your setup.

 

 

11 / The next chapter

Bring openPCIE to your lab bench

We are preparing the next step for the openPCIE Backplane on Crowd Supply. Explore the working hardware and open documentation now, and check the campaign details here as they are finalized.

CROWD SUPPLY / CAMPAIGN DETAILS

Launch information

Launch date
[LAUNCH DATE — TO BE CONFIRMED]
Campaign page
[CROWD SUPPLY LINK — TO BE ADDED]
Price & package contents
[TO BE CONFIRMED]
Estimated shipping
[SHIPPING WINDOW — TO BE CONFIRMED]

These fields are placeholders for the campaign announcement. No orders or payments are collected on this page.

ACKNOWLEDGMENTS

openPCIE is developed by Chili.CHIPS*ba, with the backplane hardware developed by Envox and simulation contributions from wyvernSemi. The project acknowledges support from the NLnet Foundation through the NGI0 Core Fund, with funding from the European Commission’s Next Generation Internet programme under grant agreement No. 101092990.

NLnet Foundation NGI Zero, Next Generation Internet wyvernSemi Envox

PARTNERS

Crowd SupplyOpen Source HardwareHacksterElecrowKickstarterSymbiotic EDAopenXC7KiCadopenEMS

Chili.CHIPS   /   FPGA · Acceleration · Algorithms   /   Back to top ↑