多颗FPGA片间互联方法与系统技术方案

技术编号:14139790 阅读:130 留言:0更新日期:2016-12-10 15:13
本发明专利技术提供一种多颗FPGA片间互联方法与系统,将相互连接的FPGA之间的信号线合并到一起,第一FPGA将并行数据流转换成单比特差分信号数据流数,再发送至互联的第二FPGA,单比特差分信号数据流数中携带有合并在一起信号线的内容和第一FPGA计算得到的第一CRC校验值,第二FPGA将单比特差分信号数据流转换成并行数据流,并根据其携带的合并在一起信号线的内容计算得到第二CRC校验值,当第二CRC校验值与第一CRC校验值一致时,第二FPGA将合并在一起信号线连接至各个功能模块,整个过程中,采用串并转换实现信号的高效传输,另外还采用CRC校验,确保信号传输的准确性与可靠性。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别是涉及多颗FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)片间互联方法与系统。
技术介绍
FPGA一般来说比专用ASIC(Application Specific Integrated Circuit,集成电路)的速度要慢,实现同样的功能比ASIC电路面积要大。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价,因此FPGA非常适用于原型验证。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。由于目前ASIC芯片的功能越做越多,所需的逻辑资源也越来越多,在采用FPGA搭建原型验证系统的时候,往往一颗FPGA已经不够用了,因此需要采用多颗FPGA来搭建一个复杂的原型验证系统,这会涉及到如何在多颗FPGA间传递信息的问题。TDM(Time Division Multiplexing,时分复用)技术是多颗FPGA间互相传递信息的主流技术,TDM技术利用FPGA验证运行频率较低的特点,利用分时多路复用,可以将数量较少的FPGA之间硬件连线,扩展至足够数量的等效逻辑连线。虽然TDM技术能够实现基本的多颗FPGA间互相传递信息,但是其数据传输过程可靠性低。
技术实现思路
基于此,有必要针对一般多颗FPGA片间互联方法可靠性低的问题,提供一种可靠性高的多颗FPGA片间互联方法与系统。一种多颗FPGA片间互联方法,应用于第一FPGA,包括步骤:将连接至第二FPGA的信号线合并在一起;获取合并在一起信号线的内容,根据合并在一起信号线的内容,计算第一CRC(Cyclical Redundancy Check,循环冗余码)校验值;对合并在一起信号线的内容和第一CRC校验值编码,获得编码后的并行数据流;将并行数据流转换成单比特差分信号数据流;发送单比特差分信号数据流至第二FPGA,以使第二FPGA根据第一CRC校验值进行校验。一种多颗FPGA片间互联方法,应用于第二FPGA,包括步骤:将连接至第一FPGA的信号线合并在一起;接收第一FPGA发送的单比特差分信号数据流,单比特差分信号数据流携带合并在一起信号线的内容和第一FPGA中根据合并在一起信号线的内容计算的第一CRC校验值;将单比特差分信号数据流转换成并行数据流;解析并行数据流,获得合并在一起信号线的内容和第一CRC校验值;根据合并在一起信号线的内容,计算第二CRC校验值;当第二CRC校验值与第一CRC校验值一致时,将合并在一起信号线连接至第二FPGA中各个功能模块。一种多颗FPGA片间互联系统,应用于第一FPGA,包括:第一合并模块,用于将连接至第二FPGA的信号线合并在一起;第一计算模块,用于获取合并在一起信号线的内容,根据合并在一起信号线的内容,计算第一CRC校验值;编码模块,用于对合并在一起信号线的内容和第一CRC校验值编码,获得编码后的并行数据流;并串转换模块,用于将并行数据流转换成单比特差分信号数据流;发送模块,用于发送单比特差分信号数据流至第二FPGA,以使第二FPGA根据第一CRC校验值进行校验。一种多颗FPGA片间互联系统,应用于第二FPGA,包括:第二合并模块,用于将连接至第一FPGA的信号线合并在一起;接收模块,用于接收第一FPGA发送的单比特差分信号数据流,单比特差分信号数据流携带合并在一起信号线的内容和第一FPGA中根据合并在一起信号线的内容计算的第一CRC校验值;串并转换模块,用于将单比特差分信号数据流转换成并行数据流;解析模块,用于解析并行数据流,获得合并在一起信号线的内容和第一CRC校验值;第二计算模块,用于根据合并在一起信号线的内容,计算第二CRC校验值;连接模块,用于当第二CRC校验值与第一CRC校验值一致时,将合并在一起信号线连接至第二FPGA中各个功能模块。本专利技术多颗FPGA片间互联方法与系统,将相互连接的FPGA之间的信号线合并到一起,减少FPGA片间互联所需的连线,在互联过程中,第一FPGA将并行数据流转换成单比特差分信号数据流数,再发送至互联的第二FPGA,单比特差分信号数据流数中携带有合并在一起信号线的内容和第一FPGA计算得到的第一CRC校验值,第二FPGA将单比特差分信号数据流转换成并行数据流,并根据其携带的合并在一起信号线的内容计算得到第二CRC校验值,当第二CRC校验值与第一CRC校验值一致时,第二FPGA将合并在一起信号线连接至各个功能模块,整个过程中,采用串并转换实现信号的高效传输,另外还采用CRC校验,确保信号传输的准确性与可靠性。附图说明图1为本专利技术多颗FPGA片间互联方法第一个实施例的流程示意图;图2为本专利技术多颗FPGA片间互联方法第二个实施例的流程示意图;图3为本专利技术多颗FPGA片间互联方法第三个实施例的流程示意图;图4为本专利技术多颗FPGA片间互联方法第四个实施例的流程示意图;图5为本专利技术多颗FPGA片间互联系统第一个实施例的结构示意图;图6为本专利技术多颗FPGA片间互联系统第二个实施例的结构示意图;图7为本专利技术多颗FPGA片间互联系统第三个实施例的结构示意图;图8为本专利技术多颗FPGA片间互联系统第四个实施例的结构示意图。具体实施方式在实际应用中,待验证的ASIC芯片,经过FPGA工具综合后,可以得出FPGA的资源占用率,主要包括逻辑资源,寄存器资源,存储器资源,时钟资源等。如果某一个或多个资源超过了选定的FPGA所拥有的资源,就需要将ASIC芯片的功能模块划分到多颗FPGA芯片上,划分的目标是使得ASIC芯片的功能模块在各颗FPGA芯片上的资源占用率都不会超出FPGA芯片本身所拥有的资源。理由两颗Virtex-7FPGA(第一FGPA和第二FPGA),五个功能模块(功能模块A、B、C、D以及E),其中功能模块A、B、C被划分到第一FPGA,功能模块D、E被划分到第二FPGA。为了使ASIC芯片在功能划分之后依旧能够正常工作,需要对多颗FPGA片间合理且有效的互联。本专利技术多颗FPGA片间互联方法与系统的技术方案核心内容为:采用FPGA芯片中集成的串并转换(Serdes)模块硬核资源,以及GMIIPCS(物理编码子层)软核资源。以某个具体应用实例来说,在第一FPGA中,模块A将要发送的1800比特的信息,封装成以太网帧格式,其中帧前缀采用IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师协会)802.3协议规定的格式:55555555555555d5,数据为需要发送的1800比特信息,校验采用IEEE 802.3协议规定CRC校验机制。GMIIPCS根据接收到的以太网帧进行物理编码,并将编码后的并行数据发送到Serdes模块进行串并转换,转换成单比特的差分信号发送第二FPGA。在第二FPGA中,Serdes模块接收到单比特的差分信号,经过串并转换,转换为并行数据送到GMIIPCS模块进行物理编码的解码,在解码的帧格式中,解出所需的数据信息,同时进行CRC校验,以验证数据传输的正确性,如果CRC校验出本文档来自技高网...
多颗FPGA片间互联方法与系统

【技术保护点】
一种多颗FPGA片间互联方法,应用于第一FPGA,其特征在于,包括步骤:将连接至第二FPGA的信号线合并在一起;获取合并在一起信号线的内容,根据所述合并在一起信号线的内容,计算第一CRC校验值;对所述合并在一起信号线的内容和所述第一CRC校验值编码,获得编码后的并行数据流;将所述并行数据流转换成单比特差分信号数据流;发送所述单比特差分信号数据流至所述第二FPGA,以使所述第二FPGA根据所述第一CRC校验值进行校验。

【技术特征摘要】
1.一种多颗FPGA片间互联方法,应用于第一FPGA,其特征在于,包括步骤:将连接至第二FPGA的信号线合并在一起;获取合并在一起信号线的内容,根据所述合并在一起信号线的内容,计算第一CRC校验值;对所述合并在一起信号线的内容和所述第一CRC校验值编码,获得编码后的并行数据流;将所述并行数据流转换成单比特差分信号数据流;发送所述单比特差分信号数据流至所述第二FPGA,以使所述第二FPGA根据所述第一CRC校验值进行校验。2.根据权利要求1所述的多颗FPGA片间互联方法,其特征在于,所述将连接至第二FPGA的信号线合并在一起的步骤之后还包括:将所述合并在一起信号线写入异步FIFO,以进行跨时钟域操作。3.根据权利要求1所述的多颗FPGA片间互联方法,其特征在于,所述获取合并在一起信号线的内容,根据所述合并在一起信号线的内容,计算第一CRC校验值的步骤之前还包括:将合并在一起信号线封装成以太网帧格式,获得以太网帧,所述以太网帧携带所述合并在一起信号线的内容;所述对所述合并在一起信号线的内容和所述第一CRC校验值编码,获得编码后的并行数据流的步骤包括:将所述第一CRC校验值写入所述以太网帧,获得更新后的以太网帧;对所述更新后的以太网帧进行8B或10B编码,获得编码后的并行数据流。4.一种多颗FPGA片间互联方法,应用于第二FPGA,其特征在于,包括步骤:将连接至第一FPGA的信号线合并在一起;接收所述第一FPGA发送的单比特差分信号数据流,所述单比特差分信号数据流携带合并在一起信号线的内容和所述第一FPGA中根据所述合并在一起信号线的内容计算的第一CRC校验值;将所述单比特差分信号数据流转换成并行数据流;解析所述并行数据流,获得所述合并在一起信号线的内容和所述第一CRC校验值;根据所述合并在一起信号线的内容,计算第二CRC校验值;当所述第二CRC校验值与所述第一CRC校验值一致时,将所述合并在一起信号线连接至所述第二FPGA中各个功能模块。5.根据权利要求4所述的多颗FPGA片间互联方法,其特征在于,所述当所述第二CRC校验值与所述第一CRC校验值一致时,将所述合并在一起信号线连接至所述第二FPGA中各个功能模块的步骤包括:当所述第二CRC校验值与所述第一CRC校验值一致时,将所述合并在一起信号线写入异步FIFO,以进行跨时钟域操作;待所述跨时钟域操作完成时,将所述合并在一起信号线连接至所述第二FPGA中各个功能模块。...

【专利技术属性】
技术研发人员:郭敏谢海春蒋汉柏廖北平
申请(专利权)人:醴陵恒茂电子科技有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1