得益于摩尔定律,轿车电气体系阅历了快速的技能添加。现代化的轿车已取得长足发展,不再是耦合了 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 可以处理轿车电子体系规划人员面对的应战。经过运用高档言语,体系优化编译器可以对这些器材进行开发,一旦运用处理器完结对运用功用的开发与原型规划后,处理器体系与可编程逻辑之间的功用分区即可得到优化,然后缩短开发时刻,完结更安全、呼应性更强、能效更高的处理方案。