作者: MathWorks中国 陈晓挺博士
在汽车电气化、智能化、网联化快速发展的今天,汽车所用的芯片数量与种类也日益增多。电气化引领了汽车电子电气架构的革新,催生出域控制器等集中式大算力芯片和 IGBT 等功率芯片。智能化则引入了多种类的传感器和 AI 应用,带动了雷达、激光雷达、摄像头、智能座舱、5G 车联网等模组、处理器、存储芯片、以及 AI 计算芯片的发展。
与消费电子芯片相比,车规级芯片需要满足更严苛的工作环境、更长久的质量保证、更严格功能安全的要求。
车规级芯片的功能安全是设计出来的
功能安全要求一个安全系统在发生随机的、系统的、常见的故障时,不会导致安全系统故障,也不会导致人的伤害或死亡、环境污染、设备或生产损失。
ISO 26262 是汽车行业广泛接受的电子功能安全标准,提供了规范及设计指导原则,贯穿产品从概念开发、系统、硬件及软件开发、生产到报废的整个开发过程。由于芯片在汽车系统中扮演着越来越重要的角色,ISO 26262 2018 版本新增加了 11 章节半导体指南,规范了覆盖故障模式、相关性失效分析 DFA、故障注入等通用技术,以及对数字、模拟、存储、可编程器件等半导体部件的具体要求。
完整的仿真、充分的验证、自动化的过程再现等是 ISO 26262 标准推荐的功能安全芯片设计方法的一般准则,MATLAB 基于模型设计的方法学,能够帮助工程师快速地自动化地实践 ISO 26262 标准。
建立芯片最终客户关心的应用级功能模型
功能正确是功能安全的基础,智能电动汽车芯片的功能专业、新颖、复杂,例如激光雷达信号处理、ADAS 视频图像处理、电池监测传感器测量与控制、高压电机驱动器等,需要在芯片设计研发阶段进行大量的功能建模仿真与分析。基于模型设计方法学的一个核心价值即是建模,建模工作不仅包含芯片内部的功能算法模型,也包括测试这些功能所需的外部组件和环境的构建,例如 ADAS NCAP 测试场景、被控电机模型、锂电池组模型,还包括 SoC 芯片的架构分析模型,例如软硬件划分、内存访问、总线竞争等等。
MATLAB & Simulink 及各种工具箱为各类智能电动汽车芯片的开发提供建模、仿真、测试支持,以满足 ISO 26262 对硅前功能测试的要求。
应用级系统模型能够帮助芯片工程师确保用来评估设计的验证签核(signoff)标准与芯片最终客户最关心的标准一致。
“我们的客户中有相当一部分是Tier 1汽车供应商,他们最关心的就是规格书中的各项性能指标,比如信噪比(SNR)和总谐波失真(THD)。他们反倒不太关心大多数 IC 验证团队会关心的一些主要指标,比如单个组件测试结果、代码覆盖率结果,以及其他硬件实现级别的指标。另外,我们的客户利用现场试验和真实驾驶场景来评估完整的雷达系统,而 IC 验证团队则使用与真实信号相去甚远的测试图形来评估单个射频、模拟和数字组件。我和所在团队定义并实现了流程前置方法学,使得我们验证 IC 设计的流程与客户评估 IC 设计的标准保持一致。我们开发用于虚拟现场试验的路试驾驶场景基于许多客户所遵循的 Euro NCAP 标准。我们生成的功能和性能指标(如 SNR)与客户评估自己产品中的 IC 组件所用的指标相同。”——NXP 雷达芯片工程师。[1]
可仿真的模型不仅有助于提升公司内部芯片的设计开发验证、下一代产品的迭代优化效率,也可以虚拟处理器(vCPU)的方式服务早期客户,抢占市场先机。
自动化功能安全的验证
这是一个机器人与 AI 技术开始盛行的年代,基于模型设计的研发流程和嵌入在流程中的各种自动化工具正在越来越多的被汽车工程师和芯片工程师所采用。
ISO 26262 功能安全标准要求对芯片进行功能和结构覆盖率驱动的验证。而根据业内的调研结果,芯片开发过程中验证占用了 50%的时间。使用自动化工具提高验证效率变得非常有意义。
芯片验证工作通常由芯片验证工程师完成,日常地挣扎于算法专家和 RTL实现工程师的沟通洪流中。基于模型设计可以显著提高芯片验证效率,通过将验证前移,提高芯片算法的质量,从而减少算法、实现和验证的迭代次数;同时在算法、实现和验证传递可仿真的模型,也比传递文档能够减少许多沟通误差。
在芯片模型上,工程师可以使用 Simulink CoverageTM 测量芯片模型和生成代码中的测试覆盖率,识别缺失的测试或意外的功能,并在图表上查看覆盖率结果;或者借助 Simulink Design VerifierTM 使用形式化方法识别芯片设计错误,发现难以发现的死逻辑和设计缺陷,自动生成测试向量以分析缺失的覆盖率,形式化地证明设计符合需求。
为加快汽车显示芯片图像处理 IP 核的设计和实施,瑞萨工程师采用了 MATLAB® 和 Simulink® 的基于模型的设计:“与传统的设计流程相比,采用基于模型的设计,我们能更早地验证我们的算法和系统功能,更快地适应需求指标变更,评估更多的设计替代方案。基于模型的设计帮助在算法专家和 RTL 工程师之间架起桥梁。”[2]
快速原型及 RTL 自动化生成
为了应对日益增加的竞争压力,芯片制造商正在缩短交货时间表;另一方面,即使设计变得越来越复杂,客户对质量和性能的期望也在提高。许多公司发现,传统的设计方法——即团队对规范进行基于文档的验证,并在最终生产版本之前生产多个原型已经无法跟上行业当前的步伐。
在模型充分验证之后,HDL Coder 可以从模型自动生成可综合的符合行业编码标准的VHDL 或 Verilog 代码,自动实现 FPGA-in-the-loop 原型验证,也可以通过自动生成 SystemVerilog 或 UVM 测试环境以复用模型中的测试激励和框架,从而大大提高芯片 RTL 开发效率。MathWorks ASIC/FPGA 工作流程支持 ISO 26262 功能安全标准,HDL Coder 是 ISO 26262 认证的开发工具。
“我们从 2014 年开始研究将 Simulink MBD 用于 ASIC 开发。硅验证已证明自动生成的代码 0 bug”来自 Allegro Microsystems 的经验分享。[3] Allegro 为开发高完整性汽车传感器芯片采用了基于模型的混合信号 IC 设计流程。
确认芯片底层软件的功能安全
芯片的运行还要有软件支持,车规级芯片制造商需为客户提供满足功能安全的硬件和底层软件。底层软件甚至是功能安全的必要组成部分,帮助避免系统硬件故障以及检测和控制随机硬件故障,例如 FMEDA,clock monitoring,power monitoring,ECC protection of RAM/ROM。更多的情况下,低层软件帮助汽车 OEM 和开发人员构建符合安全认证的应用,比如 AUTOSAR MCAL,firmware,sensor drivers,safety monitoring,safety-certified library。
PolyspaceTM 可以对芯片底层软件进行符合 ISO 26262 功能安全的验证。Polyspace 是基于抽象解释原理的代码级静态分析和验证工具,使用形式化分析方法,无需测试用例,即能对代码进行穷尽分析。把代码中有问题和没问题的计算操作通过颜色完全区分开,方便底层软件工程师聚焦问题。
Elektrobit 开发 AUTOSAR 基础软件,帮助桥接芯片厂商和汽车厂商。确保符合道路车辆的 ISO 26262 功能安全标准涉及证明设计满足安全要求,架构准确反映设计,以及架构正确实施。Elektrobit 工程师使用 Polyspace Code ProverTM完成耗时的第三阶段[4]。Polyspace 的形式化方法内核还帮助 Elektrobit 验证高度可配置软件,从耗时的数千次的边界检查方法中解脱。他们还是用并行问题证明,减少非必要的互斥锁,从而提高软件的性能。
服务汽车行业客户事半功倍
汽车行业广泛采用基于模型的设计(Model-Based Design)开发流程,汽车芯片厂商为自家芯片提供基于 Simulink 的高效、高性能、安全认证的硬件支持包,能更好地服务客户。典型的例如,Infineon Aurix 高性能 MCU 支持包,NXP model-based design toolbox等。这些支持包能够将 Simulink 算法生成针对芯片优化的代码部署到芯片上,有效地将算法裁剪为异构硬件架构,配置和生成所有必要的底层软件,使用处理器在环 PIL 进行测试,生成启动点以在 Synopsys Virtualizer 和硬件上测试代码等,从而帮助汽车行业工程师缩短项目开发周期。
小结
车规级芯片需要满足汽车功能安全标准 ISO 26262 的各项要求,MATLAB 基于模型设计方法帮助芯片开发过程符合功能安全标准的一般准则,包括完整的仿真、充分的验证、自动化的过程再现,并提供一系列工具提高芯片系统与功能建模、验证自动化、原型和 RTL 实现、底层软件验证等过程的质量和效率。与此同时,车规级芯片未来的客户们——汽车行业工程师正在广泛使用基于模型设计方法开发智能电动汽车应用。