2.8 FPGA I/O元件
FPGA I/O控制包含在阵列外缘周围的模块中,并通过FPGA布线通道提供给所有器件资源。FPGA器件中的I/O模块通常称为I/O元件。I/O元件包含了以前CPLD I/O控制模块中大多数相同的基本功能,但它们增加了更多功能,使得FPGA I/O元件对于所有类型的设计都是非常通用的。除基本输入、输出和双向信号外,I/O引脚还支持各种I/O标准,包括许多最新的低电压高速标准,可以组合成对的I/O引脚,以支持差分信号I/O标准,如LVDS。其他功能包括可变电流驱动强度和压摆率控制,以帮助提高板级信号的完整性。可以启用上拉电阻形式的片上终端,以帮助减少电路板上的端接元件使用。一些器件包括I/O元件中的钳位二极管,当用作PCI总线的I/O时可以被激活。根据设计需要,器件上任何未使用的I/O引脚可以设置为漏极开路或三极管。以上这些只是典型I/O元件功能的一些示例。某些设备可能提供更多功能。I/O功能汇总如下:
(1)输入/输出/双向;
(2)多个I/O标准;
(3)差分信号;
(4)电流驱动强度;
(5)转换速率;
(6)片上终端/上拉电阻;
(7)开漏/三态。
2.8.1 典型的I/O元件逻辑
如图2-16所示为典型I/O元件的基本逻辑。图中未表示用于控制I/O元件上述特征的所有其他硬件。I/O元件分为三个主要部分。输入路径捕获输入寄存器引脚上的数据,或通过布线通道将输入直接连接到器件。输出路径包含用于同步逻辑或用于存储器使用的输出寄存器,类似于CPLD宏单元中的输出寄存器。由于寄存器既可以在主LAB逻辑中找到,也可以在I/O元件中找到,因此可以使用任何一个,从而释放寄存器逻辑,以用于其他用途。当然,如果需要,可以绕过I/O元件中的寄存器。I/O元件的最后一部分是输出使能逻辑,该逻辑控制输出使能缓冲区。如果I/O已配置为双向引脚或将输出数据与器件上的其他输出同步,则可以使用此部分。
图2-16 典型I/O元件的基本逻辑
2.8.2 高速收发器
某些FPGA器件还具有高速收发器。这些I/O结构支持高速协议,传输速率为每秒千兆位或更高。这些高传输速率通常用于通信和网络设备。英特尔FPGA器件支持在各种不同应用中使用的数十种I/O标准。
不同的FPGA器件包含不同数量的这些类型的专用资源。参考器件数据手册以确定芯片是否为给定设计提供了足够的资源。如图2-17所示为Stratix 10系列的高速收发器SERDES的电路发送器和接收器结构图及其接口信号。
图2-17 高速收发器