基于双fpga芯片的高带宽可扩展复杂逻辑验证系统的制作方法

文档序号:6373089阅读:194来源:国知局
专利名称:基于双fpga芯片的高带宽可扩展复杂逻辑验证系统的制作方法
技术领域
本发明涉及一种基于双FPGA芯片的高带宽可扩展复杂逻辑验证系统,属于FPGA性能扩展技术领域。
背景技术
FPGA (Field-Programmable Gate Array,现场可编程 门阵列)是在 PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。由于成本控制的考虑或者是逻辑门数的限制,无法使用单一 FPGA芯片实现目标全部的逻辑功能。将多片FPGA芯片置于PCB上,是应对的普遍方法。FPGA芯片之间互联的方法和性能,也是衡量FPGA系统非常重要的指标之一。在现有技术中,有一种提高FPGA扩展性能的方法是在FPGA板上放置一块FPGA芯片,周围安置扩展接口,FPGA板可以利用扩展接口堆叠,从而实现扩展。该方案虽然能够提供较好的逻辑扩展性能,但在该方法中板与板之间利用接口堆叠,随着堆叠数量的增加,互联带宽难以增加,而且随着堆叠的增加接口间的干扰无法消除。此外,该方法仅仅提出物理上的接口,并无给出针对此接口的设计优化。在现有技术中,还有一种提高FPGA扩展性能的方法是在FPGA板上放置一块cyclone III FPGA芯片,周围安置4个LVDS接口,FPGA板可以利用LVDS接口扩展,实现16块FPGA芯片开发板级联成验证平台。该方法存在的缺点是单板所提供的逻辑资源较少,互联接口较少,可连接的外设较少,性能较低。

发明内容
本发明为解决现有的FPGA性能扩展技术中存在的米用两片FPGA板时系统带览较窄、多结构之间的干扰无法消除、以及采用单个FPGA板时提供的逻辑资源和可连接外设较少、性能较低的问题,进而提供了一种基于双FPGA芯片的高带宽可扩展复杂逻辑验证系统。为此,本发明提供了如下的技术方案基于双FPGA芯片的高带宽可扩展复杂逻辑验证系统,包括两片FPGA芯片,用于通过FPGA互联线进行两片FPGA芯片之间数据交互,通过扩展接口模块与外设功能模块进行数据交互,通过高速IO通道与PC机进行数据交互;FPGA互联线,用于通过连接一片FPGA芯片内部的PLB和AXI总线响应目标地址为另一片FPGA芯片的总线请求,并通过八个数据组提供两片FPGA芯片之间的数据流的控制和仲裁,每个所述数据组提供12. 5Gbps的带宽;扩展接口模块,用于提供两片FPGA芯片与外设功能模块的交互;高速IO通道,用于提供两片FPGA芯片与PC机的交互;配置模块,用于存储两片FPGA芯片的配置代码,以及在配置两片FPGA芯片时通过预定接口将所述配置代码分别写入两片FPGA芯片。本发明在一块FPGA板上集成两片FPGA芯片,在两片FPGA芯片之间的FPGA互联线提供最大IOOGbps的带宽以及8条总线同时传输数据,为用户提供了一种简单、可配置的方式利用多FPGA芯片系统,并且具有较高的性能;FPGA板还可以通过扩展接口模块连接外设,也可以扩展接口模块实现多板连接,多结构之间的干扰较少,为用户提供多样的选择。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I是本发明的具体实施方式
提供的基于双FPGA芯片的高带宽可扩展复杂逻辑 验证系统的整体结构示意图;图2是本发明的具体实施方式
提供的带有LPC接口的外设功能模块的结构示意图;图3是本发明的具体实施方式
提供的带有HPC接口的外设功能模块的结构示意图;图4是本发明的具体实施方式
提供的接口板的结构示意图;图5是本发明的具体实施方式
提供的两个基于双FPGA芯片的高带宽可扩展复杂逻辑验证系统通过接口板互联的结构示意图;图6是本发明的具体实施方式
提供的基于双FPGA芯片的高带宽可扩展复杂逻辑验证系统通过扩展接口模块连接外设功能模块的结构示意图; 图7是本发明的具体实施方式
提供的两片FPGA芯片通过FPGA互联线连接的结构示意图;图8是本发明的具体实施方式
提供的数据传输Bank的连线的结构示意图;图9是本发明的具体实施方式
提供的控制Bank的连线的结构示意图;图10是本发明的具体实施方式
提供的FPGA互联协议的抽象结构示意图;图11是本发明的具体实施方式
提供的物理层的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。传统方案中或者FPGA板上仅有一片FPGA,性能扩展通过级联FPGA板来实现;或者FPGA板上提供多片FPGA芯片,难以实现扩展。本发明的具体实施方式
在FPGA板中提供两片FPGA芯片,并为这两片FPGA芯片提供较高的互联带宽。为了更好的描述本具体实施方式
,现结合附图进行详细说明。相应的基于双FPGA芯片的高带宽可扩展复杂逻辑验证系统如图I所示,包括
两片FPGA芯片1,用于通过FPGA互联线2进行两片FPGA芯片之间数据交互,通过扩展接口模块3与外设功能模块进行数据交互,通过高速IO通道4与PC机进行数据交互;FPGA互联线2,用于通过连接一片FPGA芯片I内部的PLB和AXI总线响应目标地址为另一片FPGA芯片I的总线请求,并通过八个数据组提供两片FPGA芯片I之间的数据流的控制和仲裁,每个所述数据组提供12. 5Gbps的带宽;扩展接口模块3,用于提供两片FPGA芯片I与外设功能模块的交互;高速IO通道4,用于提供两片FPGA芯片I与PC机的交互;配置模块5,用于存储两片FPGA芯片I的配置代码,以及在配置两片FPGA芯片I时通过预定接口将所述配置代码分别写入两片FPGA芯片I。具体的,两片FPGA芯片I可采用两片Xilinx公司生产的Virtex系列FPGA芯片, 并且为两片FPGA芯片I配置4GB的DDR3内存,最高支持800MHz。扩展接口模块3可采用FMC标准接口,FMC接口分为LPC和HPC两种。FMC LPC接口 31如图2所示,用于通过68条IO接口和I路高速收发器接口提供两片FPGA芯片I与外设功能模块7的交互;FMC HPC接口 32如图3所示,用于通过160条IO接口和8路高速收发器接口提供两片FPGA芯片I与外设功能模块7的交互。采用FMC标准接口的接口板6如图4所示,可以连接多种功能的外设板,并用于多块基于两片FPGA芯片I的高带宽可扩展复杂逻辑验证平台的级联,组合扩展平台。两个基于双FPGA芯片的高带宽可扩展复杂逻辑验证系统通过接口板6连接的结构如图5所示。高速IO通道4可为两路PCI-E x4接口,支持PCI-E I. 0/2. 0规范,每路带宽最高达20Gbps,PCI-E x4接口可通过线缆连接至PC主机。配置模块5可为SYSTEM ACE模块,SYSTEM ACE允许用户将FPGA配置代码置于CF卡中,系统配置时将配置代码读出,通过JTAG接口写入FPGA芯片中;另外,配置模块还支持JTAG在线配置。FPGA互联线2是连接板上两块FPGA芯片I的传输线资源,如图7所示,包括九个Bank,其中八个Bank为FPGA互联线2中的数据传输Bank的连线11,用于数据传输,每个Bank包括16对LVDS差分数据线,I对LVDS差分数据同步线,I条单端数据有效标志位,其中的数据传输Bank的连线11的结构如图8所示,包括16对LVDS差分数据线13、16对LVDS差分数据同步线14和I条单端数据有效标志位15,数据传输组的连接方式为第一片FPGA的Bank 36连接第二片FPGA的Bank 33 ;第一片FPGA的Bank 26连接第二片FPGA的Bank32 ;第一片FPGA的Bank 25连接第二片FPGA的Bank 22 ;第一片FPGA的Bank 16连接第二片 FPGA 的 Bank 23 ;第一片 FPGA 的 Bank 15 连接第二片 FPGA 的 Bank 12 ;第一片 FPGA的Bank 14连接第二片FPGA的Bank 13 ;第一片FPGA的Bank 13连接第二片FPGA的Bank14 ;第一片FPGA的Bank 12连接第二片FPGA的Bank 15,如图7 ;另一个Bank为FPGA互联线中控制Bank的连线12,用于控制传输,包括34条单端控制线,2对LVDS差分时钟线,其中的控制Bank的连线12的结构图9所示,包括34条单端控制线16和2对LVDS差分时钟线17,连接方式为第一片FPGA的Bank 24连接第二片FPGA的Bank 24。FPGA互联线2中的FPGA互联协议针对两片Virtex系列FPGA互联线,在两片FPGA芯片中分别实现,作为IPCORE,对外接口为FPGA互联协议相互连接,对内连接内部逻辑。FPGA互联协议分为3层接口层,连接FPGA芯片内部总线和FPGA互联协议的逻辑接口,通过连接FPGA芯片内部的PLB和AXI总线,可以自动响应目标地址为另一片FPGA芯片的总线请求;中间层,实现数据流的控制和仲裁;物理层,利用FPGA互联线2和Virtex系列FPGA中IO Bank的ISERDES、0SERDES、IODELAY和BUFIO原语,为上层提供与硬件连线和原语无关的稳定、高速数据连接,物理层向中间层提供8个数据组(Data Group),每个数据组可以提供12. 5Gbps的带宽。FPGA互联协议的实现包括接口层、中间层和物理层的连接,其连接的抽象结构如图10所示。接口层包括下列装置总线接口 用于连接不同FPGA芯片的内部总线,支持PLB总线和AXI总线;地址识别器用于记录每条总线在两片FPGA芯片中的地址分步,根据总线请求地址的不同,响应总线请求或者不响应。
中间层的包括下列装置打包单元用于将FPGA芯片的内部总线打包,包头为目标地址和数据长度,包体为数据体;解包单元用于将收到的数据包拆解,还原为数据和地址;仲裁器用于仲裁来自两个FPGA芯片内部总线的对FPGA互联线的占用请求;分组单元用于根据FPGA芯片内部总线的带宽,连接一个或多个物理层的IOGroup ;合并单元用于将一个或多个数据组中的数据整合为完整的数据包。物理层的模块结构如图11所示,包括下列装置数据组采用本地时钟同步发送数据流,到达目标FPGA芯片后,继续采用目标FPGA芯片的本地时钟采样数据流,为此需要针对每个数据组独立的对本地采样时钟做相位调整,以正确的采样数据,数据同步线为此目的设立;控制组(Control Group):包括34根控制线、2对时钟信号,控制线工作频率为100MHz,采用源同步,部分控制线在初始化时需要使用;读时钟生成器(Read Clock Generator):用于生成每个数据组的采样时钟,利用IOB中的0SERDES和0DELAYS,对系统时钟添加延时,延时后的时钟通过BUFIO分配给对应的数据组;读时钟同步器(Read Clock Synchronization):用于控制读时钟生成器,使读时钟生成器生成的时钟在最优位置,即数据眼图的中央位置;输入数据同步器(Input Data Synchronization):用于在系统初始化时实现word-alignment,由于每个Iane的数据在经过0SERDES进行串并转换后,得到的字节可能与发送时的不一致,因此word-alignment利用ISERDES中的BITSILP信号,对数据同步线中的测试信号进行重排序;BCH编码器(BCH encoder):在系统初始化之后,数据同步线就不在使用,此时,可以将数据同步线作为数据线使用,传输数据位的校验,BCH编码器通过使用(1088,1024)码实现BCH编码功能;BCH解码器(BCH decoder):用于实现BCH码译码功能。本具体实施方式
中的接口层和中间层可以被多次例化,形成不同的通道,每个通道可以连接不同FPGA芯片的内部总线和不同的数据组,使FPGA互联协议支持多种宽度的总线,和多条总线。采用本具体实施方式
提供的技术方案,通过在一块FPGA板上集成两片FPGA芯片,在两片FPGA芯片之间的FPGA互联线提供最大IOOGbps的带宽以及8条总线同时传输数据,为用户提供了一种简单、可配置的方式利用多FPGA芯片系统,并且具有较高的性能;FPGA板还可以通过扩展接口模块连接外设,也可以扩展接口模块实现多板连接,多结构之间的干扰较少,为用户提供多样的选择。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.基于双FPGA芯片的高带宽可扩展复杂逻辑验证系统,其特征在于,包括 两片FPGA芯片,用于通过FPGA互联线进行两片FPGA芯片之间数据交互,通过扩展接ロ模块与外设功能模块进行数据交互,通过高速IO通道与PC机进行数据交互; FPGA互联线,用于通过连接一片FPGA芯片内部的PLB和AXI总线响应目标地址为另ー片FPGA芯片的总线请求,并通过八个数据组提供两片FPGA芯片之间的数据流的控制和仲裁,每个所述数据组提供12. 5Gbps的带宽; 扩展接ロ模块,用于提供两片FPGA芯片与外设功能模块的交互; 高速IO通道,用于提供两片FPGA芯片与PC机的交互; 配置模块,用于存储两片FPGA芯片的配置代码,以及在配置两片FPGA芯片时通过预定接ロ将所述配置代码分别写入两片FPGA芯片。
2.根据权利要求I所述的基于双FPGA芯片的高带宽可扩展复杂逻辑验证系统,其特征在于,所述扩展接ロ模块包括 FMC LPC接ロ,用于通过68条IO接口和I路高速收发器接ロ提供两片FPGA芯片与外设功能模块的交互; FMC HPC接ロ,用于通过160条IO接口和8路高速收发器接ロ提供两片FPGA芯片与外设功能模块的交互。
3.根据权利要求I所述的基于双FPGA芯片的高带宽可扩展复杂逻辑验证系统,其特征在于,所述高速IO通道包括两路PCI-E x4接ロ,用于为两片FPGA芯片与PC机的交互提供最高20Gbps的带宽。
4.根据权利要求I所述的基于双FPGA芯片的高带宽可扩展复杂逻辑验证系统,其特征在于,所述FPGA互联线包括接ロ层,所述接ロ层包括 总线接ロ 用于连接不同FPGA芯片的内部总线,支持PLB总线和AXI总线; 地址识别器用于记录每条总线在两片FPGA芯片中的地址分步,根据总线请求地址的不同,响应总线请求或者不响应。
5.根据权利要求I所述的基于双FPGA芯片的高带宽可扩展复杂逻辑验证系统,其特征在于,所述FPGA互联线包括中间层,所述中间层包括 打包単元用于将FPGA芯片的内部总线打包,包头为目标地址和数据长度,包体为数据体; 解包単元用于将收到的数据包拆解,还原为数据和地址; 仲裁器用于仲裁来自两个FPGA芯片内部总线的对FPGA互联线的占用请求; 分组单元用于根据FPGA芯片内部总线的带宽,连接ー个或多个物理层的IO Group ; 合并单元用于将ー个或多个数据组中的数据整合为完整的数据包。
6.根据权利要求I所述的基于双FPGA芯片的高带宽可扩展复杂逻辑验证系统,其特征在于,所述FPGA互联线包括物理层,所述物理层包括 数据组用于采用本地时钟同步发送数据流,到达目标FPGA芯片后继续采用目标FPGA芯片的本地时钟采样数据流,数据组包括八个Bank ; 控制组包括34根控制线、2对时钟信号,控制线工作频率为IOOMHz,采用源同步;读时钟生成器用于生成每个数据组的采样时钟,利用IOB中的0SERDES和0DELAYS,对系统时钟添加延时,延时后的时钟通过BUFIO分配给对应的数据组;读时钟同步器用于控制读时钟生成器,使读时钟生成器生成的时钟在最优位置;输入数据同步器用于在系统初始化时通过word-al ignment利用ISERDES中的BIT SILP信号,对数据同步线中的测试信号进行重排序; BCH编码器通过使用1088,1024码实现BCH编码功能; BCH解码器用于实现BCH码译码功能。
全文摘要
本发明提供了一种基于双FPGA芯片的高带宽可扩展复杂逻辑验证系统,相应的FPGA互联线用于通过连接一片FPGA芯片内部的PLB和AXI总线实现与另一片FPGA芯片的数据交换,并通过八个数据组提供两片FPGA芯片之间的数据流的控制和仲裁;扩展接口模块用于提供两片FPGA芯片与外设功能模块的交互;高速IO通道用于提供两片FPGA芯片与PC机的交互;配置模块用于存储并将配置代码分别写入两片FPGA芯片。本发明为用户提供了一种简单、可配置的方式利用多FPGA芯片系统,并且具有较高的性能;FPGA板还可以通过扩展接口模块连接外设,也可以扩展接口模块实现多板连接,多结构之间的干扰较少,为用户提供多样的选择。
文档编号G06F11/25GK102799509SQ20121023785
公开日2012年11月28日 申请日期2012年7月10日 优先权日2012年7月10日
发明者项天, 金西, 王天祺, 贺承浩, 李强 申请人:中国科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1