支持cpu + fpga (3)

与会专家,第3部分:分区、安全问题、验证和现场可升级性。

受欢迎程度

虽然CPU和FPGA配对已经有一段时间了,但最近有两件事发生了变化。首先,业界已经减少了它们之间的连接延迟,其次,我们现在似乎有了这种组合的杀手级应用程序。半导体工程公司坐下来讨论这些变化和工具链的状态,以支持这一组合,肯特Orthner,系统架构师AchronixFrank Schirrmeister,公司系统与验证组产品管理高级集团总监节奏埃莉•伯恩斯(Ellie Burns)是HLS和low power的营销总监,戈登•艾伦(Gordon Allan)是Questa的产品经理导师图形.第一部分可以找到在这里;第二部分是在这里.以下是对话节选。

SE:当FPGA在芯片上移动到SoC它能改变什么吗?

Schirrmeister:对于SoC解决方案,我可以看到一种更高级别的语言,可以直观地在更高级别的软件和可编程硬件上工作。它似乎变成了特定于应用程序。人们询问高频交易,是的,我们可以使用基于fpga的原型,你可以得到正确的延迟。但是如何在CPU和FPGA之间分配算法呢?

艾伦:分区带来了一个问题,即安全性。不管是交易还是媒体处理,你都希望它是安全的。每当您有一个具有可配置逻辑的新分区时,就会引入新的风险,设备可能会被劫持,并按照它应该做的方式运行,除非它正在执行一些不需要的活动。

Orthner:通过把FPGA放在同一个芯片上,你的安全性不是更强了吗?手臂有一个完整的TrustZone系统,他们有一个MMU控制内存访问,他们了解系统中的每个主人。它是否是一个可信的组件?通过将CPU和FPGA置于可信的互连上,您可以控制谁具有访问权限,并且它变得相当安全。当你研究像PCI Express这样的东西时,你必须在设计时决定,‘安全区域是否要扩展到FPGA ?’”如果它在安全区域中,那么它需要访问所有的安全功能。然后你就有了这个大洞,如果你把一个比特流输入FPGA,那就是不可信的。然后它就可以访问主存了。

艾伦:这只是一个工具链问题,尤其是在驱动芯片安全的行业,比如媒体行业。为了获得HDMI或副本保护认证,您需要在验证流程中证明您已经完成了安全检查。您已经在安全区域和可下载区域之间绘制了虚线。如果我们划分芯片上或芯片外的界限,它仍然是一样的。这就是为什么我们看到越来越多地使用Secure Check流程向认证机构或您的客户演示您已经验证了安全性。现在,通过互联网下载到物联网设备似乎增加了一个新的不安全级别,但如果基础在那里……

Orthner当前,这与你在手机上下载一个新的应用程序非常相似。操作系统在MMU后面运行它,MMU给它一个内存空间视图,所以它不能看到系统的其余部分。

艾伦:像虚拟机一样。

Orthner:没错。我想象有一天——希望不会太远——一旦嵌入式FPGA开始普及,当你可以下载一个新游戏到你的手机上,游戏包括一个FPGA加速器,这只是你下载的一部分。它对连接到CPU上的FPGA进行编程,然后就可以开始了。要做到这一点,我们必须首先解决安全问题。

艾伦这个逻辑可以成为你的差异化知识产权

SE:这是否使FPGA成为由操作系统控制的资源,现在可以决定哪些应用程序可以在任何特定时间访问FPGA资源?

伯恩斯然后你怎么写这些加速器。未来会是什么样子?你有加速器库吗?

Schirrmeister:你可能还记得关键的蓝色.他们将分析软件并找出瓶颈所在,并为您创建特定于应用程序的加速器提供指导。这在一定程度上被使用,但他们改变了技术,做多核优化。这种类型的自动化可能会卷土重来。

伯恩斯它可能会回来的。我们正在到达FPGA之间的硬件架构,随着这些架构的变化,正在发生巨大的变化。

艾伦这就说得通多了。

伯恩斯现在你已经改变了延迟,这就更有意义了。在此之前,由于延迟,没有多少东西可以加速。所以这些方法可能是在他们的时代之前。

Orthner:我昨天看了一篇关于使用FPGA技术进行基因组测序的论文。需要加速的事情是相对较小的粒度。当他们在FPGA上加速时,它的运行速度大约慢了400倍。他们意识到,即使他们可以让FPGA运行得无限快,仅仅是PCI express的通信开销就意味着没有办法获得加速的好处。他们通过批处理一堆作业并将其作为一个巨大的消息转储发送到FPGA来解决这个问题。它们最终比普通CPU提高了几百倍,但它们必须真正应对高延迟和低带宽的限制。

伯恩斯:当我看到新的嵌入式解决方案时,而赛灵思公司英特尔如果在云端为软件加速而战,它们会自相残杀,但现在我们有了这种低延迟的新技术。

Schirrmeister:难道就没有介于两者之间的东西吗?FPGA可以由每个人编程,但我记得在90年代做过一个项目,当时一个客户正在研究需要视频编码和解码的视频会议。英特尔推出了MMX指令集扩展,它使视频变得更容易,所以他们不再需要一个奇异的解决方案。所以问题就变成了,你能全部用硬件还是全部用软件,你可以做各种硬件和软件的混合,在某种程度上你又回到了处理器的特定。所以有一系列的方法可以加速一项任务。在嵌入式领域,你还必须考虑Tensilicas和arc,在这些领域,你没有专用的FPGA,而是有一个指令集扩展。有趣的问题仍然存在:如何编程?在2006年到2008年,我们有无数的语言来编程特殊用途的硬件。全世界只有五个人会这些语言,这就导致了他们的死亡。对于特定的处理器(如IBM cell)也是如此。 Just because you have found an abstraction does not mean that everyone can use that architecture.

Orthner: gpu也是如此。看看会写CPU代码和GPU代码的人的数量。

艾伦:这在某些方面确实很重要,而且你仍然必须能够验证最终产品。如果我们说的是物联网例如,现场可升级设备—您必须验证多少不同的场景,以验证现实世界设备与同步更新之间的交互。

Schirrmeister:字段的可升级性让我害怕,因为安全入侵的可能性。虽然它可能对物联网的许多方面和一些应用领域至关重要,但它也是一个安全问题。

伯恩斯无人驾驶汽车也是如此。我的同事买了一辆新车,软件升级后,全新的功能就出现了。

艾伦:今天工具链中存在哪些可能变得无关紧要的东西?传统ASIC设计的每一个方面都适用于这个新世界和新架构,无论是用Cuda还是HLS或RTL编程,我们仍然需要进行验证。如果平台的价值是上市时间或现场升级能力,那么验证必须跟上这一步伐,并采用新的验证技术、平台和引擎,这样我们就不会成为阻碍行业发展的人。

伯恩斯我们正在谈论的所有这些行业都在以惊人的速度发生变化。

艾伦: 2G, 3G没有优化功率。到了5G时代,这一切似乎都在一起。智能芯片将支持所有这些,我们可以重置生态系统的经济。它将依赖于一小部分平台和一些适合目的的流程。我可以看到无线电算法的一部分被放到FPGA上,随着时间的推移,它可以升级。我可以看到物联网设备有小口袋的FPGA架构,用于不同的功能,包括部分无线电。然后你可以升级它们,这样就不用每5年更换一次了。或者升级钥匙,当出现问题时,让我们换掉房子上的锁,而不是重建整个房子。这些设备需要使用一代人,而不是一次性塑料。

有关的故事
支持cpu + fpga(上)
今天的工具链是什么样子的,以及这些流程中的不同心态。
支持cpu + fpga (2)
谁是真正的用户,他们将如何编写这种类型的解决方案?
嵌入式fpga时代到来
随着芯片和系统设计变得越来越异构,这些器件在更关键的功能上越来越受欢迎。
CPU, GPU,还是FPGA?
需要低功耗的设备设计?应该选择哪种类型的处理器?
FPGA原型开发取得进展
流行的设计方法可以在第一块硅可用之前进行更复杂的硬件/软件验证



留下回复


(注:此名称将公开显示)

Baidu