FPGA PCIe 开发服务范围
围绕确认的项目输入、工作内容、交付物与验收条件组织实施;是否进入 PoC 或完整开发阶段由双方确认的任务书确定。
适用项目
- 已有目标产品或板卡,需要补齐“Endpoint/Root Port”相关设计与实现
- 已有代码或 IP,需要围绕“DMA”完成集成、调试或重构
- 平台、器件或接口尚未冻结,需要先验证“MSI/MSI-X”等关键风险
主要工作内容
- 冻结 PCIe 角色、代际、Lane 和拓扑:先将“冻结 PCIe 角色、代际、Lane 和拓扑”写入需求与接口基线,明确“Endpoint/Root Port”涉及的对象、参数、依赖和通过条件。
- 配置 IP、BAR、地址转换、中断和链路参数:围绕“配置 IP、BAR、地址转换、中断和链路参数”形成专项设计,记录“DMA”相关架构、配置、约束和版本。
- 设计 DMA、缓存、描述符和主机数据路径:针对“设计 DMA、缓存、描述符和主机数据路径”完成工程集成,保留“MSI/MSI-X”相关构建、日志、问题定位和变更记录。
- 完成枚举、吞吐、错误恢复和互操作测试:以“完成枚举、吞吐、错误恢复和互操作测试”为验证重点,在约定环境中执行“驱动与性能测试”相关测试并提交可复核结果。
项目输入
- Endpoint/Root Port、PCIe 代际、Lane、速率和连接拓扑
- FPGA 器件、PCIe IP、许可证、参考时钟和板卡
- BAR、DMA、描述符、MSI/MSI-X、数据格式和缓存策略
- Linux/Windows 主机、内核/ 驱动版本、插槽和测试工具
交付物
- PCIe IP、时钟复位、BAR、DMA 和中断集成工程:“PCIe IP、时钟复位、BAR、DMA 和中断集成工程”用于复现约定实现,提交时绑定目标器件、工具、依赖和源码版本。
- 寄存器、地址映射、描述符和错误码说明:“寄存器、地址映射、描述符和错误码说明”说明接口、参数、配置与限制,作为系统联调和后续维护依据。
- Linux/Windows 驱动或用户态访问示例的约定部分:“Linux/Windows 驱动或用户态访问示例的约定部分”按任务书列明文件范围、第三方授权边界、构建方法和制品校验值。
- 枚举、吞吐、时延、错误注入和重连测试记录:“枚举、吞吐、时延、错误注入和重连测试记录”绑定测试对象、环境、用例、结果与剩余限制,作为阶段或最终验收证据。
验收方法
- 指定主机、插槽、器件、代际和 Lane 下稳定枚举
- BAR、DMA、中断和数据一致性符合冻结协议
- 吞吐/ 时延注明方向、块长、队列、并发和统计时间
- 复位、热重置、链路降级和异常恢复按范围验证
能力与结果边界
PCIe 代际、Lane 数、IP、主机平台和一致性目标需依据目标器件和板卡验证。 未经目标项目验证的厂商参数、理论峰值、路线图或示例工程不作为项目实测结果;最终结论以冻结版本和书面测试证据为准。
FPGA PCIe 开发常见问题
PCIe 开发是否默认包含主机驱动?
不默认包含。Linux、Windows、内核驱动、用户态框架或现有驱动适配需在任务书中明确。
PCIe 理论带宽可以作为验收值吗?
不能直接使用。有效吞吐受编码、TLP、DMA、块长、队列、主机、内存和软件路径影响,应按实测口径验收。
Endpoint 与 Root Port 工作量是否相同?
不同。枚举控制、地址空间、驱动、下游设备管理和异常恢复责任存在差异,需要分别评估。
FPGA PCIe 开发的交付范围如何确定?
以项目任务书为准。计划交付的PCIe IP、时钟复位、BAR、DMA 和中断集成工程、寄存器、地址映射、描述符和错误码说明等内容需逐项列明;第三方 IP、加密网表、厂商库、协议资料和许可证文件受原授权限制。
FPGA PCIe 开发周期和报价如何评估?
工作量取决于输入完整度、接口和模块数量、器件与工具成熟度、第三方 IP、板卡状态、软件配套、测试设备及验收深度。完成输入审查后再形成阶段计划与报价。