板卡标识码 :05Kintex70351
请记下 ID:351,下载客户需求单,填好后与客服人员联系,我们将尽快安排工程师与您沟通。了解 太速服务流程 请点击进入

多核Kintex7 FPGA加速卡

 

一、概述

基于逻辑超算市场的高速发展,公司成立FPGA硬件加速项目组。专注开发运算达到100亿次每秒以上的逻辑加速算法平台。

新一代FPGA加速卡,采用多颗FPGA为运算单元。相比以往的加速卡选用更高端大容量的FPGA芯片,设计更高集成度的架构,具备更大的逻辑容量和更高的计算频率,支持实时加载不同功能的逻辑算法满足变化运算功能,灵活而全面的满足当前超算市场的各种应用。

 

  二、主要特性

采用这种方案,主要特性如下(由于FPGA可以兼容多种型号,以XC7K325T来说明):

  • 强大的运算能力(如运行DES64算法达到约200亿次每秒);
  • 运算单元FPGA管脚兼容2种不同容量(325T/410T);
  • 支持动态可重配置
  • 支持板卡程序加密;
  • 支持FPGA过温保护功能;
  • 带有2G bit DDR3存储器;
  • 功耗约35W,支持PCIe插槽供电和机箱电源12V供电2种方式;
  • 符合PCIe Gen2速率规范;
  • 符合PCIe x4插槽定义,尺寸是68.9mm X 250mm;
  • 采用主动散热片散热。

三、服务器支持

由于板卡为半高pcie卡,支持1U以上所有服务器单卡和多卡模式。

如塔式服务器:

   

1U服务器:

 

四、加速卡结构

功能框图

如下所示:

 

 

五、FPGA配置框图  

方案的FPGA配置示意图如下所示:

 

可以实现如下3个配置场景:

场景一

  • 通过菊花链结构,进行在线调试。通过选择相应电阻焊接与悬空,来支持不同数量FPGA的调试。如下所示:

 

   

场景二

  • 上电配置时,FPGA_A采用BPI模式加载,其他2颗(FPGA_B和FPGA_C)通过SPI接口实现动态加载。

BPI模式配置加载如下:

 

 

 

SPI模式配置加载如下:

 

 

    场景三

  • 通过上位机和FPGA桥片通信,实现2颗运算单元的FPGA远程功能升级。

六、数据流框图  

方案的数据面框图如下所示:

 

加速卡的PCIe接口采用PCIe x4的形态。FPGA_A内部有8个GTX模块,分别要分配给上位机和FPGA_B之间通信使用。FPGA_A以PCIe Gen2速率规范和上位机通信,PCIe Gen2的速率是5Gbps,PCIe x4即可达到约20Gbps。

加速卡上有3颗FPGA,分别称为:FPGA_A、FPGA_B、FPGA_C。FPGA_A是主控片,负责和上位机通信,汇总其他2颗FPGA的运算结果,控制其他FPGA工作状态,将各种信息汇报给上位机等等。其他2颗FPGA纯粹运行算法,2颗FPGA之间通过不同速度的IO接口相连,GTX是FPGA内部高速Serdes接口,速度是6.6Gbps;LVDS接口速度是1.2Gbps。

DDR3是一片内存颗粒,封装兼容多种容量大小,如1Gb或2Gb。DDR3内存主要起到FPGA_A和上位机通信时缓冲池的作用,避免在运算的过程中由于频繁通信而导致的整体性能下降。

七、时钟分配框图  

如下所示:

 

时钟部分包括50MHz的晶振输入给FPGA_A,经过内部的PLL电路产生不同种类的时钟,如DDR3工作时钟。其中HR2_LVDS_IBUG是FPGA_A连接其他2颗FPGA的IBUFG管脚,用来提供逻辑工作时钟。GTX模块是通过一个时钟芯片扇出3路GTX_REFCLK,分别用来给3颗FPGA提供Serdes工作时钟。

八、结构工艺设计

方案的FPGA布局示意图如下所示:

 

方案采用PCIe x4 ADD-IN Card插槽定义,尺寸是68.9mm X 250mm。如上图所示加速卡左侧需要使用挡板将之固定在上位机上,同时,需要给每个FPGA芯片加装带风扇的散热片。

  

 

九、电源热设计

3颗FPGA占据了加速卡上绝大部分功耗,所以FPGA的供电和热设计是整个板子的核心。

FPGA内部带有温度监控模块。当芯片温度达到所设定的阈值时,将自动停止用户逻辑。直到温度恢复正常后,自动重新运行用户逻辑。这方面的配置在逻辑软件中实现,如图示:

 

 

同时,FPGA_B、FPGA_C可以通过GPIO中断将温度警报汇报给FPGA_A。可以由FPGA_A统筹安排温度监控,逻辑运行等策略。

 

 

根据Xilinx的功耗评估软件XPE,将FPGA资源尽可能多占用的前提下,得出1颗XC7K325T型号的FPGA如下数据(即极限值,实际使用中不会这么大):

 

 

十、基于PCIe接口的局部可重构

启用了基于PCIe接口的局部可重构技术(Partial Reconfiguration)。即在上位机的控制下,通过PCIe接口,对FPGA内部的用户逻辑进行动态更新、配置。这种技术在工作时主要分作2个步骤:

  • 对PCIe system link的配置初始化;如图示:

 

 

2. 用户逻辑的重构。