用於自動駕駛車輛和先進駕駛輔助系統(ADAS)的複雜系統單晶片(SoC)開發和驗證,被視為佈滿地雷的危險區域;每一個可預期或不可預期的微小變數──無論是車輛內部或是由無法預知的路況所導致──都會帶來難題。

晶片設計工程師經常是在完成錯綜複雜的車用SoC設計之後,又意識到他們必須回頭重來,有時甚至需要不停重複,直到得到滿意的結果。這種反覆設計的過程是每個晶片設計工程師最害怕的夢魘。

西門子(Siemens AG)的自動駕駛與ADAS全球技術經理David Fritz表示:「在開發和驗證車用SoC時,工程師得應對的輸入是『整個世界』,包括車輛可能遭遇的任何天氣狀況和任何路況;而需要被驗證的輸出則是他們的新晶片(新車)不會輾過任何人。」換句話說,太多東西需要吸收和消化,而結果是實現安全關鍵。

矽前驗證

在此背景之下,西門子發表了名為PAVE360的自動化矽前(pre-silicon)驗證環境。Fritz指出,PAVE360是設計自駕車或配備ADAS車輛的「第一個允許跨部門、跨企業合作專案的平台;」允許多家車用零組件、軟體和子系統供應商在設計高度自動化車輛時進行協作。

市場研究機構Tirias Research首席分析師Jim McGregor接受EE Times訪問時表示:「目前業界已經可以在模擬軟體環境中設計客製化晶片,但還達不到PAVE360承諾的水準。」

20190709_AVSoC_NT31P1

PAVE360 平台。
(圖片來源:Siemens)

McGregor解釋,利用PAVE360,「你可以設計和測試一顆由虛擬零組件圍繞的虛擬SoC,該晶片是在一輛行駛於虛擬城市之虛擬路況中的虛擬車輛內部;」他進一步指出:「PAVE360可以在車輛運作的所有情況下設計和測試晶片,也可以更改車用零件、設計或運作條件來測試SoC,甚至在有必要時進行重新設計,幾乎是即時性的。」

自動駕駛技術顧問機構VSI Labs創辦人暨首席顧問Phil Magney解釋了車用晶片設計工程師面臨的挑戰:「你面對的是各種資料轟炸,包括來自各種環境感測器的大量資料,以及來自其他ECU的大量資料;這些資料最終會影響車輛性能。」

Magney認為PAVE360「相當獨特,我還沒聽說過如此完整的軟體模擬環境;」西門子的PAVE360平台是以「數位雙胞胎」(digital twin)這個概念為基礎,也就是真實世界的複製(軟體模擬)版本。他表示:「對於車輛或零組件開發人員來說,這意味著他們可以完全以軟體模擬其設計標的,無論是晶片、軟體功能、ECU或是整車。」

McGregor補充:「如果我在通用動力(General Dynamics)開發火箭製造的時候就有這種工具,我會不惜一切得到它。」

智慧型手機應用處理器vs.車用SoC

乍看之下,智慧型手機應用處理器和車用SoC是兩種截然不同的東西,在晶片複雜性、所需的運算能力、尺寸和功耗方面都完全不同。車用SoC對功能安全性的嚴格要求更是為設計工程師帶來額外的壓力,因為若他們設計的晶片出問題可能會殺人,但用在智慧型手機的應用處理器比較不至於造成類似的危險。

奇怪的是,雖然車用晶片設計的複雜程度遠高於智慧手機應用處理器的規格,但目前汽車產業常見的設計方法卻不如智慧手機產業使用的那麼精密。而曾任職於高通(Qualcomm)和Nvidia的Fritz介紹了能改變這種情況的方法。

通常汽車設計工程師首先會分析ADAS或自駕車SoC的需求,將其分解為各項功能,並為每個功能區塊設定驗證;然而最大的挑戰在於變數越來越多。也許每個功能區塊已經被驗證過可以正常運作,但當合併某些ADAS功能、佈署不同的感測器組合,甚至插入一個來自不同供應商的ECU時,一切都會被推翻。

車輛可能會因各種變數的加入突然出現一種全新行為模式,這種根本性的變化可能會讓車用晶片設計人員陷入一種得不斷重新驗證、重新設計其SoC的恐怖循環。

Fritz回顧他在高通擔任資深總監時,智慧型手機晶片的開發環境完全不同;在智慧型手機領域,應用處理器工程師會確定他們能滿足將X公司晶片方案放入Y公司手機中的所有要求,才動手開始設計晶片,那些要求的範圍從性能基準測試到功耗,不能超過特定的閾值,而且必須滿足供應商所謂的「使用案例證明點」(use-case proof points)。

所有的一切──包括由軟體團隊驗證過的軟體──必須在晶片進行開發前完成,以確保智慧型手機內晶片的高度準確性。而在Fritz看來,自駕車/ADAS晶片設計工程師們,需要有一個仿效智慧型手機晶片設計環境的平台,能讓他們進行嚴格的矽前驗證,例如PAVE360。

20190709_AVSoC_NT31P2

功能複雜的車用SoC需要更精密的設計平台。
(圖片來源:Siemens)

Siemens能打造出這樣一個全面性的軟體模擬平台,源自於數次戰略性收購;該公司將新購入的工具與現有的軟體模擬模型拼接起來──在於2017年收購Mentor Graphics之前,Siemens還收購了測試和機電模擬軟體供應商LMS International,之後則又收購了模擬軟體供應商TASS International;除了模擬軟體,TASS也為汽車產業提供工程與測試服務。

Fritz 表示:「據我們所知,沒有其他公司進行過這麼多的投資(總計124億美元,包括收購Mentor的金額),以打造像是PAVE360這樣的全方位模擬軟體平台。

自己設計自駕車SoC已成車廠共識?

電動車大廠特斯拉(Tesla)不久前發表了自家開發的自駕車SoC,號稱是「全自駕」(Full Self Driving)電腦。在被問到是否其他車廠也在自己設計自駕車SoC時,Fritz肯定:「特斯拉不是唯一;」他指出:「當消費者認為,未來的車輛價值體現於AI、演算法、軟體和晶片時,車廠們沒有理由不想掌控自己的未來。」

McGregor也證實,許多車廠正在考慮「客製化SoC設計;」但他補充:「並非所有廠商都打算追隨特斯拉,自己招募一個SoC設計團隊,很多車廠都選擇與現有的半導體供應商和/或設計公司合作。」

而根據他的觀察,「但並不意味著他們一定會找Nvidia、恩智浦(NXP)、瑞薩(Renesas)、英特爾(Intel)或其他知名業者,就像智慧型手機、遊戲機和雲端服務供應商一樣,車廠正在考慮根據其應用和工作負載量身打造的客製化晶片解決方案。」

Magney也贊同以上說法;「儘管許多人發現加速運算解決方案具備優異的性能,許多開發工程師正嘗試藉由將其演算法與處理器緊密結合,來實現指令集的最佳化;」但他也提出警告:「這對很多人來說或許是不實際的,除非你真有些特別的東西,否則沒有必要浪費時間做重複的事情。」

對車廠來說,PAVE360可能會頗具效益,例如當他們決定將最滿意的煞車控制ECU與新的ADAS SoC結合時,利用一個開放性介面,車廠就能將該ECU插入PAVE360並模擬ADAS SoC在車輛中的性能表現。

如何驗證AI?

Siemens聲稱,PAVE360「能夠對所有自動駕駛系統核心的感測/決策/執行典範進行全面的閉迴路驗證;」而且該原則同時適用於確定性(基於規則)和非確定性(基於AI)方法的驗證。但是,當設計工程師甚至不知道佈署於車內的AI演算法是如何決策以採取特定行動時,他們如何驗證這是一個正確的選擇?

對此Fritz解釋,自駕車SoC不應該是1和0這樣的「訊號」,應該是「情境」(scenario) ——道路輪廓、天氣條件和地理環境中的其他因素;至於結果:「你只能在整車背景下驗證AI的決策。」

本文同步刊登於電子工程專輯雜誌2019年7月號;責編:Judith Cheng

(參考原文: Robocar SoCs: Designers' Worst Nightmare,by Junko Yoshida)