

在高速数据交换、服务器加速卡、嵌入式系统里, PCIe 接口几乎是“必备武器”。但对于很多 FPGA 工程师来说,自己实现一条 PCIe 通道从零起步仍然很困难——涉及 TLP 层、BAR 映射、DMA 引擎、收发逻辑、时钟域交叉、PHY 配置…… 好消息是,有一个开源项目 LitePCIe 为你扫清了这条路。

LitePCIe 是一个由 Enjoy‑Digital(https://github.com/enjoy-digital) 组织维护的“轻量级且可配置”的 PCIe 核心。它主要特点包括:
也就是说,如果你要在 FPGA 上实现高速 PCIe 数据通道、构建高性能卡片或加速器,LitePCIe 绝对是一个“起点即战力”的开源方案。
以下是几个核心技术亮点:
LitePCIe 支持如下 PHY 层:
这说明项目兼具“高端扩展性”和“入门门槛低”的优势。
包括 TLP 层、重排序、交叉开关、MSI 支持等,这些都是传统 PCIe 核中最难实现、但也是最关键的部分。LitePCIe 将其模块化、开源化,使 FPGA 工程师能够直接“拿来用”,再在此基础做定制。
支持DMA + Scatter-Gather、MMAP (AXI/Wishbone) 等方式进行数据读写。也就是说,这个核不只是为了 “连通 PCIe”,更是为了让你 真正在 FPGA 内部做数据搬运/加速/交互。
项目是用 Python + Migen 编写,用户既可以在 LiteX 生态中使用,也可以导出 Verilog 加入传统 FPGA 开发流程。对于国内团队来说,这意味着“开源 + 可定制 + 易迁移”。
用途:直观展示整个 LitePCIe 核心结构(PHY 层、TLP 层、DMA、跨总线等)。

用途:展示 LitePCIe 如何融入整个 LiteX 生态,与 LiteDRAM / LiteEth / LiteSDCard 等协同。



以下几个场景特别适合用 LitePCIe:
http://www.enjoy-digital.fr/experience/pcie_3g_sdi.jpg

https://www.amarisoft.com/products-lte-ue-ots-sdr-pcie/#sdr
http://www.enjoy-digital.fr/experience/pcie_ad937x.jpg

http://www.enjoy-digital.fr/experience/pcie_sfp.jpg

开源 PCIe 核意味着 不必从零开始设计 TLP/BAR/MSI 逻辑,能大幅降低难度。
支持 Python + Migen 描述,降低传统 HDL 门槛,更符合“软件化+硬件化”融合趋势(国内认可度不高)。
可以借鉴其模块化结构、平台适配方式、工具链迁移经验,助力国产 FPGA 生态建设。
LitePCIe 不仅是一个“开源 PCIe 核”,更是一个“FPGA 开发者加速器”。
它让 PCIe 从难题变成可控模块,让你在 FPGA 设计里,把更多精力放在“算法/数据流”而不是“协议细节”。
https://github.com/enjoy-digital/litepcie