智能駕駛域控制器SoC選型

出品 |  大疆車載

隨著智能駕駛行業(yè)的發(fā)展,智能駕駛功能日益復(fù)雜,領(lǐng)航高速輔助、領(lǐng)航城區(qū)輔助、跨層記憶泊車等功能逐漸落地。智能駕駛系統(tǒng)對傳感器、算力需求日益旺盛。

智能駕駛系統(tǒng)既需要大量的算力,也需要多種類型的計算資源,典型的智能駕駛系統(tǒng)處理流程如下。

智能駕駛域控制器SoC選型的圖1

它接收并處理原始傳感器信號,對車周環(huán)境進行實時的在線感知,其中包括對道路結(jié)構(gòu)、車道線等靜態(tài)元素,以及車輛、行人等動態(tài)障礙物的檢測識別。 經(jīng)過多傳感器和時序信息融合,轉(zhuǎn)化為環(huán)境的統(tǒng)一表示,然后經(jīng)過運動預(yù)測和決策規(guī)劃模塊生成本車的行駛軌跡,并轉(zhuǎn)換成車輛控制信號輸出到車輛執(zhí)行器,從而完成自主駕駛的行為。
整個系統(tǒng)處理過程通常需要涉及以下幾種類型的計算資源:

  • 深度學(xué)習(xí)類: 環(huán)境感知模塊是深度學(xué)習(xí)算力使用的大戶,包括常見的各類圖像、激光點云檢測算法,比如物體檢測、車道線檢測、紅綠燈識別等,都會涉及大量的典型神經(jīng)網(wǎng)絡(luò)(NN)的運算。此類模塊通常使用高度定制化的NN加速器來實現(xiàn)。
  • 視覺處理類:此類屬于計算密集型,但并非深度學(xué)習(xí)類的算法模塊,比如圖像信號處理(ISP)、圖像金字塔(Pyramid)、畸變矯正(Rectify)、局部特征提取、光流跟蹤、圖像編解碼(Codec)等運算。此類模塊通常使用硬化的專用視覺加速器來實現(xiàn)低時延。
  • 通用計算類:雖然定制化的深度學(xué)習(xí)、視覺處理加速器可以滿足大部分常見的成熟的計算密集型運算,但仍然無法覆蓋全部需求。隨著前沿技術(shù)的快速發(fā)展和自研技術(shù)的深入,往往還會產(chǎn)生相當(dāng)一部分自定義的運算模塊。此類模塊通常也是計算密集型的操作,無法使用CPU高效實現(xiàn),因此還需要通用的計算密集型處理單元(比如DSP、GPU)來實現(xiàn)。
  • 邏輯運算類:此類模塊包含大量的邏輯運算,不適合使用計算密集型的處理器實現(xiàn),一般使用通用的CPU處理器來實現(xiàn)。此類模塊包括常見的多傳感器感知融合算法(比如卡爾曼濾波KF)、基于優(yōu)化的決策規(guī)劃算法、車輛控制算法、系統(tǒng)層面的功能邏輯、診斷邏輯、影子模式數(shù)據(jù)挖掘功能等。

典型的智能駕駛系統(tǒng)算力部署參考如下圖。
智能駕駛域控制器SoC選型的圖2

如何在眾多的SoC中挑選一顆匹配自家產(chǎn)品的SoC是一門復(fù)雜的系統(tǒng)工程,不單需要考慮深度學(xué)習(xí)算力,還需要考慮CPU算力、安全、內(nèi)存帶寬、功耗、成本等。

大疆車載致力于提供最佳性價比的智能駕駛方案,在核心芯片的選型上積攢了一些經(jīng)驗,在此予以分享。

 一顆典型SoC的主要組成 

智能駕駛域控制器SoC選型的圖3
智能駕駛域控制器SoC選型的圖4

1. CPU

CPU的內(nèi)部架構(gòu)可以簡化為如下模型。
智能駕駛域控制器SoC選型的圖5
包括負責(zé)邏輯運算的ALU、取指/分支預(yù)測/數(shù)據(jù)轉(zhuǎn)發(fā)等的Control、Cache和RAM等存儲單元。相對GPU等并行運算核心,CPU的Control單元和存儲單元功能更加強大,適合做邏輯控制。

在車載SoC中,根據(jù)功能不同CPU又分為Safety MCU和ACPU,前者性能較弱但實時性和安全性更強,后者多核心、高主頻、性能強大但實時性和安全性有所降低。

1.1 Safety MCU

Safety MCU有多種常見的CPU架構(gòu),如英飛凌的TriCore、瑞薩的G3KH、ARM Cortex M7、ARM Cortex R5F。既有外置的MCU方案,也有內(nèi)置的MCU方案,如TI TDA4內(nèi)置Cortex R5F,SoC一般會內(nèi)置Safety MCU來提高系統(tǒng)的集成度。

例如,Cortex R5F MCU核心的內(nèi)部架構(gòu)復(fù)雜程度參考下圖,主要特點如下:

  • 8級流水線;
  • CPU主頻可以支持到1.0 Ghz,遠超傳統(tǒng)MCU;
  • Data Processing Unit負責(zé)各種運算和邏輯控制;
  • FPU負責(zé)浮點運算;
  • L1 Instruction/Data Cache是一級緩存,參考容量16KB+16KB;
  • Memory Protection Unit用于內(nèi)存保護,保護能力有限,一般只能支持十幾個區(qū)域的保護;
智能駕駛域控制器SoC選型的圖6
引自《DDI0460D_cortex_r5_r1p2_trm.pdf》

Safety MCU的核心一般是成對出現(xiàn)的,如下圖的“Primary Core”和“Shadow Core”,兩者實現(xiàn)指令級別的鎖步(lock-step),通過“Compare”進行比較:周期性比較兩個核的輸出結(jié)果是否相同;如果相同則繼續(xù)運行,否則需要采取一定的安全措施。容易看出,鎖步核雖然用了兩個核心,但其實只有一個核的算力。鎖步核是實現(xiàn)MCU核心高診斷覆蓋度的一種傳統(tǒng)方法,這種方法已經(jīng)在微控制器和復(fù)雜度較低的微處理器領(lǐng)域經(jīng)過多年的成功驗證。


智能駕駛域控制器SoC選型的圖7

Safety MCU除要求CPU核心達到ASIL D外,往往會要求內(nèi)部總線、外設(shè)接口、電源等跟Main Domain隔離。否則,可能因為低安全級別的Main Domain的異常,如錯誤操作外設(shè)寄存器,導(dǎo)致MCU Domain異常。

Safety MCU的算力一般使用KDMIPS(Kilo Dhrystone Million Instructions executed Per Second)表示,如Cortex R5F的算力約2 KDMIPS。

因為MCU 運算和內(nèi)存資源比較有限,且不支持MMU(Memory Management Unit,比MPU強大的內(nèi)存管理單元),一般只能運行如FreeRTOS之類的小型RTOS。車載行業(yè)一般要求RTOS達到ASIL D級別,常用的MCU RTOS主要有AUTOSAR OS, SafeRTOS。一般沒有配套的libc和STL庫,對C++的支持不夠友好,比較難開發(fā)維護復(fù)雜軟件。因為Safety MCU的軟硬件的安全性和實時性都較高,一般用于運行整車的數(shù)據(jù)交互、診斷、控制算法等軟件。

綜上,我們在進行Safety MCU選型時,除了關(guān)注Safety MCU的算力,還需要重點關(guān)注總線、外設(shè)等的隔離性,另外也需要關(guān)注片內(nèi)RAM的大小。

1.2 ACPU

常用的ACPU的架構(gòu)有MIPS和ARM,但以ARM的Cortex A系列為主。相比較MCU,ACPU的架構(gòu)更復(fù)雜、主頻更高、Cache和RAM性能更優(yōu),整體性能更強。

例如,Cortex A72 ACPU核心的內(nèi)部架構(gòu)復(fù)雜程度參考下圖,比Safety MCU要復(fù)雜許多,相同主頻下算力約為Cortex R5F的3倍,主要升級如下:

  • 15級流水線:
    - Branch prediction可以提升分支預(yù)測的成功率;
    - Decode可以支持多條指令并行解碼;
    - Dispatch可以支持同時發(fā)射多條指令;
    - Interger execute / Adv SIMD and FP / Load store等多個執(zhí)行單元可以并行工作;
  • 可以支持更高的CPU主頻,如2.0 GHz;
  • Instruction / Data Cache是一級緩存,參考容量48KB+32KB;
  • 二級緩存一般較大,參考容量1MB,可極大降低指令和數(shù)據(jù)Cache Miss的概率,減少對DDR的訪問;
  • 支持MMU,可實現(xiàn)內(nèi)核態(tài)和用戶態(tài)之間、不同進程之間的地址隔離,提高內(nèi)存訪問的安全性;
智能駕駛域控制器SoC選型的圖8
引自《cortex_a72_mpcore_trm_100095_0003_06_en.pdf》
對L2+系統(tǒng),除要求ACPU核心達到ASIL B外,常用外設(shè)一般也要求達到ASIL B,如IPC/DMA/CSI,具體硬件安全級別要求依賴功能安全分解。

ACPU的算力一般使用KDMIPS表示,如Cortex A72的算力約11 KDMIPS。ACPU的算力取決于使用的CPU核心的架構(gòu)和CPU的主頻,一般架構(gòu)越新支持的主頻越高,常用CPU核心算力信息參考如下。
智能駕駛域控制器SoC選型的圖9

以AE結(jié)尾的ACPU Core可以支持鎖步,實現(xiàn)ASIL D功能安全級別,如Cortex-A65AE。未來L3~L4系統(tǒng)會對ASIL D ACPU算力有越來越多的需求。

ACPU的資源富足,主頻高,一般運行大型操作系統(tǒng),如Linux。對于L2+的系統(tǒng),一般功能安全會拆分出對操作系統(tǒng)ASIL B級別的要求,此時一般會選擇QNX / VxWorks。此類操作系統(tǒng),可以支持多進程,不同進程使用不同的地址空間、彼此隔離;同時可以支持智能駕駛系統(tǒng)成百上千個線程的復(fù)雜調(diào)度。一般會配套的libc和STL庫,且部分庫是通過功能安全認證的,對于復(fù)雜的上層軟件的開發(fā)比較友好。

ACPU一般用于傳感器數(shù)據(jù)的輸入、預(yù)處理、加速器的調(diào)度、感知融合、導(dǎo)航規(guī)劃等軟件模塊的部署。NN算力的增加,意味著需要處理更多的傳感器、更高分辨率的相機、更豐富的場景、更復(fù)雜的功能。相應(yīng)的,ACPU算力需求也會增加,以支持更多更高分辨率傳感器數(shù)據(jù)的預(yù)處理、深度學(xué)習(xí)模型的前后處理、更復(fù)雜的感知融合功能、軌跡預(yù)測和行為規(guī)劃、影子模式數(shù)據(jù)挖掘功能等。

綜上,ACPU的選型需要重點關(guān)注算力,同時需要留意外設(shè)和操作系統(tǒng)的功能安全級別。此外,ACPU算力應(yīng)該和NN算力相匹配,以發(fā)揮最優(yōu)的系統(tǒng)性能。

2. 并行計算

2.1 DSP

DSP芯片,也稱為數(shù)字信號處理器,是一種具有特殊結(jié)構(gòu)的微處理器,相比于通用CPU,更適用于計算密集度高的處理。

在DSP芯片內(nèi)部,通常采用程序和數(shù)據(jù)分開的哈弗結(jié)構(gòu),廣泛采用流水線操作,同時具有專門的硬件乘法器,提供特殊的DSP指令,可以用來快速的實現(xiàn)各種數(shù)字信號處理算法。

DSP芯片一般具有如下的主要特點:

  • 程序和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù);
  • 片內(nèi)具有快速RAM,通常可通過獨立的數(shù)據(jù)總線進行連接;
  • 有專門的硬件乘法器,在一個指令周期內(nèi)可完成一次乘法和一次加法;
  • 具有低開銷或無開銷的循環(huán)及跳轉(zhuǎn)的硬件支持;
  • 在單時鐘周期內(nèi)可以操作多個硬件地址發(fā)生器;
  • 具有快速中斷處理和硬件I/O支持;
  • 支持流水線操作,使不同指令之間的取指、譯碼和執(zhí)行等操作可以并行執(zhí)行;

與通用微處理器相比,DSP芯片的其他通用功能相對較弱一些。DSP結(jié)構(gòu)示圖如下。
智能駕駛域控制器SoC選型的圖10

通過獨立的指令總線和數(shù)據(jù)總線與外部數(shù)據(jù)存儲進行連接,外圍通常會配置L1和L2 cache,提高數(shù)據(jù)存取效率。

內(nèi)部主要分為程序控制單元(PCU)、地址發(fā)生單元(AGU)和數(shù)據(jù)計算單元(DALU),外加一些地址寄存器和數(shù)據(jù)寄存器。每個處理單元都是獨立的硬件模塊,通過指令流水將各個模塊并行起來處理,提高DSP的處理能力。

在DSP評估過程中,運算速度是DSP芯片的一個最重要的性能指標,通常有如下幾個方面的考量:

  • 數(shù)據(jù)位寬長度;
  • 單周期內(nèi)的乘累加個數(shù);
  • 寄存器個數(shù);
  • 單周期內(nèi)同時可處理的指令個數(shù);
  • 內(nèi)聯(lián)指令豐富程度;
  • 外圍SRAM大?。?/span>

隨著DSP在圖像和機器學(xué)習(xí)領(lǐng)域的應(yīng)用,芯片廠商對DSP也同樣做了新場景的適配和支持,如TI的C71 DSP,除了支持常見的標量運算和矢量運算,還增加的矩陣乘加速器(MMA),進一步的提升了DSP的專用能力,讓開發(fā)者更容易進行NN模型部署。

2.2 GPU

CPU的功能模塊多,適合復(fù)雜的運算場景,大部分晶體管用在控制電路和存儲上,少部分用來完成運算工作。GPU的控制相對簡單,且不需要很大的Cache,大部分晶體管被用于運算,GPU的計算速度因此大增,擁有強大的浮點運算能力。
智能駕駛域控制器SoC選型的圖11
CPU與GPU架構(gòu)對比示意圖
當(dāng) 前的多核CPU一般由4或6個核組成,以此模擬出8個或12個處理進程來運算。 普通的GPU就包含了幾百個核,高端的有上萬個核,這對于處理大量的重復(fù)處理過程有著天生的優(yōu)勢,同時更重要的是,它可以用來做大規(guī)模并行數(shù)據(jù)處理。

在應(yīng)用方面,GPU適合前后計算步驟無依賴性、相互獨立的計算場景,很多涉及到大量計算的問題基本都有這種特性,比如圖形學(xué)的計算、挖礦和破解密碼等,這些計算可以分解為多個相同的小任務(wù),每個小任務(wù)由GPU中的單個核處理,GPU通過眾核并發(fā)的方式提高同時處理小任務(wù)的個數(shù),從而提高計算速度。而CPU更適合前后計算步驟嚴密關(guān)聯(lián),邏輯依賴較高的計算場景。

GPU相比CPU有幾個特點:

  • 運算資源非常豐富;
  • 控制部件占得面積非常小;
  • 內(nèi)存帶寬大;
  • 內(nèi)存延時高,對比CPU使用多級緩存緩解延時,GPU采用多線程的方式處理;
  • GPU處理需要數(shù)據(jù)高度對齊;
  • 寄存器資源極為豐富;

所以,相對來說,GPU更適合處理分支少,數(shù)據(jù)量大,計算簡單且重復(fù)的運算任務(wù)。

2.3 深度學(xué)習(xí)能力

廣義上來說,只要能夠運行人工智能算法的芯片都叫做深度學(xué)習(xí)芯片。但是通常意義上的深度學(xué)習(xí)芯片,指的是針對深度學(xué)習(xí)算法做了特殊加速設(shè)計的芯片。

通常來說,深度學(xué)習(xí)芯片普遍以O(shè)PS(Operations Per Second)為單位來評估深度學(xué)習(xí)的理論峰值算力。OPS的物理計算單位是乘積累加運算(Multiply Accumulate, MAC),是在微處理器中的特殊運算。1 * MAC = 2 * OPS。實現(xiàn)此運算操作的硬件電路單元,被稱為“乘累加器”。這種運算的操作,是將乘法的乘積結(jié)果b*c和累加器a的值相加,再存入累加器a的操作:

a ← a + b*c

深度學(xué)習(xí)算力理論值取決于運算精度、MAC的數(shù)量和運行頻率。對于定點和浮點計算單元共用核心的加速器,可大致簡化為INT8精度下的MAC數(shù)量在FP16精度下等于減少了一半,F(xiàn)P32再減少一半,依次類推。例如,假設(shè)芯片內(nèi)有512個MAC運算單元,運行頻率為1GHz,則INT8的算力為512 * 2 * 1 GHz =  1 TOPS(Tera Operations Per Second),F(xiàn)P16的算力為0.5TOPS,F(xiàn)P32的算力為0.25TOPS。

通常,各大芯片廠商宣傳的TOPS往往都是運算單元的理論值,而非整個硬件系統(tǒng)的真實值。實際運行起來,真正的有效算力可能只有理論值的30%算力,甚至更低。這里就涉及到“算力利用率”的概念。比如說,某個神經(jīng)網(wǎng)絡(luò)模型需要的理論算力是1TOPS,而實際運行的SoC的標稱算力是4TOPS,那么利用率只有25%。

以ResNet-50及MobileNet V1網(wǎng)絡(luò)在SoC A和SoC B上的運行數(shù)據(jù)為例,實際的有效算力會因為圖片分辨率、網(wǎng)絡(luò)結(jié)構(gòu)差異等原因而不同。

智能駕駛域控制器SoC選型的圖12

這又是什么原因呢? 通常來說,實際的有效算力主要受兩方面的影響:

1)處理器的計算架構(gòu):從上表可以看到,即使是同一款SoC,對不同網(wǎng)絡(luò)結(jié)構(gòu)的利用率差異也非常大。這是因為深度學(xué)習(xí)加速器本身是高度定制化的計算架構(gòu),只有執(zhí)行和加速器特性比較匹配的網(wǎng)絡(luò)結(jié)構(gòu)才能發(fā)揮出較高的利用率。

2)存儲帶寬:存儲帶寬決定數(shù)據(jù)搬運的速度。如果存儲帶寬跟不上計算速度,則數(shù)據(jù)無法及時到達計算單元,導(dǎo)致處理器的計算單元空置,從而導(dǎo)致處理器的算力利用率大打折扣。智能駕駛應(yīng)用的處理場景通常具有圖像分辨率大、并行樣本量(batch size)小、網(wǎng)絡(luò)結(jié)構(gòu)小的特點,這對于存儲帶寬的要求通常會更高。

同汽車的動力指標,馬力不如百公里加速時間更真實反映整車動力性能;同理,有效算力比理論算力更能反映芯片實際性能。所以,在SoC選型時需要重點關(guān)注SoC全系統(tǒng)能夠提供的有效算力。

2.4 算力多樣化需求

在深度學(xué)習(xí)推理端,各家芯片往往都會根據(jù)自家的神經(jīng)網(wǎng)絡(luò)推理框架設(shè)計對應(yīng)的NN處理器,各種TPU/NPU/DPU…層出不窮,芯片廠家根據(jù)神經(jīng)網(wǎng)絡(luò)特點,通過定制化的設(shè)計處理器,使得軟硬件的適配度更高,從而提高芯片算力的利用率。

市場上,除了NN處理器,像高通/TI等公司的車載芯片,在SoC上配備了GPU/DSP/CV加速器等通用算力處理器來提高車載芯片的處理能力和算法開發(fā)的擴展性。

在智能駕駛系統(tǒng)中,大部分的計算可以通過深度學(xué)習(xí)處理器來完成。但是,對于一些算法開發(fā)能力較強的公司來說,會根據(jù)實際的業(yè)務(wù)場景需求,來設(shè)計自己的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),芯片廠商提供的NN處理器的算子庫無法滿足他們的需求,往往存在一些自定義算子的開發(fā)。另外,ISP、多傳感器融合、定位與建圖等功能還會涉及一些非深度學(xué)習(xí)的視覺算法的實現(xiàn)。此時,車載芯片上的GPU/DSP/CV加速器將可以很好的補充這部分算力需求。

DSP能夠提供低功耗的矢量處理能力,相比于CPU,可以使用DSP的SIMD指令很好的應(yīng)對并行度高,數(shù)據(jù)連續(xù)性較好的算法。對于并行度高,但是數(shù)據(jù)連續(xù)性較差的算法,如果部署在DSP上,將對IO帶寬帶來很大的挑戰(zhàn),無法充分發(fā)揮DSP的計算能力,但是GPU的高并發(fā)特點,可以很好的應(yīng)對這種算法。同時,GPU的圖像處理能力能夠滿足智能駕駛場景中渲染和可視化的需求。

綜上,SoC選型時,需要根據(jù)業(yè)務(wù)需求,合理規(guī)劃和分配算力,實現(xiàn)SoC各個模塊協(xié)調(diào)高效合作,而非只關(guān)注深度學(xué)習(xí)算力。

3. 安全

3.1 網(wǎng)絡(luò)安全(Cybersecurity)

隨著UNECE WP29 R155法規(guī)、ISO/SAE 21434標準的發(fā)布,國內(nèi)也緊跟著發(fā)布了一系列車載網(wǎng)絡(luò)安全相關(guān)的國標、法規(guī),包括網(wǎng)絡(luò)安全技術(shù)相關(guān)的、流程相關(guān)的、數(shù)據(jù)保護相關(guān)的等等,這一切表明網(wǎng)絡(luò)安全在智能網(wǎng)聯(lián)汽車行業(yè)的重視程度在逐日提升。

網(wǎng)絡(luò)安全機制的實現(xiàn)講究縱深防御,上層包括面向服務(wù)的應(yīng)用防火墻、對服務(wù)訪問的鑒權(quán)和授權(quán)等,中間層包括操作系統(tǒng)的進程訪問權(quán)限管理、文件系統(tǒng)加密、以太網(wǎng)防火墻、安全通信、調(diào)試接口管控、安全審計等,底層包括安全啟動、安全升級、安全存儲、密鑰管理等基礎(chǔ)功能。在芯片選型時,關(guān)于網(wǎng)絡(luò)安全往往會考慮如下方面:

  • 芯片的封裝。盡量選擇BGA封裝的芯片。
  • 芯片防信道攻擊的能力。目前很多側(cè)信道攻擊的手段可以很輕易獲取到芯片運行時的關(guān)鍵資產(chǎn),例如密鑰。
  • 芯片的調(diào)試接口。例如JTAG,可通過某種硬件機制永久關(guān)閉,或者可通過軟件安全機制控制芯片調(diào)試接口的開關(guān)。
  • 芯片的安全啟動。安全啟動一般起始于芯片的BootRom,通過校驗固件的簽名,來防止固件被惡意篡改,確保了固件的完整性。
  • 芯片的安全運行環(huán)境。該運行環(huán)境主要用于管理芯片運行時的關(guān)鍵資產(chǎn),例如芯片的安全配置、密鑰等,并通過硬件來實現(xiàn)安全算法加速服務(wù)。
  • 芯片的內(nèi)存保護單元。例如MMU或MPU,該單元一般集成在處理器中,由運行在處理器上的操作系統(tǒng)進行配置,實現(xiàn)運行態(tài)的內(nèi)核/進程/線程的地址虛擬化和數(shù)據(jù)隔離。
  • 芯片唯一SN。一般會用于綁定、認證等安全業(yè)務(wù)。

除了以上技術(shù)要求之外,在芯片選型時,也需要考慮供應(yīng)商網(wǎng)絡(luò)安全資質(zhì)的要求,例如是否有CSMS管理體系。

3.2 功能安全(FuSa)

眾所周知 “智能駕駛、安全第一”。SoC作為智能駕駛控制器的核心,其安全性能是確保最終交付安全產(chǎn)品的關(guān)鍵。因此在SoC芯片的設(shè)計選型中,必須把功能安全作為核心指標進行評估:

  • SoC芯片支持的功能安全完整性等級(ASIL)是否滿足最終產(chǎn)品的安全等級需求;
  • SoC芯片的安全設(shè)計是否匹配當(dāng)前的產(chǎn)品的功能安全概念;
  • SoC芯片是否全面考慮支持不同駕駛自動化等級產(chǎn)品應(yīng)用;

為了實現(xiàn)上述目標,同時需要對SoC供應(yīng)商的功能安全的設(shè)計和開發(fā)能力進行全面評估:

  • 對SoC的安全設(shè)計概念進行評估,包括安全需求、安全狀態(tài)、故障容錯時間間隔等;
  • 對SoC的安全機制設(shè)計進行評估,包含診斷機制、自檢機制、安全隔離和冗余設(shè)計等;
  • 對SoC的安全分析結(jié)果進行評估,包括定性安全分析、定量安全分析和相關(guān)失效分析結(jié)果等;
  • 對SoC的開發(fā)工具鏈的鑒定報告進行檢查,包括工具軟件的置信度評估結(jié)果,軟件工具開發(fā)過程評估等;
  • 對廠商提供的SoC相關(guān)的安全審核、認證和評估結(jié)果進行檢查,包括是否是獨立的第三方審核和評估,評估范圍、評估報告的等;

功能安全的級別跟SoC的功能安全目標相關(guān)。評估時需要細分SoC內(nèi)部各個模塊的功能安全等級,從軟件和硬件維度,確認SoC的功能安全設(shè)計是否能夠全面、有效的滿足自家產(chǎn)品的安全需求。在產(chǎn)品應(yīng)用層面,還需要全面評估產(chǎn)品引入功能安全設(shè)計后,潛在的SoC算力需求增加、通信帶寬增大、存儲容量需求增加等方面的變化,確保SoC安全功能設(shè)計能夠在項目中完整落地。

4. 其他

4.1 內(nèi)存帶寬

SoC內(nèi)部的CPU、NN加速器、GPU等除了執(zhí)行指令外,還會從DDR讀取指令和讀寫數(shù)據(jù)。但DDR的訪問不能單周期完成,典型的訪問延時100ns+。盡管Cache在一定程度上可以緩解DDR的訪問延時問題,但考慮到多核心并發(fā)、隨機訪問DDR,DDR帶寬往往會成為CPU和各個加速器運行的瓶頸。例如,假設(shè)NN加速器處理一幀圖像,50ms用于DDR數(shù)據(jù)的加載和存儲,50ms用于在數(shù)據(jù)運算,此時幀率是10Hz;如果DDR的帶寬減半,此時需要100ms用于DDR數(shù)據(jù)的加載和存儲,50ms用于在數(shù)據(jù)運算,此時幀率為6.7Hz。可見,DDR帶寬可以間接影響各個處理器和加速器的運行的效率。

常用的單通道(32bit) DDR的頻率和帶寬參考如下。
智能駕駛域控制器SoC選型的圖13

如下圖為內(nèi)存多通道交織的例子:如果只使用一個通道,對DDR的訪問是單通道串行的;如果CPU同時連接到4通道的DDR,4個通道之間的訪問可以并發(fā),提高DDR帶寬。
智能駕駛域控制器SoC選型的圖14

綜上,除了關(guān)注DDR的單通道帶寬外,還需要重點關(guān)注DDR的通道數(shù),如理論上雙通道的DDR帶寬是單通道的2倍。

4.2 功耗和成本

相同的芯片規(guī)格,芯片的工藝會直接影響到芯片的功耗,如7nm和16nm 30T算力的SoC功耗大約為15W和30W。算力的增加同樣會增加功耗,如7nm 30T和200T算力的SoC功耗大約為15W和100W。功耗的大小又會影響到結(jié)構(gòu)和散熱,較高的功耗需要增加風(fēng)扇、尺寸、銅管、材料等,進一步增加域控制器的成本。

算力的增加也意味著芯片成本的增加,如200T算力的SoC的價格約為30T算力的SoC的7倍,所以在選擇芯片規(guī)格的時候也要重點關(guān)注對算力的真實需求,過多的預(yù)留可能會導(dǎo)致成本的浪費。

綜上,選型時除了關(guān)注工藝外,也需要考慮算力帶來的散熱和成本的增加。

SoC芯片是組成車載域控制器的核心器件,是智能駕駛的大腦。如何確保智能駕駛的大腦能夠在相對合理的功耗和成本下有效處理各類業(yè)務(wù),如環(huán)境感知、定位建圖、運動預(yù)測、規(guī)劃控制、影子模式等,是芯片選型的重中之重。

登錄后免費查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP

3