作者: KURT SCHULER营销副总裁,Arteris IP www.arteris.com
高级驾驶辅助系统 (ADAS) 和自动驾驶汽车正在推动新芯片的爆炸式增长,其核心是片上系统 (SoC),这是一种运行复杂算法并包含许多硬件加速器的强大半导体设备“大脑。” 事实上,汽车 SoC 是自动驾驶汽车淘金热的无名英雄,许多人称之为先进工程的奇迹。
工程师如何有效地设计这些超级芯片,使其每秒处理数十亿次操作,以近乎实时地识别和分类道路上的物体?设计处理来自多个传感器、雷达和摄像头的信息以执行物体识别、距离估计和 3D 映射的 SoC 的实际挑战是什么?
以下是推动这些类似超级计算机的处理设备设计的三个趋势,无论是今天的 ADAS 还是明天的自动驾驶。
1. 管理复杂性汽车 SoC 包含越来越多的一切——CPU、DSP、内存、时钟等——以执行视觉处理、传感器融合、信息娱乐等各种任务。汽车 SoC 必须近乎实时地响应物理世界中不断变化的条件,这进一步增加了设计的复杂性。
图 2:随着高度专业化的 IP 加速器数量的不断增加,汽车 SoC 设计变得越来越大和越来越复杂。图片来源:Dream Chip Technologies GmbH。
这些新的汽车 SoC 在单个芯片上利用多个专用处理单元来执行多个同时执行的任务,例如摄像头视觉、车身控制和信息显示。片上通信基础设施是确保芯片上高效数据流的关键。随着处理元件类型和数量的增加,连接这些处理元件的互连和内存架构的作用变得至关重要。
汽车 SoC 不再是缓慢且耗电的片外 DRAM 访问,而是越来越多地采用内存技术,这些技术可以将数据保存在将要使用的位置附近。与单个处理元件紧密耦合的存储器通常作为内部 SRAM 实现,并且通常对正在运行的软件是透明的。这种方法适用于较小的系统,但处理元件数量的增加需要相应增加紧密耦合的存储器。
另一种方法是拥有可以与多个处理元件共享的 RAM 缓冲区。然而,在这种情况下,访问必须在软件级别进行管理,这反过来又会随着系统的扩展而导致软件复杂性。这种软件复杂性可能会导致系统错误,从而导致影响 ISO 26262 安全目标的错误和故障。
最后,随着系统变得越来越大,实现硬件缓存一致性技术通常很有用。它允许处理元素共享数据,而无需直接软件管理的开销。还有一种缓存一致性新技术,现在在汽车 SoC 中广泛实施,它允许处理元件有效地相互共享数据,并使用称为代理缓存的专用可配置缓存作为连贯系统中的对等点。
除了内存架构之外,无论是通过缓冲区实现数据本地化还是缓存一致,片上互连也很重要。它优化了整体数据流以保证服务质量 (QoS),从而确保汽车 SoC 满足带宽和延迟要求。
带宽分配和延迟要求是关键任务汽车设计中的一个关键因素,尤其是当某些处理可能是不确定的时,例如神经网络和深度学习处理。在这里,片上互连在实现 SoC 架构方面发挥着至关重要的作用,该架构可确保接近实时的性能,同时避免处理元件的数据不足。
2. 新技术汽车设计也为实施人工智能 (AI) 等新技术提供了动力,因为无法手动创建“if-then-else”规则来处理复杂的现实世界场景。可以处理高度复杂任务的人工智能算法正在被整合到自动驾驶系统和其他必须在近实时领域做出决策的生命关键系统中。这就是为什么机器学习是人工智能的一个子集,是自动驾驶汽车中最公开可见的新应用。
机器学习通过体验式学习实现 ADAS 和自动驾驶中的复杂任务,而使用基于规则的编程几乎不可能完成这些任务。但是机器学习需要对算法加速和数据流优化进行硬件定制。
因此,在基于机器学习的 SoC 设计中,ADAS 和自动驾驶汽车架构师正在通过添加更多类型的硬件加速器来更精细地分割算法。这些定制硬件加速器充当异构处理元素,并迎合支持实时 3D 映射、LiDAR 点云映射等功能的专用算法。
这些高度专业化的 IP 加速器可以在近乎实时的延迟范围内发送和接收数据,并提供识别和分类对象所需的巨大带宽,满足严格且经常相互冲突的 QoS 需求。在这里,芯片设计人员可以通过选择加速什么、如何加速以及如何将该功能与 SoC 设计的其余部分互连来进行竞争和区分。
关于新技术,还值得一提的是,神经网络已经成为实现机器学习的最常见方式。神经网络在这里所做的是在自动驾驶系统中实现深度学习,使用专门的硬件加速器对行人和路标等物体进行分类。
图 3:神经网络在汽车 SoC 中实现专门的处理功能和数据流功能。图片来源:Arteris IP。
深度学习是机器学习的一个分支,它涉及分层算法,以更好地理解数据。它获取没有任何意义的原始信息,并构建分层表示,从而可以生成有关其他车辆、行人和整体路边状况的见解。
3. 功能安全安全在汽车行业是不容商榷的项目,这使得安全验证成为关键任务汽车应用的 SoC 设计的关键部分。换言之,功能安全和符合 ISO 26262 标准对于服务于 ADAS 和自动驾驶应用的 SoC 设计至关重要。
ISO 26262 定义了汽车安全完整性等级 (ASIL) 的五种分类——QM、A、B、C 和 D——其中 ASIL QM 提供基本的质量管理措施,ASIL D 提供最严格的安全保护,防止可能导致生命的故障- 威胁性伤害。
有与汽车功能安全相关的特定安全机制技术,包括纠错码(ECC)、组件的硬件复制、故障安全控制器和内置自检(BIST)。这些技术使汽车 SoC 能够遵守 ISO 26262 标准。
与以软件为中心的方法相比,在芯片中实施功能安全机制具有许多优势。首先,它降低了整体复杂性,并使芯片制造商能够更好地控制系统范围的安全功能。
然而,与此同时,随着汽车 SoC 变得越来越大、越来越复杂,IP 块的数量越来越多,片上通信的作用变得越来越重要,不仅是为了满足 QoS 要求,而且对于根据 ISO 26262 设计 SoC功能安全标准。片上互连在诊断覆盖率中起着至关重要的作用,因为它可以看到芯片内传输的所有数据。这允许互连 IP 发现并在某些情况下修复错误,从而有助于满足 ISO 26262 汽车功能安全的要求。
图 4:这是片上互连为功能安全执行数据流保护的方式。图片来源:Arteris IP。
结论更好地理解本文中概述的问题将使芯片设计人员能够快速实现 ADAS 和自动驾驶应用所需的复杂功能。它还将帮助设计人员根据特定的应用要求定制 SoC 硬件架构。
审核编辑 黄昊宇
评论
查看更多