自动驾驶汽车需要复杂的传感器结构才能正常运作。这些传感器包括 LiDAR、雷达、视频等,它们持续产生大量与汽车周围环境相关的实时数据。传感器不断地将其输出发送到与处理单元连接的功能强大的域控制器以进行分析。来自不同传感器的离散数据随后会合并,产生与车辆的位置、速度、方向和周围环境有关的有意义信息。此过程称为传感器融合。
传感器融合通常利用定制硬件 FPGA 或 ASIC 完成。数据经过处理后,系统做出影响 ADAS 系统的决策,例如转弯、刹车或车速控制。硬件结合了复杂人工智能 (AI) 应用中的机器学习算法,以便于对传感器数据进行实时处理。
传感器融合面临的挑战包括设计和验证定制芯片,以及通常情况下设计和验证运行芯片的车辆硬件和软件系统,这也概括了 ADAS 和自动驾驶领域的工程团队所需的跨领域工作。实际上,鉴于各种城市景观和人类驾驶行为,理想情况下,设计和验证任务甚至应该延伸至城市交通场景,而这些场景本身就是非常复杂的系统。要解决的问题贯穿芯片到城市的整个范围,必须最终进行通盘考虑,即使特定学科(例如芯片设计)内的工作和以往一样复杂也是如此。
在硬件中实现机器学习算法本身就是一个挑战。例如, 一种常见的对象检测算法是基于 CNN(卷积神经网络), 它支持 “自适应巡航控制” 和 “前/后碰撞警示系统” —— 这对于实现全自动驾驶汽车显然至关重要。CNN 由多层组成,每层执行多组卷积。每层的卷积滤波器都是经过编程的 “特征检测器”,用于查找某些特征,例如水平线、垂直线等。
为了实现高精度,自动驾驶汽车的推理芯片需要应对如下额外挑战:
1. 性能:一台高清摄像机能够以每秒 60 帧的速度捕获1920x1080 图像。一部汽车可能有 10 台或更多此类摄像机。推理引擎必须能够处理以该速率传输进来的数据,做出有意义的决策。因此,CNN 的性能变得至关重要。
2. 功耗:功耗虽然不那么直观,但却是推理引擎的另一个重要指标。AI 推理是一种会耗费大量功率的操作, 其中一个重要原因是需要大量访问远程存储器。对于电动汽车,减少 ADAS 系统的功耗很重要,这样电池电量可以更有效地用于汽车的物理操作。
3. 功能安全:对自动驾驶汽车而言,功能安全是另一个越来越重要的方面。算法应能检测到硬件的各种故障可能造成的功能安全问题。通过前期验证来确保适当故障覆盖率的能力至关重要。
自动驾驶设计人员正在利用已针对神经计算和计算机视觉进行优化的新芯片架构,以更胜以往的上市速度打造更优质的自动驾驶车辆解决方案。为了最有效地实现ADAS 芯片,设计人员需要在更高的抽象层上工作,以提高设计和验证生产率。现有基于 RTL 的设计方法无法扩展以满足这种需求,因为自动驾驶汽车的 SoC 设计过于复杂,无法通过手工编码 RTL 进行高效设计。此外, 验证时间越来越长而无法控制,因此有必要尽早验证设计。对于自动驾驶系统,HLS 经证明能比 RTL 更快速、更高效地交付基于算法的更高质量设计。
在所有支持自动化互联汽车的嵌套系统(例如,复杂的车载传感器和软件网络)以及这些车辆在城市里的最终部署中,都存在类似的设计和验证压力。现如今,大多数人都认同,随着这些汽车的上街行驶,它们将与其他交通节点混合在一起,而所有这些交通节点都会越来越多地作为服务进行消费,而不是由个人拥有并停放在车道上。芯片到城市的思维(以及越来越多的集成式数字孪生设计工具组合)正在帮助实现这一未来前景。