可重构阵列处理器光电混合互连原型系统实现

2020-04-13 17:36付怡雯吴皓月
光通信研究 2020年1期
关键词:发送数据光通信链路

付怡雯,蒋 林,山 蕊,吴皓月,樊 萌

(1.西安邮电大学 电子工程学院,西安 710121; 2.西安科技大学 集成电路实验室,西安 710600)

0 引 言

近年来随着高清视频的发展,视频算法数据量剧增,数据并行性高,应用场景复杂多变,迭代更新快,对实现平台提出了更高的要求。专用硬件平台灵活性较差,中央处理器(Central Processing Unit,CPU)设计和制造成本高,而可重构阵列处理器具有优异的计算效能和灵活性,成为实现视频算法的主流平台[1]。视频算法数据处理量大、簇间数据交互频繁,如何将这些处理元(Processor Element,PE)高效互连成为限制可重构视频阵列处理器性能的主要瓶颈[2]。

传统的互连方式中,电长线互连方式在无冲突时访问周期短、设计简单,但可扩展性差、延迟大;电的交叉互连方式在无冲突时访问延迟小,具备一定的可扩展性,但互连线较多,当系统规模增大后,设计复杂度急剧增加[3];片上网络(Network on Chip,NOC)是一种全新的互连通信架构,包括了mesh、torus和flattree等结构,可扩展性好,在局部通信情况下延迟较小,但在远距离通信情况下延迟较大[4]。

结合电互连方式在局部通信中实现简单和延迟小,以及光互连方式在远距离通信中带宽高、抗干扰能力强和延迟小的特点,进行了光电混合互连[5-6]。本文基于BEE4开发平台设计实现了可重构视频阵列处理器光电混合互连原型系统,并以标准测试序列akiyo_qcif_176×144.yuv为例进行测试。

1 可重构视频阵列处理器光电混合互连

本文提出的可重构视频阵列处理器光电混合互连系统结构由1 024个同构轻核处理元(Thin-Core Processor Elements,TCPE)阵列组成,每16个TCPE构成一个轻核处理元簇(Processor Element Group,PEG)。可重构视频阵列处理器系统包括TCPE、数据/指令存储器和虚通道路由器等模块。TCPE主要由指令寄存器文件、数据/指令存储器和算术逻辑运算单元等组成,采用load/store模式的精简指令集计算机(Reduced Instruction Set Computer,RISC)结构实现。每个TCPE包含一个容量为30×512bit的指令存储器和一个容量为16×512bit的数据存储器。相邻TCPE间通过邻接短线将东、南、西、北4个方向的邻接寄存器互连,完成数据通信。

图1所示为由可重构视频阵列处理器与高速交换单元、光电转换器和光总线结构共同构成的可重构视频阵列处理器光电混合互连系统。当系统复位完成后,首先通过电控制信号对光链路按照预期的链路结构进行配置;当处理元进行数据通信时,首先发送访问请求信号,通过光电转换器将该请求信号发送到光链路,经过光链路的交换,送往指定输出端口。当数据返回时,沿相反的传输路径进行传输[7]。

图1 可重构视频阵列处理器光电混合互连系统结构

2 可重构视频阵列处理器光电混合互连原型系统

2.1 现场可编程门阵列原型系统总体结构

三维集成工艺为核间通信提供了新的解决方案,能缩短通信距离、降低通信延迟[8]。传统电互连方式可通过硬件编程,在单片现场要编程门阵列(Field Programmable Gate Array,FPGA)上进行功能验证,然而由于工艺水平的限制,集成光器件无法在FPGA芯片内部实现,且现有技术无法做到三维集成,因此采用片外光器件模拟片上光互连系统来达到原型验证。

光电混合互连FPGA原型系统结构如图2所示。簇内电通信采用单片FPGA进行系统验证,而簇间光通信则通过两片FPGA上的4通道小型可插拔+(Quad Small Form-factor Pluggable Plus,QSFP+)光模块实现光纤互连,以达到簇间通信验证的目的。

图2 光电混合互连FPGA原型系统结构图

2.2 Aurora IP配置

Aurora IP配置是实现簇间光通信的重要部分。Aurora IP是Xilinx公司开发的用于点对点串行通信的数据传输协议,在FPGA开发过程中,通过引脚绑定,将I/O口连接到QSFP+光口便可实现FPGA间的数据通信。Aurora IP链路结构如图3所示。

为了对Aurora IP进行功能仿真,需要在测试文件中调用两个Aurora IP核,分别用于两侧的用户应用,用信号线将数据发送端和数据接收端互连,以模拟实际链路中的数据传输。测试方案如图4所示。图中,LANE_UP和CHANNEL_UP信号为链路状态指示,当信号为高电平时,说明当前通信链路已经建立完成;RXP、RXN、TXP和TXN分别为数据的接收与发送信号,用于同另一侧的用户进行数据通信。

图3 Aurora IP链路结构示意图

图4 Aurora IP测试方案框图

2.3 片间光链路的设计

BEE4平台共集成4片Xilinx V6系列FPGA芯片,现对其中两片FPGA芯片进行通信,每个芯片配有两路QSFP+光接口,支持40Gbit/s的传输速率。为了验证通过Aurora IP核搭建的光链路的正确性,在BEE4平台上接入QSFP+光模块与Aurora IP核互连,形成光通信链路,在两片FPGA上分别进行发送和接收逻辑的设计,进而验证光通信链路数据传输的正确性。两片FPGA之间光通信链路的设计方案如图5所示。由于所使用的光纤在同一时刻只允许进行单向通信,虽然Aurora IP支持全双工方式进行数据通信,但在用户逻辑端需要避免对光纤链路发送与接收的争用。

图5 两片FPGA之间光通信链路设计方案示意图

用Verilog硬件描述语言对用户发送和接收逻辑进行设计,FPGA A和B端的逻辑设计框图分别如图6和7所示。采用状态机的方式连续发送4个数据,在 modelsim 10.1d环境下进行功能仿真,在Xilinx ISE14.7开发套件下选择相应器件进行逻辑综合。

在BEE4平台上,将两个QSFP+光模块与对应光口连接,而后将BPS环境下生成的FPGA A和B端的配置流文件分别下载到相应FPGA上,通过Analyzer工具加载chipscope文件进行波形观测,看接收到的数据是否与发送数据一致。

图6 FPGA A端逻辑设计框图

图7 FPGA B端逻辑设计框图

3 仿真验证与原型系统实现

3.1 Aurora IP功能仿真

通过编写测试和检测文件得到的仿真波形如图8所示。图中,frame_gen1栏中产生待发送的数据,当CHANNEL_UP信号为高电平且TX_DST_RDY_N信号为低电平时,说明链路建立完成,且接收方已做好接收数据的准备,此时发送数据使能信号TX_SRC_RDY_N和发送起始位信号TX_SOF_N拉低,数据开始传输,当到达最后一位时,发送使能信号TX_SRC_RDY_N拉高,发送结束位信号TX_EOF_N 拉低,数据传输结束。在frame_check2栏中,接收数据使能信号RX_SRC_RDY_N拉低,接收起始位信号RX_SOF_N拉低,数据开始接收,当接收到最后一位时,接收数据使能信号RX_SRC_RDY_N拉高,接收结束位信号RX_EOF_N拉低,数据接收完成。图中可以看到发送端数据信号TX_D与接收端数据信号RX_D相同,说明数据传输正确。(图中所有信号的高电平都为1,低电平都为0)

图8 Aurora IP仿真波形图

3.2 片间光链路仿真

在对Xilinx Aurora IP进行了功能验证后,选用BEE4板进行光通信链路的FPGA验证。发送端用户逻辑的仿真波形如图9所示。从图中可以看到,当tx_dst_rdy信号为高电平时,可以发送数据,之后发送端使能信号tx_src_rdy拉高,同时发送数据信号tx_data开始发送数据,连续4个时钟周期后,发送端使能信号tx_src_rdy拉低,数据发送完成。

图9 发送端用户逻辑的仿真波形图

在BEE4平台上,将BPS环境下生成的FPGA A和B端的配置流文件分别下载到相应的FPGA上进行波形观测,观测到FPGA A和B端的波形分别如图10和11所示。

图10 FPGA A端观测结果

图11 FPGA B端观测结果

在FPGA A端,当光模块接入对应光口,且FPGA上完成电复位,Aurora IP核完成初始化后,数据发送准备信号tx_dst_rdy拉高,表示链路建立完成。在操作终端对FPGA A端进行复位后,数据发送使能信号tx_src_rdy拉高,发送数据信号tx_data有效,开始发送数据,此处发送一组数据111、222、333和444,发送完成后,数据发送使能信号tx_src_rdy拉低,发送数据信号tx_data无效。在FPGA B端同样完成上电复位和Aurora IP核的初始化后,数据接收使能信号rx_src_rdy拉高,此时数据接收信号rx_data有效,当接收完成后,数据接收使能信号rx_src_rdy拉低,数据接收信号rx_data无效。由图可见接收到的数据为111、222、333和444,与发送端发送的数据一致,验证结果正确。

3.3 测试用例下的片间光链路实现

课题研究组在前期对高效视频编码(High Efficient Video Coding,HEVC)做并行化映射的过程中,进行了不断探索与改进,在BEE4平台的两片FPGA芯片上,实现了HEVC编码过程。为了使片间通信延迟较小,同时验证簇间光链路的正确性,将片间的电通信以光通信的方式进行替代,图12所示为簇间光链路FPGA验证方案示意图。图中,DIM为数据输入存储器,用于存放原始图像的视频序列;DOM为视频序列处理结果的存储器,用于存放处理后的像素值。在两片FPGA之间,通过接入QSFP+光模块构建片间光通信链路。

图12 簇间光链路FPGA验证方案示意图

验证方案中帧内环路使用96个处理元(6个PEG)来完成编码块大小为8×8的包括帧内预测、量化变换、反量化反变换和去块滤波在内的帧内环路算法的处理。帧间环路使用112个处理元(7个PEG)来完成8×8的包括整数运动估计、分数运动估计、运动补偿、量化变换、反量化反变换和去块滤波在内的帧间环路算法的处理。以分辨率176×144的标准测试序列akiyo_qcif_176×144.yuv为例进行测试,几个关键算法间的数据交互仿真波形如图13~18所示。

图13 DIM和帧内预测数据交互仿真波形

图14 帧内预测和图像重建数据交互仿真波形

图15 帧內环路图像重建和去块滤波数据交互仿真波形

图16 整数运动估计和分数运动估计数据交互仿真波形

图17 运动补偿和量化变换数据交互仿真波形

在PEG10中处理的是帧内预测算法,DIM和帧内预测数据交互仿真波形如图13所示。圆圈处表示从DIM中取出的数据放在PEG10的PE00以1号地址为起始的地址中。图13中1000表示PEG10中的PE00,图14中0133表示PEG01中的PE33,下文同理。

帧内预测和图像重建数据交互仿真波形如图14所示,圆圈中的数表示PE1033给PE0133通过路由的方式传数。数据传过来后存储在PE0133以100号地址为起始的地址中。

帧内环路的图像重建和去块滤波数据交互仿真波形如图15所示。圆圈表示PE0130通过邻接互连方式给PE0033传数。由于数据是从右向左传输,所以当 PE0130的 wo_exu_wr=1,no_exu_data=34时,表示将数据34传出去;当PE0033的ei_w_r=1、ei_data=-94时,表示PE0033收到数据34。

图18 帧间环路图像重建和去块滤波数据交互仿真波形

整数运动估计和分数运动估计数据交互仿真波形如图16所示。圆圈表示PE1200接收到PE0230给传的两个1,由于数据是从上向下传输,所以PE1200的ni_w_r=1、ni_data=1。

运动补偿和量化变换的数据交互仿真波形如图17所示。圆圈表示PE0403通过邻接互连的方式给PE0500传数。由于数据是从左向右传输,所以当PE0403的eo_exu_wr=1、eo_exu_data=-72时,表示将数据-72传出去;当PE0500的wi_w_r=1、wi_data=-72时,表示PE0500收到数据-72。一次数据交互完成,一共进行64次。

帧间环路图像重建和去块滤波的数据交互仿真波形如图18所示。圆圈表示PE1530通过邻接互连的方式给PE1433传数。由于数据是从右向左传输,所以当 PE1530的 wo_exu_wr=1、wo_exu_data=33时,表示将数据33传出去;当PE1433的ei_w_r=1、ei_data=33时,表示PE0500收到数据33。一次数据交互完成,一共进行64次。

测试结果表明,以光链路替代片间电通信能够正确完成HEVC编码过程。

3.4 FPGA综合结果及性能分析

在Xilinx V6系列芯片上通过Xilinx ISE对设计进行综合,综合结果如表1所示。寄存器占用90 658个,利用率为13%;查找表(Look-Up-Table,LUT)占用215 783个,利用率为62%;综合频率为51.327MHz。

表1 综合结果

运动补偿算法在可重构视频阵列结构中并行实现的性能如表2所示。本算法可以实现块大小的切换,灵活性较高。当处理一个8×8的块大小时,串行执行运动补偿算法需要2.196s,而并行执行只需要0.257s,加速比达到8.53。

表2 运动补偿算法性能

一些文章实现了HEVC中一两个重要算法,但本文最后的测试用例下片间光链路实现了包括运动补偿、去块滤波、帧内预测、整数运动估计和分数运动估计等多个算法,其复杂性更高。测试用例下电互连与光互连时间比较如表3所示,因光互连的Aurora IP配置需要较长时间,所以整体测试时间较长,但其板间传输时间仅为电互连的一半。FPGA综合频率比较如表4所示,虽然本文频率优势不是很明显,但光通信带宽高和损耗小的优势与传统的电互连相比,在大规模电路远距离传输和光通信领域发展空间巨大。

表3 时间比较

表4 FPGA综合频率比较

4 结束语

本文提出了一种光电混合互连结构,并将其应用在视频阵列处理器架构中。以Xilinx Aurora IP为基础,在BEE4平台上搭建了可重构视频阵列处理器光电混合互连原型系统。为了验证原型系统的正确性,通过典型算法HEVC进行测试,实验结果表明,以光链路替代片间电通信能够正确实现,且板间传输时间仅为电互连的一半。也为光电混合互连提出一种仿真验证方案。

由于光具有带宽高和延时小的优势,未来在多簇间和远距离通信中应用广泛。后期将对片间光链路进行改进,并采取多数据发送,其性能将会有大幅度提高。

猜你喜欢
发送数据光通信链路
天空地一体化网络多中继链路自适应调度技术
基于星间链路的导航卫星时间自主恢复策略
一种车载自组织网络的媒体接入控制协议
卓岚TCP/UDP调试工具
带标记方式的CRDSA++协议性能分析*
西安西古光通信有限公司
成都亨通光通信有限公司
测试软件简介
自由空间光通信技术
空间光通信激光相干组束技术研究