4. Agilex 5 的 I/O 与接口资源

Agilex 5 的接口能力并不是“一堆可配置引脚”的简单集合,而是由通用 I/O、LVDS 差分对、高速收发器以及硬核 IP 共同构成的分层资源体系。理解这套体系的关键,是先分清哪些资源属于通用可编程 I/O,哪些属于专用高速通道,再根据外设类型、速率、协议和 PCB 约束做接口规划。否则很容易出现“引脚数量够、但 bank 电压不匹配”或“协议能跑、但参考时钟和收发器通道选错”的问题。

通用 I/O:按 bank 组织,电压与标准先于引脚分配

Agilex 5 的通用 I/O 以 I/O bank 为基本组织单位。每个 bank 有独立的供电与参考电压约束,同一 bank 内不同引脚的 I/O 标准并非可以任意混用。实际规划时,第一步不是数引脚,而是先按外设接口标准分组:3.3V LVCMOS、1.8V LVCMOS、1.2V HSTL、SSTL 等分别归入可兼容的 bank。例如某 bank 供电为 1.8V,则不能直接接入 3.3V LVCMOS 输出;若必须连接 3.3V 器件,应通过电平转换或改选 bank。

通用 I/O 还承担可编程上拉、开漏、施密特触发、可调驱动强度和 slew rate 等属性。以驱动强度为例,低速控制信号可选较低驱动以减小过冲,高速并行总线则需结合走线阻抗与负载选择合适档位。这些属性通常在引脚约束文件或 Quartus 的 Pin Planner 中设置,而不是在 RTL 中写死。

LVDS:差分对、时钟与数据速率的关系

LVDS 资源用于差分信号传输,常见于摄像头、显示屏、ADC/DAC 和板间高速链路。Agilex 5 的 LVDS 通常以差分对为单位,分为发送对和接收对,并依赖 bank 内的专用时钟资源。规划时要同时确认三件事:差分对是否位于支持 LVDS 的 bank、是否有可用的 LVDS 参考时钟、数据速率是否在器件支持范围内。

以常见的 7:1 LVDS 视频链路为例,若像素时钟为 74.25 MHz,串行化因子为 7,则差分数据线速率约为 519.75 Mbps。此时需要确认接收对支持该速率,并保证源同步时钟与数据对之间的偏斜在训练或约束中被正确处理。LVDS 不是“接上就能跑”,眼图余量、共模电压和终端匹配都会直接影响稳定性。

Agilex 5 接口资源分层与规划路径 通用 I/O(GPIO) • 按 I/O bank 分组 • 电压:3.3V / 1.8V / 1.2V • 标准:LVCMOS / SSTL / HSTL • 驱动强度 / 上拉 / 开漏 LVDS 差分对 • 发送对 / 接收对 • 依赖 bank 专用时钟 • 速率示例:519.75 Mbps • 终端匹配与共模电压 高速收发器 • 专用 SerDes 通道 • 参考时钟 / 复位 • PCIe / Ethernet / JESD • 通道绑定与均衡 硬核 IP(Hard IP) PCIe 硬核 · 以太网 MAC · 内存控制器 · DSP 块 · 收发器 PHY 硬核不占用逻辑资源,但通道位置、参考时钟和封装引脚固定 接口规划顺序:先约束,后分配,再验证 ① 接口清单 协议 / 速率 / 电压 ② Bank 与通道 电压兼容 / 时钟可用 ③ 引脚约束 Pin Planner / QSF ④ 时序与眼图 约束 / 训练 / 余量

高速收发器:通道、参考时钟与协议绑定

高速收发器是 Agilex 5 中独立于通用 I/O 的专用资源,通常以收发器 bank 或通道组形式存在。每个通道包含发送和接收方向,支持均衡、预加重、CDR 等能力。规划收发器时,必须同时考虑协议、线速率、参考时钟频率和通道位置。例如 PCIe Gen3 x4 需要 4 条收发器通道、100 MHz 参考时钟,并且通道必须位于支持 PCIe 硬核的 bank 内;若通道跨 bank 或参考时钟接错,链路训练会直接失败。

收发器参考时钟通常由专用时钟引脚输入,不能随意从普通 I/O 引入。实际设计中,建议先画一张“协议—通道—参考时钟—封装引脚”的对应表,再开始分配。对于以太网、JESD204B 等协议,还要确认是否需要多通道绑定和确定性延迟。

硬核 IP:不占逻辑,但位置固定

Agilex 5 集成了 PCIe 硬核、以太网 MAC、内存控制器、DSP 块等硬核 IP。硬核的优势是不消耗可编程逻辑资源、性能确定,但代价是位置和引脚固定。例如 PCIe 硬核只能使用特定收发器通道和参考时钟引脚,不能像软核那样自由布局。因此接口规划必须“先硬核、后通用”,先满足硬核 IP 的物理约束,再安排普通 I/O 和 LVDS。

接口规划方法:从清单到约束的闭环

一个可执行的接口规划流程如下。第一步,列出所有外部接口,标注协议、方向、速率、电压和时钟需求。第二步,按电压和标准把通用 I/O 分组到兼容 bank,同时标记需要 LVDS 或收发器的接口。第三步,检查硬核 IP 的通道与参考时钟是否满足,必要时调整接口到硬核的映射。第四步,在 Quartus 中通过 Pin Planner 或 QSF 写入引脚约束、I/O 标准和时序约束。第五步,编译后查看引脚报告、时序报告和收发器链路状态,确认无 bank 电压冲突、无时钟缺失、无时序违例。

规划时优先满足三类“不可协商”约束:bank 供电电压、收发器参考时钟引脚、硬核 IP 固定通道。这三项一旦选错,后期很难通过逻辑修改补救。
不要把所有低速 I/O 都堆到同一个 bank。若该 bank 同时被 1.8V 和 3.3V 器件占用,会出现电平不兼容;应提前按电压域拆分 bank,并预留电平转换或独立供电方案。

以一套典型的 Agilex 5 开发板为例:DDR4 接内存控制器硬核,使用 1.2V SSTL;千兆以太网使用收发器通道和 125 MHz 参考时钟;摄像头走 LVDS 接收对,像素时钟 74.25 MHz;按键、LED、UART 等低速信号分配到 3.3V 和 1.8V 两个通用 bank。按上述顺序规划后,编译报告中的引脚冲突和时序违例应显著减少,收发器链路也能在训练后进入正常状态。接口规划的本质,是把“协议需求”翻译成“物理资源约束”,并在约束之间找到可行解。