FPGA在汽车领域的野心
2018-07-23
随着电子的不断发展,FPGA在汽车中的应用越来越广泛,在汽车的更多系统中扮演着越来越重要的角色。
FPGA在汽车相机和传感器中的应用已经很成熟,同时也在一系列新技术中赢得了一席之地,包括将成为自动驾驶汽车中心逻辑的人工智能系统,以及新型传感和通信技术。
西门子事业部Mentor的Catapult HLS综合与验证高级产品营销经理Stuart Clubb表示:“驾驶辅助应用的自动处理有很多概念,」「各种文章都在讨论怎样去做,但首先要考虑的是它昂贵的价格。你不能在一辆价值2万美元的车里装一个12000美元的液冷英伟达 GPU盒子”,就算是福特无法投入足够的资金来做到这一点。他强调。
汽车业是一个相对利润率低、业务量大的企业。虽然数量肯定不能与过去十年一直保持摩尔定律的智能手机相比,但汽车制造商过去的数十年一直努力从供应链中挤出成本。随着越来越多的电子产品被应用到汽车中,芯片和电子子系统也有了价格压力。
但汽车领域为芯片制造商增加了一些主要障碍。除了尽可能降低成本外,它们还必须符合严格的标准,如ISO 26262和ASIL A、B、C和D,并满足十年或更长时间内的弹性、老化和可靠性要求。这就是问题的源头,因为技术和标准几乎一直在发展,这也是汽车公司开始依赖FPGA作为首选处理器架构的原因。
Clubb说:「这不仅是「我们运行了30分钟,看起来不错,发货吧。」这是完全不同的一个方面。」「如果看一下人工智能目前的进展,那人们正讨论的卷积神经网络(CNN)是机器学习中最重要的事情。传统的高级驾驶辅助系统(ADAS)指行人检测、雷达处理等,但CNN是一个巨大的实验领域,因为没有人真正了解它们的工作原理。没有数学依据证明它们为什么工作以及如何工作,它们只是那样做了。它包括卷积池和训练网络。当训练一件事的网络时,它看起来很好,但当你训练几件事时,它就不工作了。大家一度认为解决方案有很多并且有很多浮点,这可能是英特尔推出Stratix 10器件上所有浮点单元的原因,因为这将是机器学习[平台]。它要么推断,要么训练,这是非常棒的。」
那是在GPU赢得算法训练市场之前。现在已经证明GPU是一种低价的训练架构,因为它们很容易并行化,并且大多数算法开发人员都很熟悉。这使得它们成为开发训练算法的数据中心的理想选择。但它并不是推理的最佳架构,其功耗、性能和面积比训练更重要。
Clubb说,现在的挑战是量化。 「哪种网络?我如何建立该网络?什么是内存架构?通过网络,虽然只有几层,开始时输入大量数据和一些系数,它很快就会转向百万个系数,它的内存带宽变得非常可怕,没有人知道真正的架构是什么。」
这些问题与用户强烈地共鸣,因为EDA领域的许多工具提供商都提出了强烈的需求,并参加了有关AI/机器学习/深度学习相关的研讨会和活动。当答案尚不明确时,设计定制ASIC的成本太高。
他说:「你唯一能做的就是买带有一堆加速器的CPU,但是没人真正找到正确的答案。福特和通用汽车已经表示他们希望整个自动驾驶系统的功耗为100瓦甚至更低,而现在证明这相当于驱动后备箱的100台笔记本电脑,因此这还有很长的路要走,而不是仅仅通过一堆GPU来解决。有人会找到通用的解决方案或具有某些可更新的具体的定制方案。这也是我们开始看到嵌入式FPGA之类的事物已经复苏的原因。」
图1:英特尔的FPGA和加速堆栈。来源:英特尔。
eFPGAs的角色越来越重要
分立FPGA的最大问题是汽车公司无法使输入和输出这些芯片的数据足够快,Flex Logix首席执行官Geoff Tate说:「FPGA上有很多SerDes通信,而且它们的性能很好,但如果你看128位总线可以在芯片上传输的数据量时,SerDes就并没有那么快。因此,任何时候任何芯片的输入和输出,通常是一个瓶颈。为了发挥FPGA的作用,它通常要和FPGA之外的事物通话。这就是Xilinx和Altera开发SoC芯片的原因,这一定程度上可以缓解这一状况。但Zynq-type 芯片非常大而且很贵,所以一类客户喜欢通过FPGA实现更具成本效益的解决方案,但不一定需要数百万个LUT或数十万个LUT。」
市场观察发现,Tate相信有许多SoC和微控制器公司希望集成FPGA。「他们看到了它的价值。我们发布的应用展示了基于可重配置FPGA的加速器比Arm处理器快在哪里。但目前的挑战是大多数微控制器公司都习惯C语言编程,他们通常不会用Verilog编程。另一个挑战是如果你看一个FPGA,这些东西的编程模型通常是一个客户编写所有的代码。现在,通过计算机或时间共享和多核,有许多程序在操作系统里同时运行。有人问如何转向模块化或多核FPGA架构,这就相当于一个应用程序库,可以在多个不同的SoC和微控制器上运行,无需人们学习RTL。如何使FPGA更像处理器,可以同时运行块代码,不同人可以同时写不同块的代码,或绕过当前的大块的RTL模型,一个人一次完成编程?这会让不是RTL专家的人更容易获得嵌入式FPGA的价值主张。」
分立FPGA长期以来一直用于汽车领域,其中包括了从仪表控制台和娱乐功能(统称为信息娱乐系统),到驾驶员辅助。Arteris IP首席技术官Ty Garibay表示:「Altera在激光雷达,声纳和雷达的传感器融合方面赢得了众多席位。你可以通过不同的格式将数据在每个接口合并,在另一端口吐出。因此,FPGA几乎可以用在任何高端汽车上。例如在360度全景摄影上,Altera和Xilinx几乎拥有所有后视摄像头市场。」
他指出,FPGA对汽车制造商来说也具有成本效益,因为传感器技术可能会发展,但整个FPGA不需要重新认证。
但是,分立FPGA并不适用于所有产品,Achronix的系统架构师Kent Orthner说:「对于向驾驶员提供指导或警告的驾驶员辅助来说,传统的FPGA就足够了。通过对自适应巡航、自动换道和自动平行停车应用制动或油门,「驾驶员辅助」的意思正在转变为「驾驶员操控车辆」。由于FPGA负责汽车的自动操控,功能安全要求变得更加严格,更加难以满足。」
他说,一支拥有开发满足汽车功能安全要求的ASIC或SoC所需经验的设计团队可以使用该设备——将eFAGA作为整个解决方案的一个组成部分。「然后这个团队可以将他们的功能安全知识应用于汽车eFPGA SoC的设计、验证、记录和描述,从而使该设备比传统的独立FPGA更容易满足安全要求。此外,eFPGA提供了更多机会,从而可以根据手头的应用定制FPGA的内核。对于汽车而言,这意味着可以使用专门的硬件电路来满足弹性要求和冗余。」
另一种力量
汽车领域对电力相关的问题并不陌生。功率预算会影响每加仑或每次充电的里程数,特别是当电动汽车越来越多时。除了这些新的电子技术外,汽车制造商也必须满足政府所有的里程要求。
Mentor的Clubb说:「特斯拉有三种冷却系统,有常规冷却系统、HVAC等等。电池有一个冷却系统,然后是基于GPU的大型显示器的冷却系统。它用在10万美元的车上很好,但我认为并不适用于本田思域。出于同样的原因,我也不会在上面投入5000美元的FPGA。过去的经验是,如果向最终客户销售的产品成本低于1000美元,那就不会在其中加入FPGA。尽管如此,工程团队还是有一个不同的说法,「我有个非常复杂的加速算法,不能通过软件做,当然不能在Arm处理器上做到这一点(GPU是没问题的,但是价格方面),所以需要一些自定义硬件。因为我不确定我已经有正确的方案了,所以需要一个中途可编程的解决方案。」这就是Soc盛行的原因。但FPGA SoC的危险在于它很容易被锁定在提供的IP中。」
图2:特斯拉的带状冷却管。资料来源:Teslarati.com
IP在其它地方都不一定发挥很好的作用。
他说:「现在,让你锁在FPGA平台的障碍需要慎重考虑,即使RTL中有你为FPGA编写的秘密,甚至是你用FPGA工具完成的HLS,这些又会锁住你。使用这种设计方法你做不了任何事情,如果你正在进行概念验证并希望被亚马逊或Facebook收购,这是可以的,但如果你打算生产真正的产品,那需要考虑摆脱这种情况,因为你实际上已经设计了IP或购买了它。这会使5000美元的FPGA看起来没有那么贵,因为你还没有为这个IP付费;但这也是一个你将如何付费的问题。人们的生产预算和发展预算上做了很大的区分。」
汽车市场提出了非常具体的要求,因此汽车的好消息/坏消息是,虽然有这些严格的要求,但他们也希望这些芯片能够工作至少10年,高级主管Piyush Sancheti说道。「在我们开始使用一次性汽车之前 ,我们希望我们的汽车至少可以工作10年。」
这种动态本身给专注于消费产品的半导体公司带来了新的挑战。
Marvell连接业务集团技术营销总监Avinash Ghirnikar表示,对其他人来说,灵活性带来了不同的方法。自2005年来,该公司一直致力于汽车和通过汽车专用设备(如88Q9098无线SoC)改变汽车需求的方法。「这款设备不是我们为手机设计的,而是刚刚进入了汽车市场。正如我们和Tier One和OEM谈过的那样,他们中的很多人都表达了制定可定制解决方案的愿望,因此我们提供固件SDK,使他们定制他们的WiFi解决方案。这意味着如果通用汽车想要凯迪拉克和雪佛兰科鲁兹的解决方案,他们可以为凯迪拉克创造一些定制,这可能与雪佛兰科鲁兹的定制不同。环境不同,它们的用例可能略有不同。」
最后,设计方法以及FPGA等技术的灵活性为汽车原始设备制造商定制汽车提供了更多的选择,并随着汽车需求的成熟而适应不断变化的要求。