Page 29 - 网络电信2020年5月刊上
P. 29
图5 两片FPGA之间光通信链路设计方案示意图 1. AuroraIP功能仿真
通过编写测试和检测文件得到的仿真波形如图8所示。图
中,frame_gen1栏中产生待发送的数据,当CHANNEL_UP信号为
高电平且TX_DST_RDY_N信号为低电平时,说明链路建立完成,
且接收方已做好接收数据的准备,此时发送数据使能信号TX_
SRC_RDY_N和发送起始位信号TX_SOF_N拉低,数据开始传输,当
到达最后一位时,发送使能信号TX_SRC_RDY_N拉高,发送结束
路的正确性,在BEE4平台上接入QSFP+光模块与Aurora IP核互 位信号TX_EOF_N拉低,数据传输结束。在frame_check2栏中,
连,形成光通信链路,在两片FPGA上分别进行发送和接收逻辑 接收数据使能信号RX_SRC_RDY_N拉低,接收起始位信号RX_SOF_
的设计,进而验证光通信链路数据传输的正确性。两片FPGA之 N拉低,数据开始接收,当接收到最后一位时,接收数据使能信
间光通信链路的设计方案如图5所示。由于所使用的光纤在同一 号RX_SRC_RDY_N拉高,接收结束位信号RX_EOF_N拉低,数据接
时刻只允许进行单向通信,虽然Aurora IP支持全双工方式进行 收完成。图中可以看到发送端数据信号TX_D与接收端数据信号
数据通信,但在用户逻辑端需要避免对光纤链路发送与接收的 RX_D相同,说明数据传输正确。(图中所有信号的高电平都为
争用。 1,低电平都为0)
用Verilog硬件描述语言对用户发送和接收逻辑进行设
图8 Aurora IP仿真波形图
计,FPGAA和B端的逻辑设计框图分别如图6和7所示。采用状态
机的方式连续发送4个数据,在modelsim10.1d环境下进行功能
仿真,在Xilinx ISE14.7开发套件下选择相应器件进行逻辑综
合。
图6 FPGA A端逻辑设计框图
2.片间光链路仿真
在对Xilinx Aurora IP进行了功能验证后,选用BEE4板进
行光通信链路的FPGA验证。发送端用户逻辑的仿真波形如图9
所示。从图中可以看到,当tx_dst_rdy信号为高电平时,可以
发送数据,之后发送端使能信号tx_src_rdy拉高,同时发送数
据信号tx_data开始发送数据,连续4个时钟周期后,发送端使
能信号tx_src_rdy拉低,数据发送完成。在BEE4平台上,将BPS
环境下生成的FPGAA和B端的配置流文件分别下载到相应的FPGA
图7 FPGA B端逻辑设计框图
上进行波形观测,观测到FPGAA和B端的波形分别如图10和11所
示。
图9 发送端用户逻辑的仿真波形图
在FPGAA端,当光模块接入对应光口,且FPGA上完成电复
位,Aurora IP核完成初始化后,数据发送准备信号tx_dst_rdy
拉高,表示链路建立完成。在操作终端对FPGAA端进行复位后,
数据发送使能信号tx_src_rdy拉高,发送数据信号tx_data有
在BEE4平台上,将两个QSFP+光模块与对应光口连接,而 效,开始发送数据,此处发送一组数据111、222、333和444,
后将BPS环境下生成的FPGAA和B端的配置流文件分别下载到相应 发送完成后,数据发送使能信号tx_src_rdy拉低,发送数据信
FPGA上,通过Analyzer工具加载chipscope文件进行波形观测, 号tx_data无效。在FP-GAB端同样完成上电复位和Aurora IP核
看接收到的数据是否与发送数据一致。 的初始化后,数据接收使能信号rx_src_rdy拉高,此时数据接
收信号rx_data有效,当接收完成后,数据接收使能信号rx_
三、仿真验证与原型系统实现 src_rdy拉低,数据接收信号rx_data无效。由图可见接收到的
网络电信 二零二零年五月 47