KurtShuler的个人空间 https://blog.eetop.cn/1699397 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

ADAS和自主驾驶系统级芯片设计中的神经网络

已有 1786 次阅读| 2018-9-7 21:04 |系统分类:芯片设计

汽车电子迎来了一波半导体设计创新的新浪潮,其中一受到广泛关注的新技术引起就是神经网络(NN)。当今的主流高级驾驶辅助系统(ADAS)和自动驾驶汽车设计都依靠神经网络来达到复杂的物体识别算法所需要的实时运算。

 

  第二次世界大战以来,神经网络的概念就存在,这种由大脑工作原理启发的算法给了一条能够根据训练和环境进行学习,不需要明确的if-then 规则式编码。这项技术一直到最近才被用来实现机器学习(ML)才进入商业化的阶段,主要是由于以下三个因素:

  一有了训练所需要的大数据集(“大数据”)

  二硬件的功能足够强大,足以在后端进行近乎实时的推理及决策

能够高效执行算法的新软件

 

退一步说,机器学习(ML)是人工智能的一部分,它依靠体验式学习而不是用代码来做决定。深度学习(DL)是机器学习的一支,它能够利用毫无意义的原始资料,来建立有意义而且系统可操作的层次表示信息。

 

  神经网络已经成为自动驾驶系统里的深度学习(DL)主要手段,一般这类系统都会搭载专用硬件加速器来运行车载神经网络,对行人和道路标志等物体进行分类。当车载神经网络系统在识别一个物体遇到难处时,它可以把当时的环境记录下来,并将该信息无线发送到数据中心,该数据中心会用新信息重新进行计算并更新汽车神经网络的权重,重新训练系统。

1 用于物体检测和分析的神经网络的操作示例。(来源:Lee等,ACM 2011通讯

 

以前方识别的神经网络训练(图1)作例子,训练过程会产生每个神经元的输入和权重,经过等比放大到整个网络,把整个网络训练完成后,这个神经网络就将可以识别物体并对这些物体进行分类。为了在车辆上以接近实时地做到这些,我们必须使用具有特殊处理器及数据流功能的大规模高复杂度的片上系统(SoC)来实现这类的神经网络。

  

汽车电子正在多方面的推动机器学习和神经网络技术的发展。下面,我们先看一看把神经网络整合到汽车系统级芯片设计时的重点。

 

互连和内存的架构

在机器学习用的片上系统(SOC)中,ADAS和自动驾驶汽车的架构设计师越来越精细地分割专用处理和数据流功能到更多的硬件加速器上,用这个办法来提高神经网络的效率。随着处理单元的类型和数量增多,连接这些处理单元的片上互连(SOC Interconnect)和存储器变得极为重要。

  由于ADAS和自主驾驶车辆要求系统的响应接近实时,同时功耗需要符合要求,大量访问速度较慢,耗电较大的芯片外存,是完全没有成功希望的。为了尽量把数据靠近处理单元并且降低功耗,汽车芯片开发商往往依靠两种设计技术:一种是与硬件单元紧密藕合的内部SRAM,另一种是硬件缓存一致性。

2 在实现汽车系统级芯片的神经网络加速器方面,关键是存储器构和互连。(来源:Arteris IP公司)

 

  对于处理单元不多的小型设计,使用专用内部SRAM作为紧密藕合存储器往往就足够了。当架构设计师将系统扩展到数十个或数百个硬件加速器时,这个方法就会出现问题,以为随着单元之间互连数量的增加,内存面积增大,对内存访问进行手动管理所需要的软件的复杂度也随之急遽上升因此在较大的设计里,架构师往往会把硬件高速缓存一致性(cache coherence)用到部分或全部神经网络硬件架构,利用高速缓存一致性的设计,汽车片上系统设计中的处理单元可以共享数据,但不需要直接软件管理的经常成本。

 

互连数据流的影响

接下来,在存储器访问机制之外,我们必须对神经网芯片中的整个数据流进行优化,才能满足ADAS和自动驾驶车辆设计的带宽和延迟需求。因此,不论他们是设计缓存一致性内存架构还是非一致性内存设计,片上系统开发人员都必须妥善配置片上互连。

 

在我们讨论互连结构细节之前,值得一提的是即使是非缓存一致性SOC设计,也可以使用可配置代理缓存(proxy caches)来实现缓存一致性。这种代理缓存可以针对特定用途(例如ADAS和自驾应用中的物体分类)来优化缓存的关联性、连接性和行为。

 

  现在,回过头来讲讲片上互连。片上互连对于如何操控处理单元的个式数据要求(包括大小,访问模式和频率)以及如何优化这些配置来达成SOC功能目标来说极其重要。除此之外,这种数据流优化在确保服务质量(QoS),满足带宽和延迟要求,以及避免性能下降等方面也是非常关键的工作。

 

互连和功能安全性

  对于确保功能安全,片上互连也是极为重要的,因为总线上能看到在芯片上流动的所有数据。片上互连可以发现并在某些情况下修复错误,提高芯片的安全性,可以符合ISO 26262汽车功能安全标淮的诊断覆盖率规定。

3 互连结构如何进行数据保护从而实现功能安全的示意图。(来源:Arteris IP公司)

 

  互连技术能够帮助汽车系统级芯片实现功能安全性,这是通过数据保护技术做到的,有以下两个方法:首先,通过错误代码校正(ECC)和奇偶校验来保护芯片的所有数据,以满足安全或可靠性方面的要求;其次,对于影响信息包内容的互连部分,可以很有技巧的利用最适量的备份硬件来保证信息安全。

  这些安全机制是整合在自动生成的错误代码校正(ECC)生成器和数据检查器里面的。它们还连接到一个可配置的片上故障控制器,该控制器全面管理整个互连范围的内置自测试(BIST)功能并将错误状态传送给运行时软件。

 

为什么互联在神经网络中这麽重要

ADAS和自动驾驶汽车使用的片上系统设计这个复杂的世界中,神经网络是最新的成员之一。对于汽车片上系统开发人员而言,要驾驭这个复杂的世界,同时有效地管理运行机器学习算法的硬件加速器,了解片上互连功能是关键。选择正确的内存架构和互连技术对于神经网络的运行极为重要。由于硬件加速器专用的处理能力和数据流功能非常适合神经网络,整合这些硬件加速器时,片上互连骨干便成为核心设计工作了。

 

进一步了解汽车电子神经网络机器学习芯片的内存技术,例如缓存一致性,和片上互连等。

 

  Kurt ShulerArteris IP公司市场营销副总裁,在英特尔和德州仪器的移动、消费类和企业级IP、半导体和软件方面,拥有丰富的营销经验。他是ISO 26262 / TC22 / SC3 / WG16工作组的美国技术咨询组(TAG)成员,帮助制定半导体和半导体IP的安全标淮。在进入技术领域之前,他曾在美国空军特种作战部队任职。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 0

    评论
  • 访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-16 16:12 , Processed in 0.015741 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部