登录 | 注册 退出 投稿

ADAS和自动驾驶SoC设计中的神经网络

专栏作者 2022-10-27

内容提要:汽车电子推动了半导体设计创新的新浪潮,其中一项备受关注的新技术是神经网络(NN)。高级驾驶辅助系统(ADAS)和自动驾驶汽车设计,现在依靠神经网络来满足复杂目标识别算法的实时要求。


汽车电子推动了半导体设计创新的新浪潮,其中一项备受关注的新技术是神经网络(NN)。高级驾驶辅助系统(ADAS)和自动驾驶汽车设计,现在依靠神经网络来满足复杂目标识别算法的实时要求。

NN的概念自二战以来就一直存在,它预示着未来的大脑启发算法能够基于训练和环境进行学习,而不是显式的if-then编程。该技术最近才进入商业领域,作为实现机器学习(ML)的一种方式,主要是由于三个因素:

·训练所需的庞大数据集(“大数据”)的可用性

·足够强大的“后端”和近实时推理/决策的硬件

·高效执行算法的新软件

退一步说,ML是人工智能的一个子集,它依赖于体验式学习而不是编程来做出决策。深度学习(DL)是ML的一个子集,它能够获取没有任何意义的原始信息,并构建系统可操作的有意义的信息层次表示。

神经网络已成为在自动驾驶系统中实施深度学习的主要手段,车载神经网络在专用硬件加速器上运行,以对行人和路标等物体进行分类。当车载神经网络系统难以识别物体时,它可以记录当时汽车的环境,并将该信息无线发送到数据中心,数据中心使用新信息通过重新计算和更新汽车NN中的权重来(重新)训练系统。

图片1.png

图1:用于对象检测和分析的NN操作示例。

以用于识别车辆前方物体的NN训练操作为例(图1)。训练过程确定每个神经元输入或对象的权重,一旦按比例放大和训练,能够识别对象的神经网络将对输入或对象进行分类。为了做到在车辆中以近乎实时的延迟,NN在大型、复杂的SoC设计中使用专门的处理和数据流功能来实现。

在许多方面,汽车电子正在推动ML和NN技术的进步。以下是将NN纳入汽车SoC设计时真正重要的内容。

互连和内存架构

在基于ML的SoC设计中,ADAS和自动驾驶汽车架构师通过添加更多硬件加速器以提高NN的效率,越来越精细地分割专用处理和数据流功能。随着处理元件类型和数量的增加,连接这些处理元件的SoC互连和内存架构变得至关重要。

由于ADAS和自动驾驶汽车需要近乎实时的系统响应,以及满足车辆功耗预算的需要,因此广泛使用相对缓慢且耗电的片外DRAM访问,是NN体系结构的当务之急。为了在处理元件附近保持数据局部性并降低功耗,汽车芯片开发人员通常依赖两种设计技术:与硬件元件紧密耦合的内部SRAM和硬件缓存一致性。

图片2.png

图2:内存架构和互连是在汽车SoC中实现NN加速器的关键。

对于处理元件较少的小型设计,用作紧密耦合存储器的专用内部SRAM通常就足够了。当架构师将系统扩展到数十或数百个硬件加速器时,就会出现问题。随着元素之间连接数量的增加,内存区域增加,手动管理内存访问所需软件的复杂性呈爆炸式增长。

因此,对于较大的设计,架构师对部分或全部NN硬件架构使用硬件缓存一致性。缓存一致性还允许汽车SoC设计中的处理元件共享数据,不会带来直接软件管理的开销。

互连的数据流杠杆

接下来,除了内存访问机制之外,必须在NN SoC中优化整体数据流,以确保在ADAS和自动驾驶汽车设计中满足带宽和延迟要求。因此,无论他们是在设计缓存一致的内存架构,还是非一致的内存架构,SoC开发人员都必须正确配置片上互连。

在我们深入了解互连结构之前,值得一提的是,即使在非一致的SoC设计上,也可以使用可配置的代理缓存来实现缓存一致性。每个代理缓存的关联、连接和行为都可以针对特定用途进行优化,例如ADAS和自动驾驶汽车应用程序中的对象分类。

现在,回到片上互连,这对于处理元件的不同数据要求(包括大小、访问模式和频率),以及优化这些要求以满足整体SoC性能目标至关重要。数据流优化在确保服务质量(QoS)以满足带宽和延迟要求,并避免性能下降方面也至关重要。

互连和功能安全

SoC互连对于确保功能安全也至关重要,因为它可以看到所有数据在芯片上传输。片上互连可以发现并在某些情况下修复错误以提高芯片的安全性,从而根据ISO 26262汽车功能安全标准提升诊断覆盖。

图片3.png

图3:互连结构如何确保功能安全的数据保护。

互连技术可以通过两种方式帮助汽车SoC通过数据保护技术实现功能安全:首先,通过错误代码纠正(ECC)和奇偶校验保护,对芯片中具有安全或可靠性要求的所有数据部分进行保护;其次,通过使用智能硬件复制,影响数据包内容的互连部分。

这些安全机制与自动生成的ECC生成器和数据检查器集成在一起。此外,它们与可配置的片上故障控制器相连,该控制器管理互连范围内的内置自测试(BIST)功能,并将错误状态传达给运行时的软件。

为什么互连在神经网络中很重要

NN是ADAS和自动驾驶汽车复杂的SoC设计世界的最新成员之一。了解片上互连的功能对于汽车SoC开发人员驾驭这个复杂世界并有效管理运行ML算法的硬件加速器,起着至关重要的作用。选择正确的内存架构和互连技术对于高效运行NN操作也至关重要。专门的处理和数据流特性,使硬件加速器非常适合神经网络。在这里,互连主干成为了为NN功能集成这些硬件加速器的核心。




作者:牛喀网专栏作者
牛喀网文章,未经授权不得转载!


下一篇: 共研共学:汽车芯片安全技术线下研讨会圆满结束
上一篇: 如何加速自动驾驶SoC芯片的功能安全验证
相关文章
返回顶部小火箭