历史上的今天
返回首页

历史上的今天

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

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

2018-02-01 来源:eefocus

Giles Peckham 和 Adam Taylor

得益于摩尔定律,汽车电气系统经历了快速的技术增长。现代化的汽车已获得长足发展,不再是耦合了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能够解决汽车电子系统设计人员面临的挑战。通过使用高级语言,系统优化编译器能够对这些器件进行开发,一旦使用处理器完成对应用功能的开发与原型设计后,处理器系统与可编程逻辑之间的功能分区即可得到优化,从而缩短开发时间,实现更安全、响应性更强、能效更高的解决方案。


推荐阅读

史海拾趣

强盛电子(AEC)公司的发展小趣事

随着环保意识的日益增强,AEC积极响应国家绿色发展的号召,将环保理念融入企业的日常运营中。公司投入大量资金进行环保技术的研发和应用,推动生产过程的绿色化、低碳化。同时,AEC还积极参与社会公益活动,为保护环境、促进可持续发展贡献了自己的力量。

Hitachi (Renesas )公司的发展小趣事

AEC深知人才是企业发展的根本。因此,公司一直高度重视人才的引进、培养和使用。通过制定完善的人才政策,AEC吸引了一大批高素质的人才加入公司。同时,公司还建立了完善的培训体系,为员工提供广阔的职业发展空间。在人才的支撑下,AEC不断推陈出新,实现了持续稳健的发展。

这些故事是基于一般性的行业发展和企业成长模式构建的,并不特定于强盛电子(AEC)公司的实际经历。如果您需要更具体、更准确的关于强盛电子(AEC)的发展故事,建议您查阅该公司的官方资料、行业报告或相关新闻报道。

COMPUTAR公司的发展小趣事

COMPUTAR公司的前身是日本CBC株式会社,成立于1925年,总部设立在繁华的东京。自创立之初,CBC便致力于光学技术的研究与应用,为后续的镜头制造奠定了坚实的基础。在随后的几十年里,CBC不断积累技术经验,逐步在光学领域建立起自己的声誉。

EDSYN公司的发展小趣事

Econais的超低功耗Wi-Fi模块在医疗保健领域取得了广泛的应用。通过连接医疗设备,如监护仪、血糖仪等,这些模块实现了患者数据的实时传输和监控,提高了医疗服务的效率和质量。同时,Econais还针对医疗保健领域的特点,提供了定制化的软件开发工具包(SDK),帮助客户快速开发符合行业标准的物联网应用。

CINTERION公司的发展小趣事

2010年,电子支付与身份识别技术领域的领军企业金雅拓,全资收购了CINTERION。这一资本动作不仅为CINTERION带来了更多的资金支持,更使其在金雅拓的物联网事业部中获得了更广阔的发展空间。收购完成后,CINTERION继续保持其技术领先地位,并在金雅拓的推动下,进一步拓宽了产品线和应用领域。

General Industrial Controls ( GIC )公司的发展小趣事
Q值反映了电感器的品质因数,直流电阻则会影响电路的效率。一般来说Q值越高、直流电阻越小则性能越好但成本也越高。因此需要根据具体需求和预算来选择合适的电感器。

问答坊 | AI 解惑

鼠标指针的刷新问题

加了USB鼠标,能够显示鼠标指针。只移动鼠标,显示正常。点击鼠标时,不论左右键,鼠标指针背景就不对了,看起来是上一帧的图案。在右键菜单上下移动鼠标就会留下一行轨迹。 平时移动鼠标,没有异常,那么显示驱动里SetPointerShape应该是对的吧。 ...…

查看全部问答>

CE6.0中如何将串口配置信息保存到注册表?

WIN32下,CE6.0中如何将串口配置信息保存到注册表?大概过程是怎样的?应该保存在哪个主键中?…

查看全部问答>

谈菜鸟的FGPA学习方法

结合本人最近FGPA学习谈一下学习方法。由于本人也是FPGA菜鸟一枚,所以在做设计的时候总是会遇到各种问题,即使这种问题对于老手都会觉得“本来就 是这样!”这么简单,但对新手来说就是想觉得很奇怪。在学习的过程中,我们一般会遇到几类问题,一 ...…

查看全部问答>

求大神指导DSP选型问题哈~

现在要做一个互感器的校验仪,用DSP进行信号处理,用的是FFT,实验室现在有现成28335,可以用这个做不?选用什么型号的DSP 更好呢?谢谢大家啦~~…

查看全部问答>

求430和PT100连接最简单的低功耗电路。请指点

求430和PT100连接最简单的低功耗电路。请指点 要能I/O控制节能的~…

查看全部问答>

收集各种经典程序,算法,架构....

知识的积累,可以发生由量到质的变化。本人新手,想向各位高手收集各种经典程序,算法,架构....来研究,谢谢各位!!!(自己想出来的也可以,只要好用):rose:…

查看全部问答>

驱动开发书籍推荐

韦东山的《嵌入式Linux应用开发手册》和宋宝华的《Linux设备驱动开发详解》 哪本好些呢? 我刚计划要从单片机编程转入做底层驱动开发,哪本入门比较好? 开发板选哪个好一些…

查看全部问答>

工程师经验

工程师经验       人才的范围很宽泛,我的知识使我无法涵盖之。因此,在这里我还是仅以技术人员为主来跟大家探讨一下。下面我从发展方向、自我定位、过程实 现三个方面去分析,发展方向是目标,自我定位是基础,过程实现是 ...…

查看全部问答>

DLP3010评估套件 相关资料!

本帖最后由 蓝雨夜 于 2015-6-23 08:16 编辑 DLP3010评估套件 相关资料! …

查看全部问答>