Speedcore eFPGA在自动驾驶汽车中的应用
扫描二维码
随时随地手机看文章
概述
无论一辆汽车它是21世纪20年代初的辅助驾驶汽车,即带有用于信息娱乐系统、传动系统和自主驾驶员辅助系统(ADAS)的智能子网的汽车,还是未来3级 (Level 3)及以上的自动驾驶汽车(在车流中驾驶时只需最少的人力辅助),网络化交通系统对硬件加速的需求正在迅猛增长。几年前,由Nvidia,Mobileye和其他以CPU为中心的供应商推出的最受青睐的汽车智能模型都假设了一个集中式汽车网络,其中由带有增强DSP功能的多核RISC CPU来管理一套专用的子网络。现在,关注点正在迅速转向分布式汽车智能化,其中包含带有相关视觉系统的复杂相机,具有来自物联网世界的传感器中枢架构的传感器子网络、以及用于车载信息娱乐系统(IVI)和ADAS的附加子网络、以及传动系统/动力系统子网络,共同协作来实现自动驾驶汽车功能。
虽然Achronix预计未来的传统车辆和自动驾驶车辆最喜欢的架构都将是分布式架构,但是任何一种网络都需要比目前已经实现的架构更多的后备协处理能力。汽车网络中预期的分布式计算架构将是异构的,需要从网络控制到利用深度学习节点的并行对象识别的混合计算资源。结果,豪华辅助驾驶汽车中目前CPU的基数多达100个,而在自动驾驶汽车中可能会增加到几百个CPU。传感器中枢将需要后备图像处理来实现扭曲和拼接效果;以太网需要IP进行数据包过滤/监控,以及与传统CAN和FlexRay网络的特殊桥接。在第一代汽车架构中使用整数个CPU和GPU,将迁移到需要可编程加速的高度专业化计算节点。
为了优化芯片面积和功率效率,在未来的汽车平台上,相比固定功能的SoC或传统的FPGA,将Speedcore™嵌入式FPGA(eFPGA)硅知识产权(IP)集成到SoC中以提供客户可配置功能,是实现快速切换协处理的一个最佳选择 。要了解更多关于处理过程的演变,请参见Achronix白皮书(WP008):SoC中的EFPGA加速 - 了解Speedcore IP设计流程。
Speedcore eFPGA IP在异构汽车数据处理中的独特作用
Speedcore eFPGA IP可以集成到ASIC或SoC中,以提供定制的可编程逻辑阵列。客户指定他们的逻辑、内存和DSP资源需求,然后Achronix配置Speedcore IP以满足他们的特定需求。Speedcore查找表(LUT)、RAM模块和DSP64模块可以像积木一样进行组合,为任何给定应用创建最佳的可编程逻辑阵列。Speedcore eFPGA IP在汽车网络集成方面提供独特的优势,无论是在现有设计中取代一个FPGA还是增强一个ASIC。
l 更高的性能 – 一个eFPGA通过宽阔的并行接口直接连接(无I / O缓冲器)到ASIC,提供显著更高的吞吐量,延迟仅为个位数的时钟周期。 在需要对迅速变化的交通状况进行实时响应时,延迟非常重要。
l 更低的功耗:
l 可编程I / O电路的功耗占独立FPGA总功耗的一半。一个 eFPGA直接连接到SoC,完全消除了大型可编程I / O缓冲器,从而降低了功耗。
l 一个eFPGA的面积可以根据最终应用的要求精确定制,并且可以调整工艺技术以实现性能和功耗的平衡。
l 更低的系统成本:
l 一个eFPGA的片芯占用面积比等效的独立FPGA小得多,这是因为可编程I / O缓冲器,未使用的DSP和存储器模块以及过度配置的LUT和寄存器都全部被移除。
l 借助Speedcore定制模块,可将定制功能作为附加模块添加到eFPGA逻辑阵列中,并与传统的LUT、RAM和DSP构建模块一起添加。这种高效的实施方式极大地降低了片芯尺寸面积,最大限度地降低了功耗,其总体结果就是,大大降低了系统成本。有关更多详细信息,请参阅Achronix白皮书(WP009):使用Speedcore定制模块来增强eFPGA功能。
l 更高的系统可靠性和良率 - 将FPGA功能集成到ASIC中,可以提高系统级信号完整性,并消除了在PCB上安装一个独立FPGA相关联的可靠性和良率损失。
以ADAS为中心的处理模型
由于多个视觉处理系统的融合被认为是驾驶辅助和自动驾驶车辆的核心,所以先进驾驶员辅助系统(ADAS)在未来的汽车架构中保持了核心地位,即使被认为是管理者中的管理者的多核视觉处理器,也已经部分被取代了。涉及DSP和整数密集型任务两者的图像实时处理,最初被认为是从静态相机或视频图像中提取信息以确定对象类型、位置和速度的问题。随着设计人员为自动驾驶车辆做准备,ADAS处理器的角色已经扩展到包括视觉、红外、超声波、激光雷达(LIDAR)和雷达图像的融合。在传统的SoC和协处理器套件中,图像预处理与CPU分开执行,并且必须通过一个或多个高速总线与CPU连接。即使ADAS架构的总线延迟得到改善,当协处理器在单独的芯片中实现时,也会付出延迟的代价。因此,将eFPGA IP与统一ADAS架构中的CPU相结合,以确保在快速变化的交通状况中有视觉、红外或雷达警报的快速响应,这是可以验证的最有效的方式。
将多个传感器源与一个ADAS内核集成在一起,提供了Speedcore IP与一个CPU并行嵌入的一种理想应用场景。 Speedcore IP支持客户将一个定制的可编程逻辑阵列嵌入到具有专用计算资源的标准化ASIC平台中(请参见下图,并请参阅第4页)。在实践中,这种集成化可以将从图像源汇总的数据写入CPU的缓存,而不是写入独立的SDRAM。 减少CPU的中断意味着对移动中汽车视野里的物体有更多的实时响应。
视觉处理器(通常来自相机输入的2D图像,尽管已包括越来越多的3D图像)可以依靠多年来在边缘提取、格式转换、色彩平衡和分辨率变化方面积累的图形处理器研究。包括Ceva和Synopsys在内的一些处理器IP供应商,也在对象分类和识别中提升了卷积神经网络的价值。以Nvidia为代表的,在这两个领域都有经验的CPU供应商,已经试图在传统的CPU / GPU任务与特定的神经网络模式识别引擎之间取得平衡。对于汽车中的神经网络子架构,正从需要高精度浮点DSP的早期成熟架构迁移到能够使用低精度DSP内核的自我培训推理引擎,Speedcore DSP64模块为新的深度学习架构提供了大量的开销。 对ADAS和视觉处理演变的一个共同认识是,实时汽车的态势感知永远不会有一个最佳的集中式ADAS处理器或SoC。总是会有意想不到的协同处理和加速任务被添加到ADAS中心内核中。
任何ADAS处理器固有的两项附加功能是传感器融合/中枢集成和网络转换。前者涉及将来自各种传感器的信息进行组合和关联:包括CMOS图像、红外、激光雷达和新兴的小型化雷达等传感器。网络转换是指以太网的主干网络与CSI-2、FlexRay、CAN甚至更早的网络协议的接口。虽然未来的一个ADAS SoC确实可以集成一个传感器中枢或一个以太网MAC,但总是会有一些新兴的功能,由CPU外部的外围逻辑极好地提供。由于传感器被聚合并且网络在输入到CPU之前在芯片内互连,所以通过减少暴露的接口来保持安全性是一个解决方案,同时通过片上集成来提高可靠性,对于许多这样的任务而言将被证明是最佳的方案。
图1:Speedcore阵列(左上)链接到CPU子系统及内存集群
可编程能力在功能安全性中的作用
从驾驶辅助车辆到完全自动驾驶车辆的过渡已经提高了安全性在新车中的地位。网络对车辆的控制越多,越多的司机期望多级安全性以防止诸如引起了公众高度关注的2016年特斯拉死亡事故这类事件。这种对于容错安全性的驱动力促使业界颁布了针对自动驾驶汽车领域的ISO 26262标准,它是作为电气和电子系统IEC 61508通用功能安全性标准的衍生标准。
在EDA和SoC社群内的早期工作已经实现了ISO 26262方法体系的标准化,以确保IP中功能安全性。故障模式、效果和诊断分析(FMEDA)技术阐述了针对IP单元的功能和故障模式的标准规范,一个故障模式对产品功能的影响,自动诊断检测故障的能力,设计强度以及运行情况分集,包括环境压力。一个强健的系统应该最大限度地提高IP单元的诊断覆盖范围,并通过适当处理安全的、检测到的和未检测到的故障来提供高度的功能安全性。
嵌入式FPGA由于其极度可编程化的特性,还可以增强车辆在作为系统时的安全性。 除了主控车辆的“航行”功能之外,SoC中的eFPGA还可以承载大量的硬件诊断功能,其运行速度比基于软件的诊断快几个数量级,大大增加了任何车载内置的自测故障覆盖率(BIST)。 此外,它们以可编程方式帮助汽车制造商更新已部署的系统,从而有助于ISO 26262安全性生命周期。 以特斯拉车祸为例,如果事故的根本原因是硬件中托管的对象检测算法中有错误(由于性能原因),只要开发了修复程序,就可以将其推送到整个车队。可以绕过漫长而昂贵的硬件开发和重新部署过程。
分布式控制意味着分布式智能
由于摄像头的安装位置以及对局部传感器中枢的需求,汽车设计人员总是规划在车体内采用了大量的分布式智能。尽管如此,诸如Nvidia Tegra等多核多线程处理器的早期支持者都认为,要把大部分智能都集中在仪表板中或者附近,尽管是为了高度并行的CPU工作于对象识别。现在,先进的ADAS在辅助驾驶汽车和三级自主驾驶汽车的完全自主性之间的模糊界限已经引起人们的注意,回到分布式智能,其中CPU、GPU和神经网络处理器在车体内提供了多个管理和控制点。这种转变意味着可编程架构的更多机会存在于全面覆盖的SoC设计之外。
现在,ADAS处理器市场每年增长超过25%。这种增长是由于从自动紧急制动、换道辅助和自适应巡航控制等功能开始,ADAS功能已从豪华车辆转移到中型和入门级车辆 - 这些功能将在下个十年中期之前被普遍使用。与此同时,三级自动驾驶汽车将于2018年在诸如宝马17等豪华平台上推出,而全自动五级汽车可能在2022年之前可供商业销售。随着自主驾驶平台从三级发展到四级和五级,传感器中枢、摄像头和激光雷达/雷达设备将遍布整个车辆,并且每个都需要本地控制。
这种控制模式在业界产业整合中已经清晰可见,如高通公司对恩智浦发起的收购、以及英特尔对Mobileye的收购,处理器领域将由那些致力于将开发生态系统引导至特定专业领域的大型供应商占据主导地位 — 英特尔采用服务器加机器学习模式,英伟达采用GPU /机器学习模式,高通采用以蜂窝移动通信为中心的模式,增加了恩智浦Cognivue和i.MX处理器。例如 Ceva、Cadence / Tensilica、Synopsys / ARC和VeriSilicon等IP开发人员将尝试通过其在特殊处理器内核方面的专业技术来颠覆封闭模式。与此同时,如Broadcom、Valens和Marvell等网络专家将寻求围绕以太网主干网络来定义汽车架构。
这样的市场格局与企业网络演变成数据中心的时代有些相似。以处理器为中心的半导体供应商试图定义一个完整的系统架构,但设计领域则展示了多样化的狂野西部(Wild-West)风格,其中用不同的逻辑套件来为一家组件供应商(以及OEM或汽车制造商)提供样品从而创建特有的优势。在这样的环境中,配置为IP的可编程逻辑(如Achronix的Speedcore eFPGA)将扮演重要角色,不仅在近期辅助驾驶和自动驾驶汽车开发方面是这样,而且在这两种类型的车辆多年来的分布式处理器开发发面亦是如此。
Speedcore eFPGA IP提供了其他优势,例如通过写入CPU缓存而不是片外内存来最大限度地减少CPU中断。 CAN设计中所需的BIST电路通常占总ASIC电路的10%至15%,由于支持BIST的电路可以在eFPGA内可编程,所以在许多情况下这些电路可以被省去。 另外,eFPGA可以提供片上探测功能来进行诊断。对于现有的基于ASIC的、无需更换FPGA的系统设计,Speedcore IP所具有的灵活性将支持对新算法进行编程,从而延长了现场已部署的ASIC的使用寿命。在5G蜂窝网络现有设计中使用Speedcore IP也将使该架构成为未来V2X通信接口的理想型选择。
在未来的全自动和先进辅助驾驶车辆中,存在几十个甚至数百个分布式CPU。 用于将汽车子网连接在一起的外设处理功能可由ASIC、SoC或传统FPGA提供服务。 但是,Speedcore eFPGA IP的引入提供了传统FPGA所不具备的,在延迟、安全性、带宽和可靠性等方面的优势。