一种基于aurora协议进行FPGA板间高速互连的方法

文档序号:6368803阅读:4998来源:国知局
专利名称:一种基于aurora协议进行FPGA板间高速互连的方法
技术领域
本发明涉及计算机技术领域,具体地说是一种基于aurora协议进行FPGA板间高速互连的方法。
背景技术
在大规模的ASIC验证中,往往一块FPGA资源有限,很难完成验证工作,需要多块FPGA —起工作,多块FPGA要协同工作需要进行实时通信,大量的数据的涌入,给通信带来了极大的挑战。在传统的方案中,FPGA间采用LVDS进行互联,这种方案,虽然物理层较易实现,但速率受限制,PCB布线困难,可扩展性能较差。本设计采用光纤进行串行传输,运用Aurora协议作为传输协议,可以很容易解决多块FPGA间高速信号的通信问题。并且Aurora 协议是一个开放性、可升级、小型、链路层协议,可以用来进行点到点的串行通路数据传输,同时消除了其它串行协议的资源低效率问题,可以在包括FPGA、ASIC和ASSP在内的任何硅器件/技术中实现,Aurora协议可以使用I个或多个高速的串行通道。结合QSPF光纤作为传输通道,可以极大的提高系统的可靠性,可用性以及可扩展性。

发明内容
两块板卡之间传输数据要达到240Gb / S的通讯速率,对硬件软件都是一个极大的挑战,整个设计中,aurora的数据收发是提高通讯速率的重点,本发明的目的是提供一种基于aurora协议进行FPGA板间高速互连的方法。本发明的目的是按以下方式实现的,具体步骤如下
1)数据接收处理传输过程来自另一块板卡的光纤信号首先进入QSFP模块,然后在FPGA中通过aur ora协议提取数据,具体数据处理是,电信号进入FPGA的PMA,在PMA中进行数据的并串转换,进行数据和时钟恢复,然后数据流进入PCS中,在PCS中进行块同步,剔除扰码,补偿,最后解码,传递给FPGA逻辑单元进行使用,并传递给数据中心,AURORA接收过程如下
在生成AURORA IP CORE时,同时生成了一个基于AURORA协议的例示程序,因此,要实现基于AURORA协议的光纤通信,在发送端只需要在frame_gen_i模块将要发送的数据打包,然后通过AURORA模块发送出去,考虑到上一级传输数据速率会与AURORA传输的时钟频率不同,因此在发送端需要建立一个FIFO来做缓冲器,同样在AURORA协议中,要实现对数据的接收,只需在接收模块frame_check中对接收的代码加以修改,增加自己所需要的内容,完成对数据的解码提取,剔除冗余信息,并完成数据的缓存;
2)数据发送过程和数据接收过程是相反的过程,来自FPGA内部逻辑的数据,运用Aur ora协议进行处理,处理过程是,数据进入到PCS中,进行编码,剔除扰码,完成后,进入PMA中,进行串并转换后,发送到QSFP,在进行光电转换,等待另一终端的接收,在接收模块frame_check的RTL级模型中,RX_D
为接收端接收的缓存于FIFO的数据,RX_E0F_NS数据包帧尾的标志,RX_S0F_NS数据包帧头的标志,RX_SRC_RDY_N为低时代表数据有效,RX_REM
记录最后的传输数据的线程,根据接收端接收模块的时序图确定接收时序,同样,在AURORA协议末端,由于与下一级系统的速率可能不匹配,因此需要在接收末端加上一个FIFO做缓存; 综上,把复杂的高速数据转化为比较成熟的aurora协议来进行芯片间互连,既消除了带宽限制,又方便使用光纤进行互连,减小板卡设计难度。本发明的有益效果是把复杂的高速数据转化为比较成熟的aurora协议来进行芯片间互连,既消除了带宽限制,又方便使用光纤进行互连,减小板卡设计难度。


图I是利用aurora进行FPGA板间高速互连的设计图;
图2是数据传输流程 图3是接收模块frame_check的RTL级模型 图4是AURORA协议发送的时序 图5是AURORA协议接收的时序图。
具体实施例方式参照说明书附图对本发明的方法作以下详细地说明。一种基于aurora协议进行FPGA板间高速互连的方法,其系统结构如图I所示,两块板卡之间要达到240Gb / S的通讯速率,处理如此高的速率,对硬件软件都是一个极大的挑战,整个设计中,aurora的数据收发设计是重点。设计中还包括的各个模块的功能如下Virtex6作为数据处理中心,用来实现来自QSFP的电数据的高速处理。QSFP模块的作用是将内部数据经过编码后的数据,经过电光转换后,传输给接收系统,以及接收外来光数据,并经过转换后传送给FPGA,数据中心的作用是与FPGA进行数据交互。时钟模块的作用,是给系统提供参考时钟。电源管理模块的作用,是给整个系统提供各种不同的电压。
实施例I.数据处理传输过程来自另一块板卡的光纤信号首先进入QSFP模块,然后在FPGA中通过Aur ora协议提取数据,具体数据处理是,电信号进入FPGA的PMA,在PMA中进行数据的并串转换,进行数据和时钟恢复,然后数据流进入PCS中,在PCS中进行块同步,去扰码,补偿,最后解码,传递给FPGA逻辑单元进行使用,并传递给数据中心。如图2所示;
2.数据发送过程和接受数据是相反的过程,来自FPGA内部逻辑的数据,运用Aurora协议进行处理,处理过程是,数据进入到PCS中,进行编码,扰码等等,完成后,进入PMA中,进行串并转换后,发送到QSFP,在进行光电转换,等待另一终端的接收;
3.Aur ora协议对数据的具体处理过程如下
AURORA数据发送过程
在生成AURORA IP CORE时,同时生成了一个基于AURORA协议的例示程序。因此,要实现基于AURORA协议的光纤通信,在发送端只需要在frame_gen_i模块将要发送的数据打包,然后通过AURORA模块发送出去。考虑到上一级传输数据速率可能会与AURORA传输的时钟频率不同,因此在发送端建立一个FIFO来做缓冲器。图3左侧为frame_gen_i模块的RTL级模型图。AURORA协议的发送时序图如图4所示。可以看出,TX_S0F_N为数据包帧的开始标志,TX_E0F_N为数据包帧的结束.标志,TX_REM
记录最后的传输数据的线程,TX_SRC_RDY_N为低代表数据有效,TX_DST_RDY_N为低代表准备好接受数据,TX_D
是此模块的输出数据。AURORA 接收过程 接收端接收模块的时序图如图5所示,同样在AURORA协议中,要实现对数据的接收,只需在frame_check模块中对接收的代码加以修改,增加自己所需要的内容,完成对数据的解码提取,剔除冗余信息,并完成数据的缓存。接收模块frame_check的RTL级模型图如图3右侧所示其中,RX_D
为接收端接收的缓存于FIFO的数据,RX_E0F_N为数据包帧尾的标志,RX_S0F_N为数据包帧头的标志,RX_SRC_RDY_NS低时代表数据有效。RX_REM
记录最后的传输数据的线程。因此在接收端接收模块的时序图如图5所示。根据该时序图可以确定接收时序,同样,在AURORA协议末端,由于与下一级系统的速率可能不匹配,因此需要在接收末端加上一个FIFO做缓存。除说明书所述的技术特征外,均为本专业技术人员的已知技术。
权利要求
1.一种基于aimrni协议进行FPGA板间高速互连的设计方法,其特征在于两块板卡之间传输数据要达到240Gb / S的通讯速率,对硬件软件都是一个极大的挑战,整个设计中,aurora的数据收发是提高通讯速率的重点,具体步骤如下 1)数据接收处理传输过程来自另一块板卡的光纤信号首先进入QSFP模块,然后在FPGA中通过aur ora协议提取数据,具体数据处理是,电信号进入FPGA的PMA,在PMA中进行数据的并串转换,进行数据和时钟恢复,然后数据流进入PCS中,在PCS中进行块同步,剔除扰码,补偿,最后解码,传递给FPGA逻辑单元进行使用,并传递给数据中心,AURORA接收过程如下 在生成AURORA IP CORE时,同时生成了一个基于AURORA协议的例示程序,因此,要实现基于AURORA协议的光纤通信,在发送端只需要在frame_gen_i模块将要发送的数据打包,然后通过AURORA模块发送出去,考虑到上一级传输数据速率会与AURORA传输的时钟频率不同,因此在发送端需要建立一个FIFO来做缓冲器,同样在AURORA协议中,要实现对数据的接收,只需在接收模块frame_check中对接收的代码加以修改,增加自己所需要的内容,完成对数据的解码提取,剔除冗余信息,并完成数据的缓存; 2)数据发送过程和数据接收过程是相反的过程,来自FPGA内部逻辑的数据,运用Aur ora协议进行处理,处理过程是,数据进入到PCS中,进行编码,剔除扰码,完成后,进入PMA中,进行串并转换后,发送到QSFP,在进行光电转换,等待另一终端的接收,在接收模块frame_check的RTL级模型中,RX_D
为接收端接收的缓存于FIFO的数据,RX_E0F_NS数据包帧尾的标志,RX_S0F_NS数据包帧头的标志,RX_SRC_RDY_N为低时代表数据有效,RX_REM
记录最后的传输数据的线程,根据接收端接收模块的时序图确定接收时序,同样,在AURORA协议末端,由于与下一级系统的速率可能不匹配,因此需要在接收末端加上一个FIFO做缓存。
全文摘要
本发明提供一种基于aurora协议进行FPGA板间高速互连的设计方法,数据处理传输过程来自另一块板卡的光纤信号首先进入QSFP模块,然后在FPGA中通过Aurora协议提取数据,具体数据处理是,电信号进入FPGA的PMA,在PMA中进行数据的并串转换,进行数据和时钟恢复,然后数据流进入PCS中,在PCS中进行块同步,去扰码,补偿,最后解码,传递给FPGA逻辑单元进行使用,并传递给数据中心。数据发送过程和接受数据是相反的过程,来自FPGA内部逻辑的数据,运用Aurora协议进行处理,处理过程是,数据进入到PCS中,进行编码,扰码等等,完成后,进入PMA中,进行串并转换后,发送到QSFP,在进行光电转换,等待另一终端的接收。
文档编号G06F13/42GK102681971SQ201210128968
公开日2012年9月19日 申请日期2012年4月28日 优先权日2012年4月28日
发明者叶丰华, 闫波 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1