FPGA常见的IO接口标准设置

时间:2025-06-14  作者:Diven  阅读:0

0 引言

FPGA常见的IO接口标准设置

        最近准备采用Xilinx FPGA进行多机通信,即主FPGA芯片将采集到的不同层的图像数据流分别输出给对应的4块从FPGA芯片中,主从FPGA之间的连接机制采用星形拓扑结构。经计算,图像数据流接口速率需要数百兆比特/秒,因此需要调研FPGA支持的常见IO接口标准,及每种接口的应用场合。

1 常见IO接口标准

        Xilinx FPGA提供和支持高性能、可配置、多样化的接口标准。主要的可配置属性为On-chip termination(输入端/输出端的内置片上端接电阻),output strength(输出驱动器的电流驱动能力),slew rate(电压压摆率)等。

        常见IO接口可分为单端IO接口和差分IO接口,详细的IO标准参见下图1。单端IO接口和差分IO接口均满足高速接口传输,区别在于应用场合不同。

Xilinx FPGA芯片不同的Bank支持的IO接口标准范围略有所不同,但是同一Bank必须使用同一output drive voltage (VCCO)。

1.1 端接电阻

由上图2可知,当使用高速IO接口时,在接收端通常需要匹配的端接电阻,有利于高低电平的转换和提高信号的完整性,且端接电阻尽可能的放置在接收端。

(a)差分输入端接电阻

        通常需要在差分输入端并行端接100Ω的电阻,FPGA在差分输入接收器提前内置了端接电阻,其阻值R为100Ω,为可选项optional。设计者也可以采用外接端接电阻来进行电阻匹配,阻值选择更灵活。采用片上内置的端接电阻可以节省无聊和缩小PCB面积。

                    

通过UCF文件进行约束,是否使用差分输入端接电阻,语法规则如下:NET DIFF_TERM = "" 。

(b)单端输入端接电阻

        由上图可知,一些单端IO接口也需要输入端接电阻来匹配信号的完整性,例如HSTL,SSTL。SSTL电平通常应用在DDR SRAM中,例如SSTL18应用在DDR2,SSTL15_II应用在DDR3中。详见下图所示。

                               

通过UCF文件进行约束,是否使用单端输入端接电阻,语法规则如下:

NET IN_TERM = ;

(c)输出端接电阻

        由上图可知,输出端(也称为源端)也可以配置输出端接电阻,以减少信号的反射,应用在高速单端信号场合,例如FPGA输出驱动DDR3芯片。输出端接电阻也是optional可选项,常见阻值R为none,25Ω,50Ω,75Ω。通过UCF文件进行约束,是否使用单端输出端接电阻,语法规则如下:

NET OUT_TERM = ;

说明:由上图可知,FPGA作为输出端,其端接电阻可以通过内置端接电阻配置完成,但如果DDR SRAM作为后一级的输入端,该芯片没有片上端接电阻,故需要外接50Ω的输入匹配电阻。

1.2 设置IO接口属性

    常见IO接口属性包括:电平标准,输出压摆率,输出驱动能力,上/下拉。详细设置参考下文。

2  常见IO接口标准&应用

        当今大厂家会基于其IO接口的总线应用场合提出新的IO接口标准,随后被其厂家所使用。每IO接口标准均有其特有的电压、电流、输入输出缓冲和端接匹配技术要求。Xilinx User Guide详细列出了常见的各种IO接口的种类,定义及应用场合,详见下文。

   

3   高速IO接口应用举例

        基于FPGA的高速IO接口应用的常见例子有两种,详见下文。

        第: 采用SSTL15_II接口标准,应用于DDR3 SRAM,属于single-end IO standard;

        第二种:采用LVDS33/25接口标准,应用于IOSERDES的高速串行通信,属于differential  IO standard;

3.1  DDR3 SRAM接口驱动

        FPGA驱动DDR3 SRAM芯片时,FPGA作为输出源端,SRAM芯片作为终端,故FPGA需要配置output driver 的相关属性参数attributes。SRAM作为input receiver,需要进行端接电阻匹配,由于没有内置片上端接电阻,故需要在SRAM输入管脚外接匹配电阻,由于数据端口是双向端口,故输入端是高阻状态,无需匹配。而地址总线接口和差分时钟输入接口需要匹配对应阻值的电阻。

(a)FPGA输出端IO Standard在UCF文件中参数配置如下:

NET  "mcb3_dram_dq[*]"      IOSTANDARD  =   SSTL15_II   |    IN_TERM = NONE   |   OUT_TERM = UNTUNED_50;

压摆率和上下拉采用默认参数,SLOW slew rate, 12mA  output drive。

(b)SRAM输入端IO standard,地址管脚和数据管脚尽可能均匀分配在某一个或多个Bank中。

地址总线输入端(单端接口)需匹配50Ω端接电阻,差分时钟输入端(差分接口)需要匹配100Ω的端接电阻,见下图所示。

                        地址总线输入接口                                                                                          差分时钟输入接口

说明:1.  SRAM输入管脚的端接电阻尽可能靠近管脚,以保证信号的完整性;

             2.  每一组bank均有独立的Vcco和Vref,便于配置variable IO standard;

             3. 为减少SSO(simultaneous switching output)的大量输出管脚电平同一方向切换的干扰,可以增加virtual                          

                 VCC/GND pins,即将该bank未用到的管脚在FPGA程序中设置为GND或VCC;

3.2   LVDS差分IO接口驱动

        LVDS:低压差差分信号,每位数据需要一对差分信号线,相较于单端接口,差分接口可以抑制共模噪声,电压摆幅约350mV,因此信号传输功耗较低。LVDS接口传输速率上限可达3.125Gbit/s,如果配合相应的编码规则(如8b/10b)和使用SERDES技术,可以保证常用高速信号通信。

        差分信号输入端需要端接匹配电阻,如果输入端为FPGA管脚,可以通过配置,使能其内置端接电阻,阻值默认为100Ω。UCF配置LVDS接口如下:

说明:1.  压摆率越快,电平转换时间越短,时间性能越优;

             2.  Spartan6 FPGA所有Bank均支持LVDS差分输入,但只有Bank0和Bank2支持LVDS差分输出;  

      审核编辑:彭静

 

猜您喜欢

二极管是电子电路中常见的元件,主要用于电流的单向导通。正确测量二极管的正负极,不仅可以帮助我们更好地理解电路工作原理,还能避免因错误操作而损坏二极管。本文将介绍...
2025-03-30 10:00:02



贴片电阻上的010并不是阻值,而是表示其尺寸大小。010代表英制尺寸01005,公制尺寸为0402,即长0.4mm,宽0.2mm。要想知道010贴片电阻的阻值,...
2024-11-29 10:25:37

触发器是在数据库中自动执行特定操作的机制。在特定事件发生时被激活,例如插入、更新或删除数据时。触发器的主要作用是确保数据的完整性和一致性,能够自动执行预定义的逻...
2024-03-04 00:00:00

探伤仪是用于无损检测的高科技设备,应用于工业、建筑、航空航天等领域。通过发射超声波、射线或磁场等方式,检测材料内部的缺陷,如裂纹、气孔和夹杂物等,从而确保结构的...
2024-02-17 00:00:00

贴片电阻在电子电路中是很重要的配件,小型轻便,适合现代电子设备的紧凑设计。但很多人不清楚的英文缩写到底怎么写。其实,贴片电阻的英文全称是Chip Resisto...
2024-11-29 10:26:20

二极管是电子元件中最基本的组成部分,应用于电路中。主要功能是允许电流在一个方向流动,而在相反方向上阻止电流。根据其不同的特性和用途,二极管可以分为多种类型。本文...
2025-04-07 00:30:03

现代电子设备中,贴片电阻作为一种重要的被动元件,应用于各种电路中。由于其体积小、功耗低等优点,贴片电阻逐渐取代了传统的引线电阻,成为电子行业的主流选择。本文将为...
2025-03-19 08:30:35

在电气工程中,端子台规格尺寸非常重要。正确选择端子台尺寸,不仅能确保电路安全稳定,还能提升工作效率。一般而言,标准端子台宽度从32mm到128mm不等,深度多为...
2019-09-14 00:00:00