×
FPGA/DSP > 可编程逻辑 > 详情

2032年的FPGA:ACM FPGA 2012年度研讨

发布时间:2020-05-25 发布时间:
|

  从今年开始,计算机协会(ACM)第20届FPGA国际研讨会将举办未来研讨:FPGA在20年后会是什么样。来自供应商、用户和学术团体的各界专家将参加这一活动,尽可能对未来做出确定性的最终预言。

  通过总结最佳工程,七名演讲人将回顾可编程器件过去20年的历史,总结出趋势线,在此基础上,进行推演。专家们将从三个主要领域为FPGA未来勾画出草图:工艺技术、体系结构,以及用于对器件编程的隐喻和工具。

  工艺技术

  微电子技术过去二十年的发展将勾画出FPGA的未来。演讲人普遍认为,到2032年,推动这种发展的主要因素毫无疑问仍然是CMOS的尺度演进。

  Xilinx CTO兼资深副总裁Ivo Bolsens认为:“硅片的发展仍将持续25年或者30年。在2030之前,我认为这一领域不会有新材料出现。”

  Altera CTO兼研发资深副总裁Misha Burich提出了研讨话题,他有相似的观点,从量子晶体管到DNA,罗列了很多吸引人的技术,但是,他没有打算进行深入的讨论。他继续发表言论,认为Altera的工艺发展将持续到2026年以后。Burich评论说:“自此之后,仍然可以使用摩尔定律作为标准。”

  那么,摩尔定律底揭示了什么呢?Burich认为:“在2032年,我们会推出1.8-nm工艺,具有3-nm特征尺寸和metal-1间距。这意味着,我们可以在一个管芯上实现8千8百70亿个晶体管。”Burich预计,这类FPGA要比今天的器件吞吐量高出250倍。但是,CTO提醒说,对于硅片,3 nm只有13个原子间隔。即使采用了原子级工艺控制技术,与目前很多电路设计的容限相比,简单的量化举例,一个12个原子长的沟道和一个14个原子长的沟道,在晶体管上都会有很大的变化。虽然更小的晶体管速度会更快,但是互联会非常慢,需要重新审视电路拓扑的传统观点,实际上,这需要突破基于单元的设计方法。

  伦敦皇家学院电气和电子工程系主任Peter Cheung在这一问题上阐述了一些面临的实际困境。Cheung预言说:“如果您想在2032年设计一款每个晶体管都能够正常工作的芯片,那么,您的产出是零。实际上,工艺变化会使得每一个芯片在物理上都是独一无二的。而且,在制造结束时,这种差别仍然会存在。”

  Cheung提醒说:“这就带来了问题。我们已经知道,随着时间的推移,很多机制,包括,缺陷电荷、热载流子效应、阻抗提高以及离子扩散等,会明显的劣化电路。这些效应目前对于芯片的工作影响是不明显的,但是,在20年内会变得越来越明显。”

  在某种程度上,Cheung认为这是可编程逻辑的一种机遇。他建议,可编程器件不仅仅是实现系统的一种方法,在2032年,每一个系统级器件都是可编程的:在运行时,芯片会将其仍然在运转的资源配置到工作系统中。Cheung评论说:“有鉴于此,我们认为可重新配置能力会有新机遇。它们包括器件专用微调功能;自测试、特性测试和诊断;失效预测;进行重新配置,从失效中恢复;避免最差情况下的设计;以及随时间变化的损耗均衡等,这都延长了芯片的使用寿命。”

  有几个演讲人还介绍了其他的关键工艺尺度问题:片外I/O带宽并没有随着芯片内部性能的提高而增强。Bolsens认为:“3D的应用会在一定程度上解决互联带宽问题。但是,3D自己也会带来新问题。我们会看到,2.5D越来越复杂,包括无源和内插存储器等,实际上,快速2.5D并不会很快消失。全3D仍然还需要十几年的时间才能成熟。”

  

  而更保守的Burich警告说,除了技术问题,3D还面临很多的业务关系问题。他警告说:“可能需要十几年的时间才能解决这些问题。”

  体系结构

  多年以来,工艺技术和应用需求推动了FPGA体系结构实质性的变化。以前,工艺还只是专注于小晶体管的数量,应用则专注于胶合逻辑,FPGA大会在异构器件是否优于同构逻辑单元方面展开了激烈的争论。今天,这方面的争论看起来结束了,但是,演讲人指出,实际并非如此。

  Burich指出:“今天,FPGA内部只有40%是逻辑架构。”他解释说,管芯的其他部分包括RAM、算术硬件、I/O、高速晶体管、协议引擎,有时候还有CPU内核和总线,以及一些支持电路等。Burich声称:“到2032年,所有的芯片都是异构的。”实际上,他认为,大规模IC体系结构是趋同的。最终,所有的看起来都是专用芯片系统(SoC),而有些芯片能够部分重新配置,具有实质性的不同。

  异构体系结构虽然很成功,但是有一个值得注意的例外。Bob Blainey是IBM汇编和下一代系统软件特聘研究员,发表言论认为,他的世界是服务器计算,而不是硅片。他描述了未来,大部分服务器都内置在垂直3D IC管芯堆叠中,服务器本身只是堆叠的一个管芯,也会包括本地存储器、互联和规模很大的同构FPGA。

  Blainey解释说,这类FPGA将成为服务器的虚拟资源:一种受保护的虚拟架构,在这种架构上,系统软件可以动态建立可共享的加速器。这类器件实际上汇集了大量可动态重新配置的逻辑门,由基于硬件的系统管理程序进行管理,对逻辑门的建立、拆除、共享和安全进行控制。

  这两类完全不同的体系结构之间也有其微妙之处。总体上,考虑SoC替代的设计人员,例如,移动设备和嵌入式计算领域的设计人员,倾向于认为未来的FPGA是关键位置具有逻辑架构的ASSP。认为在FPGA架构中直接实现软件的设计人员倾向于未来是同构架构,具有很大的I/O带宽。正如FPGA大会将要发表的论文所述,还有一些团队尝试怎样实现硬核IP资源,例如,在可综合处理阵列中实现存储器模块和DSP流水线,在软件用户中实现异构价值。

  设计隐喻和工具

  虽然在体系结构上有各种不同的观点,但是在设计人员用于表达系统所使用的工具以及隐喻上却有比较一致的看法。这种一致性的起点是,寄存器传送级(RTL)作为表达系统的一种方法,已经不够用了。Tabula总裁兼CTO Steve Teig认为:“当需要对FPGA编程时,RTL用起来很差。而C语言更差。虽然从串行转向并行执行是非常底层的工作。Haskell等功能语言要好一些,但是,我认为λ-calculus仍然不是最好的抽象表达方式,这是一种大部分功能语言都以其为基础的算术抽象语言。”

  Blainey也同意这种看法。他预测,以后将广泛的采用显式并发语言,通过库和编译器将软件转换为FPGA结构。此外,会有很多功能语言编程精英来解决这类问题。Altera的Burich和Xilinx的Bolsens都认为,今后更多的设计会定位于显式并行命令式语言,例如,OpenCL (图2)等,他们都宣称他们的公司正在从事这方面的工作。

  
图2. 将OpenCL代码编译到FPGA的并行结构中

  其他演讲人描述了完全不同的FPGA设计概念。Shep Siegel是Atomic Rules公司的创始人兼CTO,描述了一种可重用平台,每一种FPGA实现都包括具有可动态重新定位功能的库。Siegel认为:“还是需要RTL,但是,同步设计的概念只是一种隐喻。我们将扩展全局异步本地同步的(GALS)概念。而我们所关注的是弹性流水线和延时不敏感设计,我们使用时间戳来维持系统同步。”

  Maxeler技术公司主席Michael Flynn和斯坦福教授Emeritus表达了相似的观点。采用高性能计算加速器,Flynn的团队将算法简化为数据流图形。Flynn解释说:“他们采用Java描述图形中的节点,建立非常长的流水线,复制到矢量处理阵列中,直到填满硅片。”

  Flynn说:“在20年内,所有技术都将是基于阵列的,只是受到软件的限制。一个最大的难题是必须改变编程模型。软件开发在过去20年的发展一直没有处理好并行问题。”

  Bolsens还介绍了系统软件面临的另一难题——在20年内将成为高级程序员的这一代会喜欢什么。我们已经过时了。如果您注意一下一个16年的老程序员,您会发现他们安心于异构的环境——Java、Perl、Python,等等。他们会选择一种库、应用程序或者他们能找到的一类代码。

  缺少的环节

  几名演讲人还介绍了目前的技术以及2032未来技术之间一些未能解决的关键问题——从系统非常抽象的视图到器件编程文件等。

  Bolsens说:“必须通过研究填补软件和硬件设计之间的空白。”Blainey还介绍了可综合加速器的问题,他认为这是未来服务器堆叠中动态重新编程难以解决的问题。Flynn列举数字说明了这一观点:“今天,我们的布局布线需要运行数十个小时。那么,到2032年,是不是要运行一个月?供应商应该把这些工具置入到云中。”

  Cheung的概念是通过常数可重新配置功能保持硅片工作,而且还假定了某类动态重新编译功能,进一步发展了这种观点。他认为:“我们将看到所有这些东西连接起来,这样,有足够的资源来管理重新配置问题。”他的观点是,每一电子系统中都会有机械智能功能,云不再是服务器的远程堆叠,而是扩展到互联设备群中。这种观点在支持泛在计算之前就有了,但是,Cheung认为处理亚2-nm技术必须要采用这种观点。

  总结

  总之,研讨发言人认为并不会出现对摩尔定律尺度发展革命性的偏离。但是,在怎样处理大量的晶体管上存在争议,怎样解决尺度带来的新问题。我们应该构建越来越专用的异构混合硬件功能模块和可配置模块?还是,研究大量逻辑门,提高本地逻辑门速率,开发大规模块架构,以实现虚拟加速器?或者,需要可重新配置互联专业知识来保持功能固定芯片不变,从而提高产量,在这一领域继续发展?

  我们会怎样考虑我们正在建立的系统?几乎可以肯定的是,RTL不会成为主要隐喻。但是,在过去,我们表达系统所使用的语言有一个不好的趋势,总是按照刚毕业的这些人的喜好进行编程。我们能否构想,在ad-hoc脚本语言中将复杂系统作为任意混合异步任务来实现?软件为主的团队是否需要更简洁的解决方案来设计2032年的系统? 敬请关注。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
机器视觉可用的不同电缆和连接器类型以及相关利弊分析