3、核心计算单元选型:SoC选型关键指标

各位同学,咱们今天聊点硬核的——SoC选型。说实话,这是整个域控制器设计里最烧脑的一环。选错了,后面所有工作都得推倒重来。我见过不少团队,前期拍脑袋定了芯片,结果算法移植时发现算力不够,或者内存带宽卡脖子,最后只能换方案,那叫一个惨。

所以,咱们得把SoC选型的几个核心指标掰开揉碎了讲清楚。

3.1 算力指标:TOPS、DMIPS、内存带宽

这三个指标,是选型时绕不开的“三座大山”。

3.1.1 TOPS(Tera Operations Per Second)

TOPS,说白了就是芯片每秒能执行多少万亿次操作。这个指标主要衡量AI算力,尤其是卷积神经网络这类计算密集型任务。

但这里有个坑——TOPS的“操作”定义各家不一样。有的厂商算的是MAC(乘加运算),有的算的是OP(单次操作)。你想想看,一个MAC通常等于两个OP,所以标称值能差一倍。我建议你拿到芯片后,直接用实际模型跑一遍,别光看纸面数据。

我的经验:TOPS不是越高越好。你得看算法对精度的要求。比如,L2级ADAS用INT8精度就够了,但L4级可能需要FP16甚至FP32。同样的TOPS,精度不同,实际吞吐量能差4倍。

3.1.2 DMIPS(Dhrystone Million Instructions Per Second)

DMIPS衡量的是CPU的通用计算能力。说白了,就是芯片处理逻辑控制、调度、传统算法(比如卡尔曼滤波)的能力。

嗯,这里要注意:DMIPS是跑Dhrystone基准测试得出的,这个测试本身有点“过时”了,它主要测整数运算,对浮点、缓存、多核调度的覆盖不够。我个人习惯是,除了看DMIPS,还会用EEMBC的CoreMark再跑一遍,更贴近实际。

避坑指南:我曾经遇到一个项目,选了一颗DMIPS很高的芯片,结果发现它的CPU缓存设计有问题,导致实时性任务频繁抖动。所以,光看跑分不行,还得看微架构。

3.1.3 内存带宽

这个指标经常被忽略,但它是真正的“隐形杀手”。

你想想看,AI模型在推理时,需要频繁地从内存读取权重和特征图。如果内存带宽不够,算力再强也是白搭——芯片大部分时间都在等数据。

指标 典型值(L2级) 典型值(L4级) 我的建议
TOPS 10-30 200+ 按实际模型需求反推
DMIPS 20k-50k 100k+ 关注实时性,而非峰值
内存带宽 50-100 GB/s 200+ GB/s 带宽不足,算力打折

小技巧:计算内存带宽需求时,可以用这个公式:带宽 = 模型大小 × 帧率 × 2(读写各一次)。比如一个100MB的模型,跑30fps,至少需要6GB/s带宽。但实际还要考虑多路传感器数据流,所以留50%余量是基本操作。

3.2 AI加速器对比:NPU vs GPU vs FPGA

选AI加速器,其实是在选“通用性”和“效率”之间的平衡点。

3.2.1 NPU(神经网络处理器)

NPU是专门为神经网络设计的。它的优势是能效比极高——同样的TOPS,功耗只有GPU的几分之一。

但缺点也很明显:灵活性差。一旦算法结构变了(比如从CNN换成Transformer),NPU可能就跑不动了。我建议,如果你的算法相对固定(比如量产车型),NPU是首选。

3.2.2 GPU

GPU是“万金油”。它什么都能跑,但能效比不如NPU。

我记得有一次做原型验证,用GPU跑一个多任务模型,开发周期确实短,但一测功耗,直接超标了。所以,GPU更适合前期算法迭代,量产时还是要考虑NPU或专用加速器。

3.2.3 FPGA

FPGA的优势是“可重构”。你可以针对特定算子做硬件优化,延迟极低。

但它的坑也不少:开发难度大,功耗也不低。我曾经用FPGA做过一个激光雷达点云处理模块,性能确实好,但写Verilog代码写到怀疑人生。所以,FPGA更适合那些算法还没定型、需要频繁改动的场景。

类型 能效比 灵活性 开发难度 典型场景
NPU 量产车型
GPU 算法验证
FPGA 中高 原型/特殊算子

3.3 典型SoC内部架构解析

咱们挑三款最主流的芯片,看看它们内部到底长什么样。

3.3.1 NVIDIA Orin

Orin是当前高端域控的“标配”。它内部集成了12个ARM Cortex-A78AE核心,外加一个Ampere架构的GPU(2048个CUDA核心),以及一个专用的DLA(深度学习加速器)。

架构特点:Orin的GPU和DLA可以协同工作。比如,前处理用DLA做,后处理用GPU做,效率很高。我建议,如果你用Orin,尽量把模型切分成多个子网络,分别映射到不同的加速器上。

关键数据:Orin的AI算力最高可达254 TOPS(INT8),内存带宽204.8 GB/s。但实际项目中,能跑到150 TOPS就不错了——因为还有数据搬运和调度开销。

3.3.2 TI TDA4

TDA4是TI的明星产品,主打“高性价比”。它内部有2个ARM Cortex-A72核心,外加4个Cortex-R5F实时核心,以及一个C7x DSP和MMA(矩阵乘法加速器)。

架构特点:TDA4的“异构”做得很好。A72跑Linux和算法调度,R5F跑实时控制,DSP和MMA做AI推理。我曾经用TDA4做过一个L2级方案,成本控制得非常好。

但要注意:TDA4的AI算力只有8 TOPS(INT8),所以它更适合轻量级模型。如果你要跑大模型,还是得上Orin。

3.3.3 Mobileye EyeQ6

EyeQ6是Mobileye的第六代芯片,专为视觉感知设计。它内部有多个专用加速器,包括VMP(视觉微处理器)、PME(可编程矩阵引擎)等。

架构特点:EyeQ6的“封闭性”很强——它和Mobileye的算法栈深度绑定。说白了,你买了EyeQ6,基本就得用Mobileye的整套方案。好处是开发简单,坏处是灵活性差。

我个人不太建议在需要自研算法的项目里用EyeQ6,但如果你只想快速量产,它确实是个省心的选择。

重要提醒:选SoC时,别只看芯片本身。还要看它的工具链、生态、以及是否有成熟的参考设计。我见过太多团队,芯片选好了,结果发现SDK不好用,最后开发周期翻倍。

好了,这一节的内容就到这里。下一节咱们聊聊“传感器接口设计”,到时候我会讲讲怎么把摄像头、雷达、激光雷达的数据高效地接入域控制器。嗯,那里面也有不少坑,到时候咱们一个个填。