高速串行通信优势非常巨大,只需要很少的IO引脚就可以实现高速通信,这也是当今FPGA高速接口的核心
技术。比如XILINX的7代FPGA,GTX可以达到10.3125Gbps,ultrascale FPGA的GTH可以达到16Gbps。目前国产FPGA还难以达到这么高的接口速度。
高速串行通信经常需要用到XILINXFPGA内部专用的SERDESE模块来实现串并转换。LVDS配合SERDESE
可以充分发挥FPGA的高速接口优势。SERDESE分输入和输出,输入采用ISERDESE,输出采用OSERDESE。
OSERDESE 的使用要比ISERDESE简单。不同的FPGA构架,SERDESE的结构有一些差异,在使用的时候需要注意,比如7代FPGA的SERDESE和ultrascale系列的SERDESE就有一些差异,7代的FPGA程序移植到ultrascale系需要做一些必要的修改。
米联客2020版本教程需要更加全方位介绍FPGA的基础知识,当然也包括了一些底层的接口技术。本文笔者
主要根据官方技术手册,以及官方给出的demo例程,通过仿真手段,让读者更加全方位了解XILINXFPGA底层硬件的高速接口应用技术。
本文涉及到一些概念也会是读者第一次遇到,包括idelay延迟原语的使用,时钟管理原语MMCME2_ADV和
PLLE2_ADV 的使用,ISERDESE串并转换和OSERDESE,并串转换原语的使用。其中很关键一点时使用idelay延迟模块以及ISERDESE原语中BITSLIP功能,实现数据的正确采集。
本文需要用到的官方技术文档包括:对于7代FPGA包括ug471,xapp585。
本文首先以xapp585提供的demo介绍实现7:1的并串转换和1:7的串并转换。