Speedcore eFPGA在自動(dòng)駕駛汽車(chē)中的應(yīng)用
概述
無(wú)論一輛汽車(chē)它是21世紀(jì)20年代初的輔助駕駛汽車(chē),即帶有用于信息娛樂(lè)系統(tǒng)、傳動(dòng)系統(tǒng)和自主駕駛員輔助系統(tǒng)(ADAS)的智能子網(wǎng)的汽車(chē),還是未來(lái)3級(jí) (Level 3)及以上的自動(dòng)駕駛汽車(chē)(在車(chē)流中駕駛時(shí)只需最少的人力輔助),網(wǎng)絡(luò)化交通系統(tǒng)對(duì)硬件加速的需求正在迅猛增長(zhǎng)。幾年前,由Nvidia,Mobileye和其他以CPU為中心的供應(yīng)商推出的最受青睞的汽車(chē)智能模型都假設(shè)了一個(gè)集中式汽車(chē)網(wǎng)絡(luò),其中由帶有增強(qiáng)DSP功能的多核RISC CPU來(lái)管理一套專(zhuān)用的子網(wǎng)絡(luò)。現(xiàn)在,關(guān)注點(diǎn)正在迅速轉(zhuǎn)向分布式汽車(chē)智能化,其中包含帶有相關(guān)視覺(jué)系統(tǒng)的復(fù)雜相機(jī),具有來(lái)自物聯(lián)網(wǎng)世界的傳感器中樞架構(gòu)的傳感器子網(wǎng)絡(luò)、以及用于車(chē)載信息娛樂(lè)系統(tǒng)(IVI)和ADAS的附加子網(wǎng)絡(luò)、以及傳動(dòng)系統(tǒng)/動(dòng)力系統(tǒng)子網(wǎng)絡(luò),共同協(xié)作來(lái)實(shí)現(xiàn)自動(dòng)駕駛汽車(chē)功能。
雖然Achronix預(yù)計(jì)未來(lái)的傳統(tǒng)車(chē)輛和自動(dòng)駕駛車(chē)輛最喜歡的架構(gòu)都將是分布式架構(gòu),但是任何一種網(wǎng)絡(luò)都需要比目前已經(jīng)實(shí)現(xiàn)的架構(gòu)更多的后備協(xié)處理能力。汽車(chē)網(wǎng)絡(luò)中預(yù)期的分布式計(jì)算架構(gòu)將是異構(gòu)的,需要從網(wǎng)絡(luò)控制到利用深度學(xué)習(xí)節(jié)點(diǎn)的并行對(duì)象識(shí)別的混合計(jì)算資源。結(jié)果,豪華輔助駕駛汽車(chē)中目前CPU的基數(shù)多達(dá)100個(gè),而在自動(dòng)駕駛汽車(chē)中可能會(huì)增加到幾百個(gè)CPU。傳感器中樞將需要后備圖像處理來(lái)實(shí)現(xiàn)扭曲和拼接效果;以太網(wǎng)需要IP進(jìn)行數(shù)據(jù)包過(guò)濾/監(jiān)控,以及與傳統(tǒng)CAN和FlexRay網(wǎng)絡(luò)的特殊橋接。在第一代汽車(chē)架構(gòu)中使用整數(shù)個(gè)CPU和GPU,將遷移到需要可編程加速的高度專(zhuān)業(yè)化計(jì)算節(jié)點(diǎn)。
為了優(yōu)化芯片面積和功率效率,在未來(lái)的汽車(chē)平臺(tái)上,相比固定功能的SoC或傳統(tǒng)的FPGA,將Speedcore?嵌入式FPGA(eFPGA)硅知識(shí)產(chǎn)權(quán)(IP)集成到SoC中以提供客戶(hù)可配置功能,是實(shí)現(xiàn)快速切換協(xié)處理的一個(gè)最佳選擇 。要了解更多關(guān)于處理過(guò)程的演變,請(qǐng)參見(jiàn)Achronix白皮書(shū)(WP008):SoC中的EFPGA加速 - 了解Speedcore IP設(shè)計(jì)流程。
Speedcore eFPGA IP在異構(gòu)汽車(chē)數(shù)據(jù)處理中的獨(dú)特作用
Speedcore eFPGA IP可以集成到ASIC或SoC中,以提供定制的可編程邏輯陣列??蛻?hù)指定他們的邏輯、內(nèi)存和DSP資源需求,然后Achronix配置Speedcore IP以滿(mǎn)足他們的特定需求。Speedcore查找表(LUT)、RAM模塊和DSP64模塊可以像積木一樣進(jìn)行組合,為任何給定應(yīng)用創(chuàng)建最佳的可編程邏輯陣列。Speedcore eFPGA IP在汽車(chē)網(wǎng)絡(luò)集成方面提供獨(dú)特的優(yōu)勢(shì),無(wú)論是在現(xiàn)有設(shè)計(jì)中取代一個(gè)FPGA還是增強(qiáng)一個(gè)ASIC。
l? 更高的性能 – 一個(gè)eFPGA通過(guò)寬闊的并行接口直接連接(無(wú)I / O緩沖器)到ASIC,提供顯著更高的吞吐量,延遲僅為個(gè)位數(shù)的時(shí)鐘周期。 在需要對(duì)迅速變化的交通狀況進(jìn)行實(shí)時(shí)響應(yīng)時(shí),延遲非常重要。
l? 更低的功耗:
l? 可編程I / O電路的功耗占獨(dú)立FPGA總功耗的一半。一個(gè) eFPGA直接連接到SoC,完全消除了大型可編程I / O緩沖器,從而降低了功耗。
l? 一個(gè)eFPGA的面積可以根據(jù)最終應(yīng)用的要求精確定制,并且可以調(diào)整工藝技術(shù)以實(shí)現(xiàn)性能和功耗的平衡。
l? 更低的系統(tǒng)成本:
l? 一個(gè)eFPGA的片芯占用面積比等效的獨(dú)立FPGA小得多,這是因?yàn)榭删幊蘄 / O緩沖器,未使用的DSP和存儲(chǔ)器模塊以及過(guò)度配置的LUT和寄存器都全部被移除。
l? 借助Speedcore定制模塊,可將定制功能作為附加模塊添加到eFPGA邏輯陣列中,并與傳統(tǒng)的LUT、RAM和DSP構(gòu)建模塊一起添加。這種高效的實(shí)施方式極大地降低了片芯尺寸面積,最大限度地降低了功耗,其總體結(jié)果就是,大大降低了系統(tǒng)成本。有關(guān)更多詳細(xì)信息,請(qǐng)參閱Achronix白皮書(shū)(WP009):使用Speedcore定制模塊來(lái)增強(qiáng)eFPGA功能。
l? 更高的系統(tǒng)可靠性和良率 - 將FPGA功能集成到ASIC中,可以提高系統(tǒng)級(jí)信號(hào)完整性,并消除了在PCB上安裝一個(gè)獨(dú)立FPGA相關(guān)聯(lián)的可靠性和良率損失。
以ADAS為中心的處理模型
由于多個(gè)視覺(jué)處理系統(tǒng)的融合被認(rèn)為是駕駛輔助和自動(dòng)駕駛車(chē)輛的核心,所以先進(jìn)駕駛員輔助系統(tǒng)(ADAS)在未來(lái)的汽車(chē)架構(gòu)中保持了核心地位,即使被認(rèn)為是管理者中的管理者的多核視覺(jué)處理器,也已經(jīng)部分被取代了。涉及DSP和整數(shù)密集型任務(wù)兩者的圖像實(shí)時(shí)處理,最初被認(rèn)為是從靜態(tài)相機(jī)或視頻圖像中提取信息以確定對(duì)象類(lèi)型、位置和速度的問(wèn)題。隨著設(shè)計(jì)人員為自動(dòng)駕駛車(chē)輛做準(zhǔn)備,ADAS處理器的角色已經(jīng)擴(kuò)展到包括視覺(jué)、紅外、超聲波、激光雷達(dá)(LIDAR)和雷達(dá)圖像的融合。在傳統(tǒng)的SoC和協(xié)處理器套件中,圖像預(yù)處理與CPU分開(kāi)執(zhí)行,并且必須通過(guò)一個(gè)或多個(gè)高速總線(xiàn)與CPU連接。即使ADAS架構(gòu)的總線(xiàn)延遲得到改善,當(dāng)協(xié)處理器在單獨(dú)的芯片中實(shí)現(xiàn)時(shí),也會(huì)付出延遲的代價(jià)。因此,將eFPGA IP與統(tǒng)一ADAS架構(gòu)中的CPU相結(jié)合,以確保在快速變化的交通狀況中有視覺(jué)、紅外或雷達(dá)警報(bào)的快速響應(yīng),這是可以驗(yàn)證的最有效的方式。
將多個(gè)傳感器源與一個(gè)ADAS內(nèi)核集成在一起,提供了Speedcore IP與一個(gè)CPU并行嵌入的一種理想應(yīng)用場(chǎng)景。 Speedcore IP支持客戶(hù)將一個(gè)定制的可編程邏輯陣列嵌入到具有專(zhuān)用計(jì)算資源的標(biāo)準(zhǔn)化ASIC平臺(tái)中(請(qǐng)參見(jiàn)下圖,并請(qǐng)參閱第4頁(yè))。在實(shí)踐中,這種集成化可以將從圖像源匯總的數(shù)據(jù)寫(xiě)入CPU的緩存,而不是寫(xiě)入獨(dú)立的SDRAM。 減少CPU的中斷意味著對(duì)移動(dòng)中汽車(chē)視野里的物體有更多的實(shí)時(shí)響應(yīng)。
視覺(jué)處理器(通常來(lái)自相機(jī)輸入的2D圖像,盡管已包括越來(lái)越多的3D圖像)可以依靠多年來(lái)在邊緣提取、格式轉(zhuǎn)換、色彩平衡和分辨率變化方面積累的圖形處理器研究。包括Ceva和Synopsys在內(nèi)的一些處理器IP供應(yīng)商,也在對(duì)象分類(lèi)和識(shí)別中提升了卷積神經(jīng)網(wǎng)絡(luò)的價(jià)值。以Nvidia為代表的,在這兩個(gè)領(lǐng)域都有經(jīng)驗(yàn)的CPU供應(yīng)商,已經(jīng)試圖在傳統(tǒng)的CPU / GPU任務(wù)與特定的神經(jīng)網(wǎng)絡(luò)模式識(shí)別引擎之間取得平衡。對(duì)于汽車(chē)中的神經(jīng)網(wǎng)絡(luò)子架構(gòu),正從需要高精度浮點(diǎn)DSP的早期成熟架構(gòu)遷移到能夠使用低精度DSP內(nèi)核的自我培訓(xùn)推理引擎,Speedcore DSP64模塊為新的深度學(xué)習(xí)架構(gòu)提供了大量的開(kāi)銷(xiāo)。 對(duì)ADAS和視覺(jué)處理演變的一個(gè)共同認(rèn)識(shí)是,實(shí)時(shí)汽車(chē)的態(tài)勢(shì)感知永遠(yuǎn)不會(huì)有一個(gè)最佳的集中式ADAS處理器或SoC??偸菚?huì)有意想不到的協(xié)同處理和加速任務(wù)被添加到ADAS中心內(nèi)核中。
任何ADAS處理器固有的兩項(xiàng)附加功能是傳感器融合/中樞集成和網(wǎng)絡(luò)轉(zhuǎn)換。前者涉及將來(lái)自各種傳感器的信息進(jìn)行組合和關(guān)聯(lián):包括CMOS圖像、紅外、激光雷達(dá)和新興的小型化雷達(dá)等傳感器。網(wǎng)絡(luò)轉(zhuǎn)換是指以太網(wǎng)的主干網(wǎng)絡(luò)與CSI-2、FlexRay、CAN甚至更早的網(wǎng)絡(luò)協(xié)議的接口。雖然未來(lái)的一個(gè)ADAS SoC確實(shí)可以集成一個(gè)傳感器中樞或一個(gè)以太網(wǎng)MAC,但總是會(huì)有一些新興的功能,由CPU外部的外圍邏輯極好地提供。由于傳感器被聚合并且網(wǎng)絡(luò)在輸入到CPU之前在芯片內(nèi)互連,所以通過(guò)減少暴露的接口來(lái)保持安全性是一個(gè)解決方案,同時(shí)通過(guò)片上集成來(lái)提高可靠性,對(duì)于許多這樣的任務(wù)而言將被證明是最佳的方案。
圖1:Speedcore陣列(左上)鏈接到CPU子系統(tǒng)及內(nèi)存集群
可編程能力在功能安全性中的作用
從駕駛輔助車(chē)輛到完全自動(dòng)駕駛車(chē)輛的過(guò)渡已經(jīng)提高了安全性在新車(chē)中的地位。網(wǎng)絡(luò)對(duì)車(chē)輛的控制越多,越多的司機(jī)期望多級(jí)安全性以防止諸如引起了公眾高度關(guān)注的2016年特斯拉死亡事故這類(lèi)事件。這種對(duì)于容錯(cuò)安全性的驅(qū)動(dòng)力促使業(yè)界頒布了針對(duì)自動(dòng)駕駛汽車(chē)領(lǐng)域的ISO 26262標(biāo)準(zhǔn),它是作為電氣和電子系統(tǒng)IEC 61508通用功能安全性標(biāo)準(zhǔn)的衍生標(biāo)準(zhǔn)。
在EDA和SoC社群內(nèi)的早期工作已經(jīng)實(shí)現(xiàn)了ISO 26262方法體系的標(biāo)準(zhǔn)化,以確保IP中功能安全性。故障模式、效果和診斷分析(FMEDA)技術(shù)闡述了針對(duì)IP單元的功能和故障模式的標(biāo)準(zhǔn)規(guī)范,一個(gè)故障模式對(duì)產(chǎn)品功能的影響,自動(dòng)診斷檢測(cè)故障的能力,設(shè)計(jì)強(qiáng)度以及運(yùn)行情況分集,包括環(huán)境壓力。一個(gè)強(qiáng)健的系統(tǒng)應(yīng)該最大限度地提高IP單元的診斷覆蓋范圍,并通過(guò)適當(dāng)處理安全的、檢測(cè)到的和未檢測(cè)到的故障來(lái)提供高度的功能安全性。
嵌入式FPGA由于其極度可編程化的特性,還可以增強(qiáng)車(chē)輛在作為系統(tǒng)時(shí)的安全性。 除了主控車(chē)輛的“航行”功能之外,SoC中的eFPGA還可以承載大量的硬件診斷功能,其運(yùn)行速度比基于軟件的診斷快幾個(gè)數(shù)量級(jí),大大增加了任何車(chē)載內(nèi)置的自測(cè)故障覆蓋率(BIST)。 此外,它們以可編程方式幫助汽車(chē)制造商更新已部署的系統(tǒng),從而有助于ISO 26262安全性生命周期。 以特斯拉車(chē)禍為例,如果事故的根本原因是硬件中托管的對(duì)象檢測(cè)算法中有錯(cuò)誤(由于性能原因),只要開(kāi)發(fā)了修復(fù)程序,就可以將其推送到整個(gè)車(chē)隊(duì)??梢岳@過(guò)漫長(zhǎng)而昂貴的硬件開(kāi)發(fā)和重新部署過(guò)程。
分布式控制意味著分布式智能
由于攝像頭的安裝位置以及對(duì)局部傳感器中樞的需求,汽車(chē)設(shè)計(jì)人員總是規(guī)劃在車(chē)體內(nèi)采用了大量的分布式智能。盡管如此,諸如Nvidia Tegra等多核多線(xiàn)程處理器的早期支持者都認(rèn)為,要把大部分智能都集中在儀表板中或者附近,盡管是為了高度并行的CPU工作于對(duì)象識(shí)別。現(xiàn)在,先進(jìn)的ADAS在輔助駕駛汽車(chē)和三級(jí)自主駕駛汽車(chē)的完全自主性之間的模糊界限已經(jīng)引起人們的注意,回到分布式智能,其中CPU、GPU和神經(jīng)網(wǎng)絡(luò)處理器在車(chē)體內(nèi)提供了多個(gè)管理和控制點(diǎn)。這種轉(zhuǎn)變意味著可編程架構(gòu)的更多機(jī)會(huì)存在于全面覆蓋的SoC設(shè)計(jì)之外。
現(xiàn)在,ADAS處理器市場(chǎng)每年增長(zhǎng)超過(guò)25%。這種增長(zhǎng)是由于從自動(dòng)緊急制動(dòng)、換道輔助和自適應(yīng)巡航控制等功能開(kāi)始,ADAS功能已從豪華車(chē)輛轉(zhuǎn)移到中型和入門(mén)級(jí)車(chē)輛 - 這些功能將在下個(gè)十年中期之前被普遍使用。與此同時(shí),三級(jí)自動(dòng)駕駛汽車(chē)將于2018年在諸如寶馬17等豪華平臺(tái)上推出,而全自動(dòng)五級(jí)汽車(chē)可能在2022年之前可供商業(yè)銷(xiāo)售。隨著自主駕駛平臺(tái)從三級(jí)發(fā)展到四級(jí)和五級(jí),傳感器中樞、攝像頭和激光雷達(dá)/雷達(dá)設(shè)備將遍布整個(gè)車(chē)輛,并且每個(gè)都需要本地控制。
這種控制模式在業(yè)界產(chǎn)業(yè)整合中已經(jīng)清晰可見(jiàn),如高通公司對(duì)恩智浦發(fā)起的收購(gòu)、以及英特爾對(duì)Mobileye的收購(gòu),處理器領(lǐng)域?qū)⒂赡切┲铝τ趯㈤_(kāi)發(fā)生態(tài)系統(tǒng)引導(dǎo)至特定專(zhuān)業(yè)領(lǐng)域的大型供應(yīng)商占據(jù)主導(dǎo)地位 — 英特爾采用服務(wù)器加機(jī)器學(xué)習(xí)模式,英偉達(dá)采用GPU /機(jī)器學(xué)習(xí)模式,高通采用以蜂窩移動(dòng)通信為中心的模式,增加了恩智浦Cognivue和i.MX處理器。例如 Ceva、Cadence / Tensilica、Synopsys / ARC和VeriSilicon等IP開(kāi)發(fā)人員將嘗試通過(guò)其在特殊處理器內(nèi)核方面的專(zhuān)業(yè)技術(shù)來(lái)顛覆封閉模式。與此同時(shí),如Broadcom、Valens和Marvell等網(wǎng)絡(luò)專(zhuān)家將尋求圍繞以太網(wǎng)主干網(wǎng)絡(luò)來(lái)定義汽車(chē)架構(gòu)。
這樣的市場(chǎng)格局與企業(yè)網(wǎng)絡(luò)演變成數(shù)據(jù)中心的時(shí)代有些相似。以處理器為中心的半導(dǎo)體供應(yīng)商試圖定義一個(gè)完整的系統(tǒng)架構(gòu),但設(shè)計(jì)領(lǐng)域則展示了多樣化的狂野西部(Wild-West)風(fēng)格,其中用不同的邏輯套件來(lái)為一家組件供應(yīng)商(以及OEM或汽車(chē)制造商)提供樣品從而創(chuàng)建特有的優(yōu)勢(shì)。在這樣的環(huán)境中,配置為IP的可編程邏輯(如Achronix的Speedcore eFPGA)將扮演重要角色,不僅在近期輔助駕駛和自動(dòng)駕駛汽車(chē)開(kāi)發(fā)方面是這樣,而且在這兩種類(lèi)型的車(chē)輛多年來(lái)的分布式處理器開(kāi)發(fā)發(fā)面亦是如此。
Speedcore eFPGA IP提供了其他優(yōu)勢(shì),例如通過(guò)寫(xiě)入CPU緩存而不是片外內(nèi)存來(lái)最大限度地減少CPU中斷。 CAN設(shè)計(jì)中所需的BIST電路通常占總ASIC電路的10%至15%,由于支持BIST的電路可以在eFPGA內(nèi)可編程,所以在許多情況下這些電路可以被省去。 另外,eFPGA可以提供片上探測(cè)功能來(lái)進(jìn)行診斷。對(duì)于現(xiàn)有的基于ASIC的、無(wú)需更換FPGA的系統(tǒng)設(shè)計(jì),Speedcore IP所具有的靈活性將支持對(duì)新算法進(jìn)行編程,從而延長(zhǎng)了現(xiàn)場(chǎng)已部署的ASIC的使用壽命。在5G蜂窩網(wǎng)絡(luò)現(xiàn)有設(shè)計(jì)中使用Speedcore IP也將使該架構(gòu)成為未來(lái)V2X通信接口的理想型選擇。
在未來(lái)的全自動(dòng)和先進(jìn)輔助駕駛車(chē)輛中,存在幾十個(gè)甚至數(shù)百個(gè)分布式CPU。 用于將汽車(chē)子網(wǎng)連接在一起的外設(shè)處理功能可由ASIC、SoC或傳統(tǒng)FPGA提供服務(wù)。 但是,Speedcore eFPGA IP的引入提供了傳統(tǒng)FPGA所不具備的,在延遲、安全性、帶寬和可靠性等方面的優(yōu)勢(shì)。