历史上的今天
返回首页

历史上的今天

今天是:2025年02月01日(星期六)

2018年02月01日 | 使用系统优化编译器加速汽车电子产品设计

2018-02-01

得益于摩尔定律,汽车电气系统经历了快速的技术增长。现代化的汽车已获得长足发展,不再是耦合了AM无线电的简单发动机电气系统。如今现代化的汽车搭载了多种高级电子系统,能够执行发动机控制、高级驾驶员辅助系统 (ADAS)、牵引力与稳定性控制、信息娱乐等功能,此外还针对某些尖端应用提供了自主操作能力。 


这种汽车内电子系统部署的显著增长也带来了几个必须由设计人员解决的挑战:


·性能 – 需要实时、低时延与高确定性的性能以实现例如ADAS、ECU、牵引力与稳定性控制等多种车载功能。


·安全 – 汽车电子系统实现关键功能,故障会导致受伤或死亡。因此,系统必须实现信息安全保障与防篡改技术,以防止未授权的修改。


·安全性 – 必须符合 ISO26262 规定的汽车安全完整性水平。


·接口 – 必须能够连接多种传感器、驱动器与其他制动器。


·功率效率 – 必须在有限的功耗预算内高效运行。


·软件定义 – 具备高灵活性以适应多种市场中的不同标准与条件。

 

为应对这些挑战,汽车电子系统开发人员正在部署片上异构系统(SoC) 器件。异构器件将一个处理单元(通常为多核)与一个或多个异构协同处理器(例如GPU、DSP或可编程逻辑)相结合。

 

将处理单元与可编程逻辑相结合可构成紧密集成型系统,以便利用可编程逻辑的固有并行特性。该特性支持使用可编程逻辑(PL)实现高性能算法和接口连接,同时由处理系统实现更高级的决策制定、通信与系统管理功能。完成结合后,便可使可编程逻辑分担处理任务,从而创建更具响应性、确定性并且能效更高的解决方案。

 

就接口连接而言,异构SoC可支持多种业界标准接口,这些接口可通过处理系统或可编程逻辑实现。得益于IO结构的灵活性,可使用可编程逻辑实现关键的原有接口与定制接口。然而,这需要添加一个外部PHY来实现协议的物理层,从而提供任意连接。

 

某些异构SoC面向多个器件级与系统级安全功能提供支持,便于轻松实现。这些器件能够对启动和配置过程进行加密与验证。如果处理器内核是基于ARM处理器的,那么可使用Trustzone保证软件环境安全。有了Trustzone,开发团队便可创建正交环境,通过使用程序管理器,对软件访问底层硬件进行限制。此外,这里也提供几个额外的设计选择,例如功能隔离,可以在设计中实现,以进一步加强取决于需求的安全解决方案。

 

传统的异构SoC开发流程把设计划分为处理器系统和可编程逻辑两大部分。这种方法在过去需要两个独立的开发团队,这会增加非重复性工程成本、开发时间与技术风险。此外,该方法还将设计功能固定在处理器内核或可编程逻辑中,使后期优化难以进行。

 

人们所需的开发工具应该可实现整个器件的软件定义开发,并有能力根据需要将功能从处理器内核转移到可编程逻辑,而且非 HDL 专家也能完成。

 

这正是系统优化编译器的用武之地。系统优化编译器能利用C、C++或OpenCL等高级语言以软件方式定义整个系统行为。然后,使用系统优化编译器执行处理器系统与可编程逻辑之前的功能分区,该编译器能够使功能无缝移动,以便选择是在处理器系统中运行还是在可编程逻辑中实现。

 

图 1 - 使用系统优化编译器选择要加速的功能。

 

通过使用处理系统内部的内置定时器来为功能执行时间计时,可找出造成瓶颈的功能,从而创建瓶颈功能列表。这些瓶颈功能便成为候选,以备通过使用系统优化编译器在可编程逻辑中实现加速。

 

处理系统与可编程逻辑之间的移动是通过系统优化编译器的高层次综合(可将C、C++、OpenCL程序转换为Verilog或VHDL描述的工具)与软件定义连接框架之间的结合来实现的。软件定义连接框架能够无缝地将 HLS 结果连接至软件应用,设计团队使用这种方法,一键点击就能在处理器和可编程逻辑间移动功能。当然在用户把功能移动到可编程逻辑时,他们也得到了明显的性能提升,自然这是使用可编程逻辑的结果。与CPU/GPU解决方案相比,在PL中进行加速还能提高确定性并降低时延,这对诸如ECU和ADAS的应用来说是至关重要的。

 

图 2 - 使用系统优化编译器对资源与性能进行估算。

 

库支持


很多汽车应用都是使用业界标准开源库进行开发,例如在 ADAS 系统中使用 OpenCV 或 Caffe,或在 ECU 中使用标准数学库。为加快这些应用的开发,系统优化编译器需要能够支持多个 HLS 库,以便开发人员在其应用中使用。系统优化编译器应支持多个关键库,其中包括:


·OpenCV – 能够加速计算机视觉功能


·Caffe – 能够加速机器学习推理引擎


·数学库 – 提供标准数学库的可综合实现。


·IP库 – 为实现FFT、FIR和移位寄存器LUT功能提供IP库。


·线性代数库–提供通用线性代数功能库。


·任意精度数据类型库–使用有符号和无符号整数支持非2次幂的任意长度数据。该库允许开发人员更高效地使用FPGA资源。

 

这些库的提供为开发团队提供相当大的支持,让开发团队不必开发类似的功能。

 

真实实例


很多汽车应用的关键元素是保护数据以防止未授权修改,避免导致不安全操作。用来保护存储数据与传输数据安全的一种常用算法是高级加密标准(AES)。AES是在高级层面描述的,但最适合在可编程逻辑架构中实现的算法的范例。为了演示使用系统优化编译器的优势,已开发一款面向三种常用操作系统的简单AES 256应用。该实例最初只在处理器系统中执行,然后在可编程逻辑中实现功能的加速。 

 

图 3 - 当使用系统优化编译器时,不同操作系统的 AES 加速结果。

 

结论


异构SoC能够解决汽车电子系统设计人员面临的挑战。通过使用高级语言,系统优化编译器能够对这些器件进行开发,一旦使用处理器完成对应用功能的开发与原型设计后,处理器系统与可编程逻辑之间的功能分区即可得到优化,从而缩短开发时间,实现更安全、响应性更强、能效更高的解决方案。


推荐阅读

史海拾趣

Elite Semiconductor Products Inc公司的发展小趣事

人才是企业发展的根本。Elite非常重视人才的培养和引进工作。公司建立了完善的人才选拔和培养机制,为员工提供了广阔的职业发展空间和良好的工作环境。同时,Elite还积极引进外部优秀人才,为公司注入新的活力和创新力。这些人才的加入不仅提升了公司的整体实力,也为公司的长远发展提供了有力保障。

Highland Electronics Co Ltd公司的发展小趣事

High Tech Chips Inc成立之初,便专注于研发高性能的AI芯片。在公司创始人李博士的带领下,团队突破了传统芯片设计的瓶颈,开发出了一款具有超低功耗和高效能比的AI加速器芯片。这款芯片迅速获得了市场的认可,被广泛应用于智能手机、智能家居和自动驾驶等领域。随着技术的不断迭代和产品的持续优化,High Tech Chips Inc逐渐在AI芯片市场占据了一席之地,并成为了行业内的技术领先者。

硕颉(BITEK)公司的发展小趣事

硕颉科技股份有限公司成立于1999年11月,总部设在台北市。自成立以来,公司一直专注于积体电路的设计、研发与销售,致力于为客户提供高质量的电子产品解决方案。在创立初期,硕颉便以其创新的技术和严谨的研发态度,迅速在电子行业崭露头角。公司资本额为新台币三亿三仟万元,为公司的稳健发展提供了坚实的资金基础。

Harvatek Corporation公司的发展小趣事

背景:随着全球经济的一体化和电子信息产业的快速发展,Hantronix意识到市场拓展的重要性。公司开始积极寻求国际合作机会,拓展其全球业务版图。

发展:Hantronix通过参加国际展会、建立海外销售网络等方式,成功将产品推向全球市场。其高品质的产品和优质的服务赢得了众多国际客户的信赖和好评。同时,公司还加强了与国际知名企业的合作,共同推动电子显示技术的进步和应用。

HN Electronic Components GmbH & Co Kg公司的发展小趣事

背景:HN Electronics成立于20世纪90年代初,正值全球电子市场快速崛起的时期。公司由一群在半导体领域拥有丰富经验的工程师创立,他们看到了智能手机和消费电子产品市场的巨大潜力。

发展:初期,HN Electronics专注于研发高性能的电源管理芯片,通过技术创新解决了当时市场上存在的能效低、发热量大等问题。公司迅速获得了业界的认可,并与几家知名手机制造商建立了合作关系。

关键事件:1995年,HN Electronics成功推出其首款自主研发的电源管理芯片,该产品迅速成为市场热销产品,为公司赢得了第一桶金。

全鹏(CHAMPION)公司的发展小趣事

在2003年,全鹏公司成为巴西Coletek集团的一员,开始了其在南美洲市场的征程。起初,全鹏在巴西设立了提供系统组装所需机壳、键盘、鼠标、喇叭等配件的组装工厂,以满足当地市场的初步需求。随着业务的不断扩大,全鹏在2004年与当地市政府合作,规划并建设了一座总厂房面积达8000平方公尺的新工厂,配置了六条组装生产线和两条印刷生产线,以及一个发货仓库。这座新工厂迅速成为全鹏在巴西市场的发货中心,推动了全鹏在当地的业务增长。

问答坊 | AI 解惑

5口以太网交换机原理图

哥们今天刚按照实物反推出的,主芯片为DM9081的5口以太网交换机原理图.PROTEL99SE格式. [ 本帖最后由 西门 于 2009-5-12 18:31 编辑 ]…

查看全部问答>

关于OP07

哪位可以给我讲讲这电路上面的二极管是什么作用啊,特别是为什么要在OP07反馈和输出端加上IN4148…

查看全部问答>

一种用N+1条线实现矩阵键盘的方法

键盘输入作为最常用的输入设备仍有其不可替代的作用。下面首先对传统键盘作一个简单的介绍。 (1)传统键盘的介绍键盘的结构通常有两种形式:线性键盘和矩阵键盘。在不同的场合下,这两种键盘均得到了广泛的应用。线性键盘由若干个独立的按键组成, ...…

查看全部问答>

Platform Builder 4.2中自带的S3C2410BSP可以用于S3C2440么?

Platform Builder 4.2中自带的S3C2410 BSP可以用于S3C2440么? 或者哪里有下载用于S3C2440 BSP for PB4.2的?…

查看全部问答>

ST-LINKII可以支持MDK了

ST-LINK-II 可以支持MDK使用了!MDK3.22中文版已经在realview网站上发布了,里面已经集成了支持ST-LINKII的驱动,下载安装后就可以配合ST-LINKII使用。下载地址:http://www.realview.com.cn/down-list.asp?id=487…

查看全部问答>

我做了一块485通讯板子,帮我看看?

     专业做单片机软硬件开发                地址:哈尔滨市 南岗区 会展中心             ...…

查看全部问答>

请教:TI的M4单片机中的自带ROM里的程序是出厂就烧制好的吗?

用户自己能不能更改这个ROM内容,或者供用户使用?…

查看全部问答>

UDA1341驱动问题

有人用FPGA驱动过UDA1341吗?UDA1341芯片的L3MODE,L3CLOCK.L3DATA三个信号引脚对AD,DA有影响吗?…

查看全部问答>

ADuC7061中断方式实现串口通信

/******************************* * name: * function: * return: ********************************/ #include \"string.h\" #include \"global.h\" #include \"function.h\" #include #include unsigned char UartDataRecevice; un ...…

查看全部问答>

有人熟悉这块单片机板子么?Inter 8086的

在大四毕业季后,俺和同学去淘学长们遗留的“废品”。得此物,一查PDF,什么上世纪70年代的PDF,板子上印的是2009年做的。茫然呀…

查看全部问答>