作为一个FPGA博主、作为一个写了一本FPGA畅销书的博主,老粉应该都发现了我好久没讲FPGA了。不是我不想讲,明明是FPGA行业已经太久没有新动态了啊~
不过就在整个FPGA行业近乎沉寂了好长时间之后,三月份我们熟悉的AMD又搞了一波事情。他们发布了一个新的产品系列Spartan UltraScale+,专门面向物联网、边缘计算和嵌入式这些成本敏感的应用领域。
说白了,其实是一类小芯片,但懂行的人一眼就能看出来,性能其实并不弱,主打一个小而强大。不仅如此,我得给这类芯片上一波价值,这次推出的新产品其实意义也很重大:它将高端FPGA架构放在了「低端」走量的FPGA中。看似下沉,但其实是技术和应用的双向奔赴,也代表了FPGA对自身定位的重塑。
今天这篇文章就以这颗小而强大的芯片为例,聊聊FPGA在人工智能时代的未来到底路在何方。
1、低端产品+高端架构 = ?
这次AMD发布的新产品叫Spartan UltraScale+,对FPGA不太熟悉的朋友可能有点晕。这里就先给大家简单科普一下AMD FPGA的命名规则,其实hin简单,和英文名字一样,前面的Spartan是名、后面的UltraScale+是姓。它们其实代表了衡量一个FPGA芯片的两个维度,姓代表工艺制程和架构,相当于一个代;名代表了每代里的不同系列,有高中低各种档次,也代表了不同的性能。
比如,这次新品的姓是UltraScale+,这其实就代表着它是一颗用16纳米工艺制造的芯片,这也是AMD现在的次顶级。比他还厉害的就只有7纳米工艺的Versal,比他弱一点的有20纳米的UltraScale、以及再古老一点的28纳米的7系列、40纳米的6系列。除了工艺,每代产品在架构上也会有区别。比如UltraScale+就集成了新的UltraRAM和片间集成技术,UltraScale相比前一代集成了3D封装等。
再来说名字,高情商的说法,这次的Spartan其实是整个AMD FPGA里的「成本优化型」产品,面向低成本和边缘端应用的场景;低情商的说法,其实Spartan就走量的应用。比他更高的还有Kintex和Virtex,硬件资源更多、性能也更强,比如像Virtex UltraScale+就是我们组日常开发在用的主力产品类型。
Spartan这个产品系列首发于1998年,可能比很多看文章的朋友年龄还大。事实上,像这种「成本优化型」FPGA的应用场景已经非常广泛了。比如医疗领域的自动除颤器和手术机器人,数据中心里用来做服务器板卡的控制和管理,甚至火星探测器和CERN的粒子加速器里也用到了这颗芯片。四舍五入的说,很多突破性的研究都是靠Spartan才完成的啊!
那么像Spartan这样的FPGA到底有什么独特优势、能用在这么多领域呢?就拿自动除颤器举例,我发现最近几年很多公共场所都配备了这个救命的机器。既然是医疗设备,稳定可靠是首要考虑因素,这也是FPGA的主要优势。功能方面,这些领域的应用功能比较明确,本身也不需要特别大的算力,用不上高端的CPU/GPU甚至高级的FPGA。此外,这种手提移动设备体积小、功耗不能太大,成本肯定也不能太高。综合考虑起来,像Spartan这样的「成本优化型」FPGA是最合适的,因为它们兼顾了高效、高稳定性、低功耗、低成本的因素。
从技术的角度来看,云端、终端和边缘端三者的侧重点有很大不同。云端主打算力性能,PC这样的终端主打通用和灵活性,而边缘端计算更讲究多个传感器的深度融合,对实时性也有很高的要求。传统的嵌入式MCU或者嵌入式GPU主打灵活性和性能,但可编程的I/O引脚有限,很难同时连接多个传感器或网络设备,此外计算的确定性和事实性都不足。
相比之下,FPGA其实是这类应用的一个非常好的选择。它有很多个可编程I/O,通过灵活配置可以连接很多外设和传感器,而FPGA自己就作为结合了控制和计算的核心单元。此外,FPGA上的逻辑结构可以根据算法或应用来调整,并且可以实现很高的并行性,端到端的延时很低,能够保证边缘端应用的实时性,所以FPGA在边缘端的应用非常广泛。
到了人工智能时代,不是只有大模型才是AI唯一的应用,物联网边缘计算其实也有非常大的机会。有数据显示,到2028年,物联网设备的数量将增加一倍以上。这不仅带来了更多边缘端算力的需求,也对各种物联网设备之间的互联、扩展还有安全性都提出了更多的要求。而这也是AMD继续加码成本优化型FPGA背后的本质逻辑。
接下来我们就看看这次发布的Spartan Ultrascale+ FPGA是如何把高端架构下沉到走量的产品中、从而更好的满足了边缘端的新需求。这些架构的变革应该也代表了未来FPGA的一个重要的发展方向。我总结了四点,咱们一个一个来看。
2、边缘AI+FPGA=?
首先,Spartan Ultrascale+根据边缘端应用的特点,深度优化了I/O密度和性能。高I/O密度指的是,不仅I/O接口的数量要多,而且对于同样FPGA逻辑单元来说,I/O的比例也要高。行业有个衡量方法,叫I/O逻辑单元比。用这个量化标准,Spartan UltraScale+是前一代产品Spartan7的3.5倍。绝对数量上,它也提供了最高572个、三种不同类型的I/O,支持3.3V电压,也支持MIPI D-PHY协议、实现3.2G MIPI D-PHY。多说一句,MIPI(移动产业处理器接口)是一个面向移动设备和边缘应用的接口协议标准,能帮助处理器和核心芯片和传感器摄像头这些外设更快的连接。
此外,I/O多还不够,还需要更高的连接性能。这主要得益于Ultrascale+的加持,新产品的收发器带宽也得到大幅提升,比如能以16.3Gb/s的速度运行高达8个GTH收发器。和同样面向嵌入式和边缘端的另外一个产品线Artix 7相比,Spartan Ultrascale+的收发器带宽提升2.5倍、MIPI带宽提升4倍,这对于体积功耗有限的I/O密集型应用非常重要。
比如在工业机器人的应用里,可以让一颗FPGA芯片连接多个电机、传感器、摄像头、工业网络等等,很好的支持这些边缘应用的扩展和互联。所以说,Spartan Ultrascale+之所以在I/O上下这么大功夫,本质上就是通过FPGA连接更多设备,也让更多原本独立的应用,快速进入到边缘AI的时代。
对于边缘计算的场景来说,低功耗也至关重要。这也是AMD把Ultrascale+架构下放到Spartan上的最主要原因之一。一个直观的优势,就是16纳米这个工艺节点已经优化的非常透彻成熟了,所以整体性能和功耗都已经趋于最好的平衡。比如和28纳米的芯片相比,新产品的总功耗能降低达30%,同时性能提升高达1.9倍,一上一下,性能功耗比就拉满了。逻辑单元数量方面,从11000到218000逻辑单元,一共九款产品,不管是嵌入式应用、服务器板卡管理,还是边缘计算场景来说,总有一款适合你。同时,新架构上还硬化了LPDDR、PCIeGen4等等这些常见外设控制器IP,不用耗费宝贵的逻辑资源去实现、而且性能更高,让接口部分的能效提升达60%。可能原来需要更高端(也就更贵)的芯片才能完成的设计,现在用Spartan就能做了。
面对边缘端应用的特殊需求,这次Spartan Ultrascale+ FPGA还集成了很多专用IP,比如面向安全保护的专用单元。这一方面是保护边缘计算系统不受威胁,另一方面也是在保护知识产权。万一别有用心的黑衣人把除颤仪给偷了、芯片取下来做反向工程,破解了FPGA上的关键IP,然后自己去做;或者把上面的功能给改了,本来应该救人的功能变成了害人,那后果就严重了。
在Spartan Ultrascale+ FPGA里集成了非常多安全功能,主要分成三类,一个是保护FPGA上的设计和IP,比如使用后量子密码技术抵御网络攻击和威胁,以及物理不可克隆功能避免反向工程和盗用;第二是防止篡改,比如可定制的篡改响应、秘钥管理和针对测信道攻击的DPA对策;第三就是使用增强的单事件干扰性能,最大限度延长运行时间,提升可靠性。
别问我上面这些是啥意思,做安全的朋友可以来给我们科普下,总之我就是觉得很安全就对了。
此外,AMD还特别提升了对开发工具易用性的优化。软件和开发工具,其实是FPGA厂商很深厚的护城河。看过我的书的朋友们应该还记得,FPGA芯片刚出现的时候,FPGA厂商就决定要自己做完整的工具链和开发流程,现在回头看,这其实是个非常明智的决定。
在边缘应用里面,很多开发者可能是软件或算法背景,对FPGA或者硬件开发并不熟悉。如果让他们去学大量EDA工具,就有点事倍功半的意思了。一个重要的需求,其实就是在统一的开发环境里进行全流程的开发。就拿Spartan Ultrascale+ 来说,开发这个FPGA只需要学习掌握AMD的Vivado工具就OK了,这里面集成了仿真综合布局布线优化调试等等FPGA开发全流程,能够实现所谓的端到端的设计,不用再去学第三方的工具。
这样最大的好处就是能极大提升开发效率、降低复杂性,加速产品上市,特别是对于那些应用侧的开发人员来说尤其重要。我之前做过两期FPGA的学习路线,分别是入门版和进阶版(点击前面链接查看),之后我也会介绍更多FPGA开发的知识和工具的使用技巧,也会带大家用开发板来做一些项目的实操,所以一定要记得点一下关注。
3、FPGA的未来=?
Spartan Ultrascale+之所以是个小而强大的FPGA,就是因为它很好的满足了人工智能时代对FPGA的新需求,这个其实对于整个FPGA产业的发展也算是投石问路,有着挺好的借鉴意义。咱们最后也借着这个题目稍微发散一下。
首先,技术仍然是最硬的硬道理。FPGA本质还是芯片,芯片本质就是把沙子变成最尖端科技的「魔法」。所以如何能在越来越小的芯片上、集成越来越多的功能,仍然是FPGA、甚至是整个芯片行业在研究和突破的方向。
虽然我们表面上看起来,Spartan和Ultrascale+这一个名一个姓只是排列组合在一起,但它背后蕴含的技术突破还是非常硬核、没那么简单能实现的。与其说UltraScale+这种「高端」架构下沉到Spartan这样的低端产品上,不如说是技术和需求的双向奔赴,毕竟能解决问题的技术,才是有用的技术。
第二,FPGA仍然是不可替代的存在。然后虽然FPGA行业貌似蛰伏了很久,新消息也不是很多,很多人甚至认为现在GPU一统天下,FPGA已死。但其实事实远不是这样。FPGA一个重要的特点就是非常非常长的生命周期,短则五六年,长则十五六年。比如AMD去年还发过消息,说Spartan的上上代产品Spartan6的生命周期至少要延长到2030年。这说明这些FPGA的生产制造技术支持等等将继续延续,采用Spartan6的产品也不需要被强制更新,而是可以继续服役。这就很好的体现了FPGA极高的稳定性,也体现了了医疗工业这些FPGA应用领域的稳定性。所以FPGA在这些领域仍然有着不可替代的作用。
当然,在新的时代,FPGA厂商也好、其他芯片厂商也好,也要顺应时代,预判别人的预判,找到自己未来的发展方向。我最近看了一个电影《年会不能停》里就有一句话,解决问题的关键,就是找到关键的问题。虽然是大鹏在搞笑,但其实解决FPGA未来发展的关键问题就是新应用,比如人工智能的边缘端应用和推理应用,就是FPGA非常适合的领域。找到了方向,也需要提前布局。再用电影里的话,拉通上下环节,打组合拳~
最后,软件工具和IP仍然是王道。FPGA的硬件结构其实已经处于很开放的状态,里面长什么样已经固定了好多年。但它的核心竞争力主要还是来自软件工具和IP,比如前面说过的端到端的开发工具,以及各种高速接口和安全IP等等,这些才是FPGA的附加值,也是各个厂商的技术护城河和核心竞争力。
说了这么多,你是否看好FPGA的未来发展?对Spartan这样的成本优化型FPGA未来又有怎样的期待?欢迎在评论区一起聊聊。
(注:本文不代表老石任职单位的观点。)