Speedster7t FPGA芯片中GDDR6硬核控制器详解

来源/作者:智能网| 发布:智能装备网|发布时间:2021-11-29|阅读:404

  Speedster7t FPGA芯片中GDDR6硬核控制器详解

1. 概述

  为了适应未来硬件加速、网络加速对片外存储器的带宽需求,目前市面上的高端FPGA主要采用了两种解决方法。第一种最常见的就是HBM2高带宽存储器,2016年1月,HBM的第二代技术HBM2正式成为工业标准。集成了HBM2存储器的高端FPGA可以提供高达460GB/s的带宽,但是因为HBM2技术工艺要求高,目前芯片的良率和产量都会受到很大的影响,所以集成HBM2的高端FPGA成本一直居高不下。第二种是GDDR6存储器,2018年,GDDR6发布,数据速率达到了16Gbps。Achronix看中了GDDR6在数据存储中的带宽优势,在新一代7nm工艺的Speedster7t FPGA集成了GDDR6硬核控制器,最高可支持高达512GB/s的带宽,同时可以有效地控制使用成本。

2. Speedster7t FPGA中的GDDR6控制器

  Achronix的Speedster7t FPGA集成了8个GDDR6的硬核,如图1所示。

图1 Speedster7t FPGA架构

  每个GDDR6的硬核支持双通道。总的带宽是16Gbps x 16(位宽) x 2(通道) x 8(控制器)/8 = 512 GB/s,每个控制器有两个独立的访问通道,每个通道的数据位宽为16位。这些GDDR6 控制器和PHY都是硬IP,无需消耗FPGA中的可编程逻辑资源,也无需面对布局布线所带来的时序收敛挑战。这些特征共同使GDDR6方案成为当前高端FPGA性能和成本兼顾的绝佳选择。

3. GDDR6子系统概述

  Achronix Speedster7t GDDR6子系统包括GDDR6 PHY和GDDR6控制器,全部采用了硬核设计。整个子系统包括GDDR6 PHY IP、GDDR6控制器IP、时钟和复位模块,APB接口和AXI4用户接口可以连接到二维片上网络(2D NoC)或者内部编程逻辑,如图2所示。

图2 Speedster7t GDDR6子系统框图

  时钟和复位模块用来产生支持GDDR6 PHY和GDDR6控制器的时钟以及所需的复位信号,它的输入时钟来自于FPGA片上的PLL。对于数据速率为16Gbps的GDDR6,控制器时钟为1GHz,PHY时钟为500MHz,命令地址时钟跑在2GHz,word clk也就是WCLK运行在8GHz,其他速率需要的时钟如表1所示。

  GDDR6控制器IP支持两个通道,每个通道为16bit位宽。两个通道独立访问不同的GDDR6空间。控制器的用户接口为标准的AXI协议,可以连接到二维片上网络上或者直接连到内部的可编程逻辑。在另外一边,控制器和PHY的接口为DFI4.0接口。

  表1 GDDR6支持的时钟频率模式

  PHY IP用来连接器件外围的高速GDDR6颗粒,它会像其他DRAM PHY一样产生PRECHARGE、ACTIVE和REFRESH等命令。

  APB全称Advanced Peripheral Bus,字面上是先进外围总线的意思,该总线协议是ARM公司提出的AMBA总线结构之一,已成为一种标准的片上总线结构。APB总线接口工作在250MHz,用来配置GDDR6子系统的寄存器,Speedster7t FPGA的配置电路FCU可以在启动的时候通过APB总线接口配置GDDR6子系统的寄存器,用户逻辑模块也可以在FPGA运行的时候通过APB总线接口动态配置GDDR6子系统的寄存器。

4. GDDR6控制器结构

  GDDR6控制器模块的详细结构如图3所示。它包括主控部分和其他的一些子模块,比如Multi-port front-end模块,Reorder模块,Read modify Write模块,内存测试模块和内存测试分析模块。

  MPFE模块是前端多端口模块,Speedster7t上的GDDR6控制器为每个通道提供了两个MPFE端口,它们支持AXI4协议,每个端口能够提供最大256Gbps的带宽;其中一个AXI端口用于连接到二维片上网络上,位宽为256位,时钟是1GHz。另一个AXI端口用于直接连接到FPGA内部的可编程逻辑资源,位宽为512位,时钟是500MHz。

  Reorder模块用来调整发给GDDR6控制器的用户请求的顺序。Reorder模块里有一个深度为64的队列,用于缓存用户请求,只要队列不满就可以接收新的用户请求。在接收到用户请求以后,Reorder模块可以调整用户请求的顺序,进而可以大大提高DRAM的访问效率。用户可以通过设置不同的参数来调整reorder的标准,同时这个模块也可以bypass掉,维持用户请求的原来顺序。

  RMW模块是读-修改-写的模块,先读出内存中的数据内容,然后修改单个或者多个bit以后再整体写回。有了这个模块,GDDR6控制器支持将地址mask的功能。

  Mem Test和Mem Test Analyzer是用于内存测试的模块,Mem Test内存测试模块支持生成不同的数据类型去写入GDDR6;Mem Test Analyzer内存测试分析模块将读到的数据与期望的数据进行比较,从而验证GDDR6的硬件接口和读写功能是否正常。

图3 Speedster7t GDDR6控制器框图

  GDDR6控制器支持两种模式,正常x16模式和Clamshell x8模式。在x16模式下,控制器提供了每通道16位的双通道接口,可以连接一个GDDR6颗粒。在Clamshell x8模式下,如图4所示,控制器提供了每通道8位的双通道接口,可以连接两个GDDR6颗粒。Clamshell模式提供了一种在不改变控制器带宽的情况下,通过在两个GDDR6颗粒间share地址和命令总线将容量加倍的一种方法。

图4 GDDR6 Clamshell模式

  作者:Achronix资深应用工程师 黄仑

  参考文献:

  Micron 8Gb/16Gb GDDR6 Product Brief

  Achronix website www.achronix.com

(采编:www.znzbw.cn)
标签: Achronix
反对 0 举报 0 收藏 0 打赏 0 评论 0

免责声明:
本网注明转载自互联网及其它来源的作品,目的在于传递更多信息,并不代表本网赞同该观点或对其真实性负责,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品第一来源,并自负版权等法律责任。
如资讯内容涉及贵公司版权问题,请在作品发表之日起十五天内联系本网删除,否则视为放弃相关权利。

周一至周五 AM9:00 - PM18:00

站务与合作:info@deppre.com

广告与积分:2528074116@qq.com

扫码关注或加入QQ群(577347244)

Copyright ©2024 德普瑞工控工程 All Rights Reserved 智能装备网 - 领先的智能装备采购交易平台,帮助企业轻松做成生意!  ICP备案号:粤ICP备15055877号-8