1. Agilex PCIe互连系统总览
Agilex是Altera(现Intel旗下独立运营的FPGA业务)面向数据中心、边缘计算与嵌入式场景推出的多代FPGA与SoC FPGA产品家族。与早期Stratix、Arria系列相比,Agilex在PCIe互连能力上做了系统性重构:从"软核+硬核混合"逐步过渡到"多代硬核IP+可编程NoC"的架构,使PCIe不再只是外设接口,而成为芯片内部数据通路的骨干。理解这一代际演进,是后续所有工程实践的前提。
一、Agilex器件家族与PCIe硬核IP代际
Agilex家族目前主要包含Agilex 7、Agilex 5、Agilex 3三个层级,分别对应高性能、主流与低成本定位。它们的PCIe硬核IP并非同一套设计:
- Agilex 7(含F系列、I系列、M系列):集成PCIe Gen5 x16硬核,基于P-Tile与F-Tile两种收发器架构。P-Tile面向Gen5,F-Tile支持Gen5并向下兼容Gen4/Gen3,同时可承载以太网、Interlaken等多协议。硬核内部包含独立的PHY、MAC、Data Link与Transaction Layer,用户逻辑通过Avalon-ST或AXI4接口接入。
- Agilex 5(含D系列、E系列):面向主流与边缘,集成PCIe Gen4 x8或Gen5 x4硬核,强调功耗与面积效率,常与HPS(硬核处理器系统)协同,用于边缘AI推理、工业网关等场景。
- Agilex 3:低成本嵌入式定位,PCIe硬核规模更小,通常为Gen3 x4或Gen4 x4,适合作为控制面或轻量数据面接口。
代际差异不仅体现在速率上,更体现在通道数、协议分层实现方式、与NoC的耦合程度。Agilex 7的PCIe硬核可直接挂接到芯片内的可编程NoC,实现从PCIe到HBM、DDR、其他硬核IP的高带宽低延迟通路;而早期器件往往需要用户逻辑自行搭建互连。这一变化直接决定了系统拓扑的设计自由度。
二、互连拓扑在数据中心、边缘与嵌入式中的角色
PCIe互连拓扑在不同场景中的角色差异显著。数据中心场景下,Agilex通常作为加速卡或SmartNIC,通过PCIe Gen5 x16与主机CPU相连,拓扑上表现为"根复合体—交换器—端点"的树形结构,重点在于DMA带宽、TLP吞吐与多队列管理。边缘场景下,Agilex常作为边缘聚合节点,上游通过PCIe连接主控或存储,下游通过以太网、MIPI、CAN等连接传感器与执行器,PCIe在这里更多承担"背板互连"角色,拓扑可能是双端口或冗余路径。嵌入式场景下,Agilex 3或Agilex 5的HPS可直接作为PCIe根复合体,FPGA逻辑作为端点或交换器,形成SoC内部的主从互连。
三种场景对拓扑的核心诉求不同:数据中心追求带宽与确定性,边缘追求灵活性与功耗,嵌入式追求集成度与成本。课程后续章节会分别展开,但本章需要先建立"拓扑选择由场景决定"的判断意识。
三、课程工程对象与交付物定义
本课程以一个贯穿始终的工程对象为载体:基于Agilex 7 I系列器件的PCIe Gen5 x8数据采集加速卡。该卡通过PCIe Gen5 x8与主机通信,板载DDR4作为数据缓冲,FPGA逻辑实现DMA引擎与数据预处理,HPS负责控制面配置。课程交付物包括:
- PCIe硬核IP的配置参数表(通道数、速率、BAR空间、MSI-X向量数);
- 互连拓扑图与地址映射表;
- DMA描述符格式与寄存器映射;
- 基于Avalon-ST的TLP收发测试用例;
- 带宽与延迟的测量脚本与判据。
这些交付物不是一次性作业,而是随章节推进逐步细化的工程文档。第1章的任务是建立全局视图,明确"我们要做什么、为什么这样选"。
四、从总览到工程:关键判断点
在进入具体配置之前,需要先回答三个问题。第一,选哪一代器件:如果目标带宽超过32 GB/s且需要HBM,Agilex 7是唯一选择;如果功耗预算低于15 W且需要HPS,Agilex 5更合适;如果只是控制面PCIe,Agilex 3足够。第二,PCIe在拓扑中扮演什么角色:是主机接口、背板互连还是SoC内部总线,这决定了BAR空间划分、DMA方向和中断策略。第三,交付物如何验证:配置参数表要能对应到Quartus的IP参数界面,拓扑图要能对应到板级连接器与走线,测试用例要能在硬件上跑出可观测的TLP计数。