2、Agilex FPGA的新提升
时间:2022-05-01 10:15:02 | 来源:行业动态
时间:2022-05-01 10:15:02 来源:行业动态
如果穿越回N年前(N大于等于5),给当时的工程师说FPGA现在长这样,估计绝大部分人都会惊掉下巴。特别是Agilex FPGA,更是和传统的FPGA架构有着巨大差别。
Agilex这个名称源于Agile(敏捷)和Flexible(灵活)的合二为一。相比于其他指标,比如性能、功耗、成本,Agile Fexible这两点才是业界对现代FPGA的最迫切需求。
也就是说,人们不仅需要一个高吞吐量、高带宽、高逻辑单元的性能猛兽,更需要一个灵活性强、适用性广,开发简单高效的器件。只有这样,才能更好的履行硬件加速器的职责,才能符合前面说的大方向:移动更快、存储更多、处理一切。
从架构和技术的角度详细分析Agilex的改进与提升,总结起来主要有6个主要方面:
1、全新的芯片布局
2、新一代HyperFlex寄存器架构
3、多样的时序优化方法
4、英特尔10纳米SuperFin工艺
5、系统级3D芯片
6、更灵活的DSP和布线微架构
举例来说,Agilex的芯片布局进行了大修,把通用I/O、存储器I/O、SRAM等等单元都移到了芯片的上下两端。原本这些单元都在芯片中间按列分布,这会把芯片分割成很多个小的设计区域,容易造成布线拥堵和延时。Agilex的新型芯片布局,就从根本上规避了这些问题,从而加速设计的时序收敛。
另外一个例子就是Agilex的HyperFlex寄存器架构。这种结构从Stratix10 FPGA里首次获得采用,到Agilex已经发展到了第二代。事实上,HyperFlex的想法是非常理想的,也就是在FPGA的布线资源上插入很多小寄存器,可以将时序路径分割成更小的部分,从而极大提升系统的工作频率。
但是这种方案实施起来,就遇到很多问题。比如HyperFlex寄存器本身会引入额外的延时,每个小寄存器的扇出数量,也会对系统性能造成负面影响。另外加入了这么多额外的单元,又对设计软件的自动化算法提出了挑战。其实,这些问题很多都在Stratix10里真实存在。
也就是说,HyperFlex的思路没错,但是实施方式出现了问题。所以,Agilex改进了Stratix10里第一代HyperFlex的设计缺陷,从原本更宽的多扇出设计,改成了现在更窄的少扇出设计,同时简化了HyperFlex寄存器本身的设计,减少了旁路延时。FPGA的基本组成单元ALM,也进行了重新设计,单独增加了额外的输出端口,可以直连HyperFlex寄存器。这些优化设计,都让Agilex的性能取得了大幅提升。根据英特尔的数据,仅是HyperFlex相关的改进,就将延时降低了超过20%。
当然还值得一提的是Agilex的制造工艺。它采用了英特尔的10纳米SuperFin工艺。它比英特尔的基础10纳米工艺取得了进一步提升。相比14纳米的Stratix10,Agilex更是取得了平均50%的性能提升、以及高达40%的功耗降低。
和赛灵思的7纳米旗舰产品Versal相比,Agilex也可以取得1.42倍的性能提升,以及超过30瓦的功耗降低。
那么,什么是驱动这些提升的根本动力?就是数据中心对算力的需求、是边缘计算对延时的需求、是各种数据和应用对存储容量、数据传输速度的需求。
归根到底,都是各种需求。于是,FPGA上集成了更多晶体管、更多IP、更强大的收发器,原本的架构不够用,就设计新的架构,更好的利用这些多出来的晶体管。
所有这些,又会进一步延续摩尔定律的发展。