FPGA IO 资源概览
在 FPGA 的六大核心资源中,IO 资源往往容易被初学者低估。很多人认为它仅仅是引脚位置的分配、驱动电流或上下拉电阻的设置,但实际并非如此。作为连接外部世界与内部逻辑的桥梁,IO 资源涵盖了从电气特性处理到高速信号逻辑转换的完整链路。
当我们深入探讨时,会发现经验丰富的开发者常接触到的 IBUFDS、OBUFDS、IDDR、ODDR 等原语,本质上都是 IO 资源的一部分。那么,信号从物理管脚进入 FPGA 内部逻辑电路究竟经历了哪些处理?本文将结合主流厂商的架构,解析 IO 资源的构成与工作原理。
IOB 与 IOL 架构解析
当前主流 FPGA 厂商(如 Xilinx 的 SelectIO)的 IO 结构通常由两大部分组成:IO BUFFER(简称 IOB)和 IO LOGIC(简称 IOL)。虽然各厂商的具体命名略有差异,但基本架构高度一致。
| 组件 | Xilinx | 紫光 | 安路 | 高云 |
|---|---|---|---|---|
| IOB | IOB | IO BUFFER | IOB | 输入输出缓存 |
| IOL | SelectIO Logic Resources | IO LOGIC | IOL | 输入输出逻辑 |
值得注意的是,Xilinx 将 ISERDES 和 OSERDES 视为'高级 SelectIO 逻辑资源',而其他厂商普遍将其归入 IOL 范畴。个人更倾向于后者的划分方式,这样逻辑层次更清晰。
IOB:电气特性的守门人
IOB 主要负责处理底层电气特性,不同厂商的配置存在较大差异。其核心功能包括:
- 信号类型转换:FPGA 内部多为单端信号互联,IOB 需负责将差分输入转为单端,或将内部单端信号转为差分输出。
- 电平标准转换:外部接口可能采用 LVCMOS、LVTTL、SSTL 或 LVDS 等标准,而 FPGA 内部 CLB 通常使用 VCCINT 供电,IOB 需完成电平适配。
- 其他配置:如压摆率设置、上下拉电阻使能等。
以安路 DR1 系列为例,其 IOB 结构直观展示了可编程上下拉、三态控制、LVDS 支持及片内终端电阻配置等功能。相比之下,Xilinx 的 HR Bank IOB 原理图则更为抽象,涉及更多底层电路细节。
IOL:逻辑功能的执行者
IOL 主要处理数字逻辑功能,相比 IOB 更容易理解。它实现了特定的信号处理逻辑,例如:
- 串并转换:将高速串行数据转化为并行数据供内部处理,反之亦然。

