资讯动态

如何快速上手LitePCIe:从安装LiteX环境到生成第一个PCIe核心的5步教程

发布时间:2026/8/23 12:36:44 来源:尧图企业网站定制
如何快速上手LitePCIe从安装LiteX环境到生成第一个PCIe核心的5步教程【免费下载链接】litepcieSmall footprint and configurable PCIe core项目地址: https://gitcode.com/gh_mirrors/li/litepcieLitePCIe是一款由 EnjoyDigital 开发的小面积、可配置 PCIe 核心基于 Migen 与 LiteX 框架实现。本教程将带你从零开始在 5 步内完成 LiteX 环境安装与第一个 PCIe 核心的生成快速掌握 LitePCIe 的安装、配置与生成全流程。 开始之前LitePCIe 是什么对于 FPGA 开发者来说自研一个完整的 PCIe 硬核通常意味着高昂的授权费用或巨大的资源开销。LitePCIe 的价值正在于此面积小使用 MigenPython 式 HDL描述逻辑核心精简、按需裁剪可配置通过一份 YAML 配置文件即可指定 PHY、通道数、DMA 通道、MMAP 等参数多平台支持 Xilinx UltraScale()PCIe Gen3 x16、Xilinx 7 系列Gen2 x8、Intel Cyclone5Gen2 x4、Gowin GW5AT、Lattice LFCPNX功能全TLP 层、Reordering、MSI/MSI-X 中断、Crossbar、DMAScatter-Gather、AXI/Wishbone MMAP、PTM 嗅探可独立使用既能作为 LiteX 库集成也能生成独立的 Verilog RTL 接入传统设计流程下面的架构图展示了 LitePCIe 内部的 Frontend、Core、PHY 三大区域及 TLP 数据流 5 步生成你的第一个 PCIe 核心第 1 步准备基础环境先确认系统满足以下条件依赖要求Python3.8 及以上版本FPGA 厂商工具对应平台工具链如 Vivado、Quartus、Radiant、 Gowin 等操作系统Linux 最佳官方测试主要基于 Linux验证 Python 版本python3 --version然后克隆 LitePCIe 源码git clone https://gitcode.com/gh_mirrors/li/litepcie cd litepcie第 2 步安装 LiteX 环境LitePCIe 是 LiteX 生态的一员依赖litex与pyyaml两个 Python 包。最简单的方式是直接以安装依赖的方式安装本项目setup.py 中已声明依赖关系pip3 install .执行后会自动带上litex、pyyaml等依赖。如果你的目标是使用 LiteX 全家桶做完整 SoC 开发建议按照 LiteX 官方安装指南完整安装 LiteX 及其生态库。第 3 步了解核心生成器核心生成逻辑位于litepcie/gen.py它接收一份 YAML 配置文件调用 LiteX 的 Builder 生成 Verilog RTL并同步生成软件头文件。项目自带多个现成示例位于examples/目录acorn.ymlS7PCIEPHYXilinx 7 系列 4 通道配置kcu105.ymlUSPCIEPHYUltraScale KU105 4 通道配置ac701.yml7 系列入门级配置以 examples/acorn.yml 为例关键配置项包括phy : S7PCIEPHY, # PCIe PHY 类型 phy_device : xc7a, # 器件系列 phy_lanes : 4, # 通道数 phy_data_width : 128, # 总线数据位宽 mmap : True, # 启用 MMAP 主接口 mmap_slave : True, # 启用 MMAP 从接口 dma_channels : 4, # DMA 通道数 msi_irqs : 16 # MSI 中断数量 新手建议直接复制一份示例文件只修改phy、phy_lanes、dma_channels三个字段先跑通流程。第 4 步生成第一个 PCIe 核心项目通过 setup.py 注册了litepcie_gen命令行入口也可用python3 litepcie/gen.py直接调用执行litepcie_gen examples/acorn.yml --output-dir build --header-dir ./参数说明--output-dir构建输出目录默认为build--header-dir生成的软件头文件输出目录默认为当前目录生成完成后你会得到独立的 Verilog RTL 文件可作为标准核心集成到任意设计流程LitePCIe 软件头文件寄存器地址、DMA 常量等供 Linux 驱动使用生成逻辑的核心流程可参考 litepcie/gen.py 中的main()函数。第 5 步验证测试确认环境正确项目自带完整的单元测试套件位于test/目录覆盖 TLP 打包/解包、DMA、Wishbone 总线、Xilinx PHY 映射等关键模块。运行全部测试./setup.py test或单独运行某一测试python3 -m unittest test.test_dma全部测试通过即说明 LiteX 环境与 LitePCIe 工作正常。核心模块分布litepcie/core/TLP 层端点、Crossbar、MSI 中断litepcie/phy/各厂商 PCIe PHY 适配层litepcie/frontend/DMA、AXI/Wishbone MMAP、PTM 嗅探litepcie/tlp/TLP 协议打包与解包litepcie/software/Linux 驱动源码与总线重扫描工具 加分项让核心出现在 Linux 的 lspci 中如果已将核心烧录到板卡可以在主机上运行项目提供的重扫描工具litepcie/software/rescan.py它会自动卸载/重载 litepcie 内核驱动源码位于litepcie/software/kernel/、移除旧设备并重扫 PCIe 总线让新设备立刻被识别python3 litepcie/software/rescan.py --module litepcie配合litepcie/software/user/litepcie_test.c用户态测试程序即可完成 DMA 读写与 MMAP 访问的端到端验证。✅ 小结步骤命令产出1. 克隆仓库git clone ...源码2. 安装环境pip3 install .LiteX 依赖3. 编写配置复制examples/*.ymlYAML 配置4. 生成核心litepcie_gen config.ymlVerilog RTL 头文件5. 运行测试./setup.py test环境验证LitePCIe 采用宽松的 BSD 2-Clause 许可证允许用于闭源商业设计。按照以上 5 步你已经在半小时内完成了从环境搭建到生成第一个可定制 PCIe 核心的完整流程——接下来只需替换 YAML 配置中的 PHY 与参数就能适配你手头的任何开发板。【免费下载链接】litepcieSmall footprint and configurable PCIe core项目地址: https://gitcode.com/gh_mirrors/li/litepcie创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价