一、相关简介
Xilinx的高速接口称之为transceivers(高速收发器),这部分的电路是专用电路,供电等都是独立的,根据速率可以分为GTP/GTX/GTH/GTY/GTM等。
Xilinx的高速接口是QUAD为单位的,没一个QUAD由一个时钟COMMON资源(里面有两个用于链路的QPLL),4对收发器channel(好一点的channel中有CPLL)组成一个quad。对应结构如下:
对应到channel的内部结构如下:对于收端和发端均由物理编码子层PCS和主要负责光电转换的PMA层构成,具体二者内部硬件结构如下:
TX channel:
Fpga parallel clock txusrclk2 是 FPGA 用户逻辑使用的时钟;
PCS parallel clock TXUSRCLK 是物理编码层使用的时钟, 这里如果物理编码层和用户层位宽一样, 这样 TXUSRCLK 会和 TXUSRCLK2 时钟频率。
PMA Parallel clock XCLK 是物理媒介层时钟;
TX Serial Clock 是串行时钟, 是端口串行速率的一半, 原因是上升沿和下降沿都发送数据。
RX channel:
FPGA parallel clock RXUSRCLK2 是给 RX 端用户的接收数据的同步时钟。
PCS parallel clock RXUSRCLK 是物理编码层的时钟。
PMA parallel clock XCLK 物理媒介层时钟。
RX serial clock 接收端串行信号时钟。
二、高速接口测试软件IBERT的使用
IBERT 软件主要用于测试高速接口的传输性能。
一般可测试四种场景:
1. 近端 PCS 回环可以自己收发回环—板内自回环
2. 近端 PMA 回环可以自己收发回环—板内自回环
3. 远端 PCS 回环(需要有个数据源连接)—板间
4. 远端 PMA 回环(需要有个数据源连接)—板间
三、建立ibert测试工程
建立工程,添加ibert ip,对应的ip配置如下:
注意:这个参考时钟的选择要对应专用bank。经查数据手册,参考时钟0对应125MHz。
接收时钟选用外部系统时钟200MHz:
生成对应的example,将sfp_tx_disable引脚置0,下载对应的bitstream,即可观测到回环成功的眼图,外部连接及测试结果图如下。
ibert最方便的地方在于:能够测试不同输入预加重等情况下的最佳眼图,这里测试了81种情况,能够找到最优配置的情况,测试眼图如下: