OpenPCIe: An Open-Source PCIe Controller

Peripheral Component Interconnect Express (PCIe) is a critical interface for FPGA-based accelerators, yet existing controller solutions are often proprietary, costly, and/or incompatible with open-source workflows. We present a fully open-source PCIe controller, written in synthesizable Verilog and optimized for Field-Programmable Gate Array (FPGA) deployment. The core is verified using a Python-based cocotb2.0.1 and pyuvm4.0.0 testbench with a modeled Root Complex (RC), complete with data packet generation, automated checks for enumeration, flow control, and retry mechanisms. On an AMD Xilinx AC701 (XC7A200T), the design achieves less than 6% LUT utilization, timing closure at 100 MHz user clock, and demonstrates compatibility with vendor transceivers. Reference builds also meet timing on Altera Agilex devices with similar resource utilization. All RTL, verification infrastructures, and example designs are publicly released, enabling reproducible research and accelerating the development of PCIe-enabled systems for high-speed data acquisition, NVMe front-ends, and custom FPGA accelerators.

Authors

Institutions

Publication Details

Journal
Applied Sciences
Published
2026-04-01
DOI
https://doi.org/10.3390/app16073409
Primary Topic
Embedded Systems and FPGA Applications
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

OpenPCIe: An Open-Source PCIe Controller

Lamia Mannan, David Jovel, Somoye Idris
Applied Sciences
Embedded Systems and FPGA Applications
article

OpenPCIe: An Open-Source PCIe Controller

Lamia Mannan, David Jovel, Somoye Idris
article en

Abstract

Peripheral Component Interconnect Express (PCIe) is a critical interface for FPGA-based accelerators, yet existing controller solutions are often proprietary, costly, and/or incompatible with open-source workflows. We present a fully open-source PCIe controller, written in synthesizable Verilog and optimized for Field-Programmable Gate Array (FPGA) deployment. The core is verified using a Python-based cocotb2.0.1 and pyuvm4.0.0 testbench with a modeled Root Complex (RC), complete with data packet generation, automated checks for enumeration, flow control, and retry mechanisms. On an AMD Xilinx AC701 (XC7A200T), the design achieves less than 6% LUT utilization, timing closure at 100 MHz user clock, and demonstrates compatibility with vendor transceivers. Reference builds also meet timing on Altera Agilex devices with similar resource utilization. All RTL, verification infrastructures, and example designs are publicly released, enabling reproducible research and accelerating the development of PCIe-enabled systems for high-speed data acquisition, NVMe front-ends, and custom FPGA accelerators.

Applied SciencesVol. 16(7)
Morgan State University (US)
Morgan State University
Industry, innovation and infrastructure
Openalex Percentile: Top 35%
Embedded Systems and FPGA Applications
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.