這類晶片,變了

IC 和 SoC 正在利用一系列處理元件,使它們能夠最佳化當前的工作負載,同時為未來做好準備。

過去只需在ASIC、FPGA或DSP之間做出簡單選擇,如今卻演變成多種處理器類型和架構的組合,包括不同程度的可程式設計性和定製化。速度固然重要,但技術發展日新月異,如今的最佳解決方案可能在晶片投入生產時就已經過時。如果出現新的AI模型、記憶體標準或其他類型的技術升級,與成本高昂的晶片重新設計相比,可程式設計元件提供了一種更簡便的解決方案。這甚至可能包括更換一個可程式設計晶片組。

晶片現場重新程式設計或重新配置的能力使設計人員能夠重新分配工作負載,並為消費者提供硬體升級,而無需他們購買昂貴的新裝置。FPGA(現場可程式設計門陣列)和DSP(數字訊號處理器)是兩種最常見的可程式設計元件,但還有其他類型的元件。

Arteris公司產品管理和市場行銷副總裁Andy Nightingale表示:“最簡單的例子就是圖形處理器(GPU)。長期以來,人們一直使用大規模平行、可程式設計的GPU來完成各種任務。它可能不是最優方案,但在軟體驅動和硬體驅動方面,它與FPGA最為接近。”

雖然GPU具有高度可程式設計性,但它們也極其耗電,因此設計人員會嘗試其他解決方案來開發嵌入式AI應用。一種常用的方案是使用功能相對固定的神經處理單元(NPU)和可程式設計DSP。

Quadric首席行銷官Steve Roddy表示:“Nvidia的GPU採用CUDA C++程式設計方言和基於線程、線程束的程式設計模型,依賴於硬體密集型快取系統。這使得程式設計師可以忽略資料如何對應到記憶體,而將細節交給硬體處理。DSP也支援C和C++程式設計,但功耗遠低於GPU,因為DSP通常使用本地SRAM而非本地快取,並且採用DMA(直接記憶體訪問)進行資料傳輸,而不是無休止地讀取快取行。DSP在AI性能方面存在侷限性,因為它們無法高效地進行矩陣運算,並且資料平行性有限。NPU在AI核心的矩陣運算方面表現出色,但缺乏可程式設計性。我們的GPNPU(通用神經處理單元)融合了NPU的矩陣運算效率和DSP的低功耗可程式設計性,打造出一款理想的嵌入式AI處理器。”

Synaptics 最新的嵌入式 AI 處理器採用 Arm CPU 和 MCU,並搭載 Helium DSP 擴展,以及基於 RISC-V 架構的 Google Coral NPU。而 Blaize 則使用專有的可程式設計圖流處理器 (GSP),利用 Arteris 的片上網路 IP 實現多模態 AI 應用。

資料中心也有多種可程式設計選項。“資料處理單元 (DPU) 是一種智能網路介面,可用於路由來自系統不同部分的包,”Nightingale 說道。“資料中心領域還有 P-4 可程式設計交換機。它們是用於可程式設計封包處理流水線的網路交換機。此外還有可重構陣列。粗粒度可重構陣列 (CGRA) 執行特定功能。它們採用軟體驅動的重構,抽象等級高於 FPGA,因此能夠在流水線中實現靈活性、效率和 AI 推理之間的平衡。”

CGRA 是一種新興技術,其性能介於 FPGA 和 GPU 之間,能夠實現更加融合或平衡的方案。“這可能是目前所有技術中最有趣的一個,”Nightingale 說。“他們仍在進行實驗階段,因為有些技術已經達到了可以信賴的基準,而有些新技術雖然展現出了潛力,但尚未經過全面測試。它們有可能在各自的領域內帶來顛覆性的變革。我仍然提倡針對特定任務將 FPGA、GPU 和 XPU 結合使用。這可能是我們目前所關注的最佳組合。”

CGRA 和現場可程式設計模擬陣列 (FPAA) 將可重構計算的靈活性擴展到了傳統數字邏輯之外。“市場尚處於早期階段,市場需求的規模和成熟度仍存在疑問,”Altera 業務管理集團負責人 Venkat Yadavalli 表示,“尤其是在生態系統支援、工具鏈成熟度以及與現有 FPGA 和 ASIC 設計流程的整合方面,更是如此。”

可程式設計性、可重構性和可定製性

晶片可以是可程式設計的,也可以是可重構的,或者兩者兼具,FPGA 就是如此。

Baya Systems首席商務官Nandan Nayampally表示:“整個硬體本身都是可程式設計的,這意味著我可以完全改變FPGA上的設計,這就是可程式設計性所在。下一層則表示,‘我擁有所有這些元件,我擁有所有這些互連結構,但我可以配置分配給這個裝置的頻寬和延遲。’我可以設定優先順序。這也是可程式設計性,但它有一定的侷限性,因為你並沒有完全改變功能,而只是對資源進行不同的分區和配置。”

例如,有些CPU是可程式設計和可配置的,但僅限於一定程度。“在CPU層面,也就是通用的可程式設計性領域,存在像RISC-V架構或ISA架構這樣的可程式設計CPU,而且在架構方面,還有其他一些技術正在湧現,”Altera公司的Yadavalli說道。“FPGA提供了你所需的極高靈活性,可以引入並實現各種不同的工作負載。以RISC-V為例,它允許你進行一些與裝置相關的配置,你只需做出一些基本決策來幫助另一個晶片工作,或者它可能是一個可程式設計性有限的RISC-V處理器。”

FPGA始終具備極高的可程式設計性。“因為你可以更改I/O,可以更改底層結構,可以根據需要隨時更改所有設定,”Yadavalli說道。“其他類型的可程式設計性探索得更加有限,也更具針對性。如果已經有了標準產品,我還能提供什麼來增加其靈活性呢?它雖然可配置性更強一些,但並非完全可程式設計。”

晶片還可以通過電源基礎設施進行定製。“定製的方式有很多種,” Movellus首席執行長 Mo Faisal 表示,“一種方式是每個晶片都進行定製,擁有定製的電源網路和最佳化方案。假設有一百萬個晶片封裝在一百萬種不同的封裝中,它們都是獨一無二的。但是,我們可以讓電源基礎設施更具可程式設計性,使其與不同的封裝相匹配,因為每個封裝的諧振頻率都不同。如果可程式設計性足夠強,我就可以消除一些封裝差異帶來的影響。這可以帶來顯著的性能提升,因為封裝會導致電壓下降,進而影響最小電壓 (Vmin) 、功耗、散熱等等。”

人工智慧和模擬訊號增長對 DSP 的影響

現代 SoC 正在快速發展,其中一個顯著的變化是它們需要處理的模擬內容越來越多,這給 DSP 帶來了額外的負擔。

Cadence公司產品管理和市場行銷高級總監、電腦視覺/人工智慧產品負責人Amol Borkar表示:“這些晶片不再僅僅是數字晶片——它們現在還整合了射頻、混合訊號和感測器介面,可用於5G、汽車雷達和物聯網裝置等領域。這聽起來功能強大,但也意味著數字訊號處理器(DSP)要處理遠非完美的訊號。現實世界中的模擬訊號存在噪聲、失真和波動,因此DSP必須付出更多努力來淨化這些訊號。這促使人們大力開發更智能的校準和補償演算法。”

正因如此,數字訊號處理器(DSP)的作用範圍不斷擴大。“它們不再只是進行數值運算,而是進行模擬感知處理,”Borkar說道。“例如,自適應濾波可以降低干擾,射頻功率放大器的線性化,以及校正模數轉換器(ADC)和數模轉換器(DAC)的誤差。所有這些都增加了複雜性,因此DSP架構正變得越來越平行,並且通常包含專用加速器以滿足性能需求。”

數字控制模擬賦予了DSP更強的可程式設計性。“如今,如果你有一個基本的資料流主幹,DSP通常是模擬的,但你會在傳輸過程中分出一些訊號並將其轉換為數字訊號,”Synopsys旗下Ansys的產品行銷總監Marc Swinnen說道。“現在,你可以對各種數學演算法和所有軟體程式碼進行完整的數字分析,並進行大量的數位化思考。當你考慮反饋訊號應該是什麼時,你會將其轉換回模擬訊號並反饋。這被稱為數字控制模擬,它將可程式設計性、軟體和數位電路引入到反饋流程中。它雖然速度不如模擬訊號快,也不如模擬訊號優雅,但它更易於程式設計,軟體也更易於控制。”

展望未來,一些有趣的趨勢正在湧現。“人工智慧正開始在解決SoC中模擬內容增多帶來的挑戰方面發揮重要作用,”Borkar說道。“傳統上,DSP依賴固定模型來校正模擬訊號中的缺陷,但當實際情況發生變化時,這些模型往往力不從心。而這正是人工智慧的優勢所在。機器學習可以從實際裝置行為中學習,並動態調整校準,預測ADC或射頻路徑中的非線性,並即時應用校正。”

人工智慧也使數字訊號處理器(DSP)更具適應性。“人工智慧驅動的演算法無需使用靜態濾波器或均衡器,就能隨著環境變化(無論是溫度變化、元件老化還是干擾)不斷自我最佳化,”博爾卡爾說。“這對於5G無線電或汽車感測器等環境瞬息萬變的系統尤為重要。”

其他人則認為未來將是傳統方法與人工智慧方法的融合。“我們與一些汽車行業的客戶討論了數字訊號處理器(DSP)將繼續承擔那些功能,以及人工智慧將取代那些功能,”弗勞恩霍夫積體電路研究所(Fraunhofer IIS)自適應系統工程部門高效電子部門負責人安迪·海尼格(Andy Heinig)表示。“例如,雷達就需要三種不同的快速傅里葉變換(FFT)。雖然有一些方法可以用人工智慧來替代FFT,但我們非常肯定,傳統的FFT演算法在能效方面要好得多,因為它可以高度最佳化,而且要達到相同的精度,需要非常龐大的網路。此外,FFT演算法更具確定性,也更容易解釋。我們認為解決方案是保留FFT演算法,然後,例如,在目標識別等任務上,可以在此基礎上應用人工智慧。但要完全取代傳統DSP的所有功能,我們認為是不可能的。”

在進行訊號調理時,首先使用一些經典的DSP演算法和FFT進行初步處理是合理的。“我們會看到一個短期趨勢,即所有技術都被人工智慧取代,但最終肯定會回歸這種混合方法,”海尼格說道。“找到正確的方法——那些是經典方法,那些是人工智慧方法——需要反覆迭代。”

FPGA中的DSP切片和AI引擎

Altera 的 Yadavalli 指出,FPGA 中內建的DSP是可重構模組,其效率已經大大提高,能夠處理定點和浮點運算,以及 AI 和機器學習工作負載。

除了數字訊號處理器 (DSP) 之外,許多現代 FPGA 還配備了人工智慧引擎,這些引擎是超長指令字 (VLIW)、單輸入多資料流 (SIMD) 處理器。這樣做的一個優勢是使 FPGA 能夠與資料同步執行數字訊號處理。“與以往使用獨立的 DSP,然後再由 FPGA 從模數轉換器 (ADC) 或數模轉換器 (DAC) 採集資料不同,現在只需 DSP 切片或 AI 引擎即可,”Yadavalli 說道。“這是我們在過去幾年中一直致力於推動的新發展方向,即將這些向量計算引擎整合到單個器件中。”

向量處理單元 (VPU) 與 GPU 類似,都包含用於執行處理的核心。“或者像 x86 架構一樣,它有自己的核心架構,”Yadavalli 說。“這是一種不同的架構,指令集也不同,但它針對線性代數和矩陣運算進行了最佳化。”

AI引擎可以承擔一些傳統的DSP工作負載,但並非全部。“乘加運算在許多不同的操作中都非常有用,因此可程式設計邏輯仍然包含DSP切片,”AMD自適應和嵌入式產品行銷高級經理Rob Bauer表示。“但現在,我們在器件中加入了AI引擎陣列,以處理這些計算密集型負載,例如通道化器、FFT、FIR濾波器等,我們已經有一些應用案例。由於這些優勢,航空航天/國防和測試/測量市場已經大量採用了這項技術。”

從射頻測試的角度來看,將ADC和DAC整合到與FPGA相同的晶片上至關重要。“這可以降低系統測試的延遲,”Bauer說道。“你不需要像其他一些方法那樣使用獨立的資料轉換器,甚至不需要獨立的晶片組。如果使用晶片組和FPGA,仍然需要在兩者之間傳輸資料。而將ADC與可程式設計邏輯整合在同一晶片上,則能帶來顯著的優勢。”

Chiplets 或 eFPGA 提供靈活性

對於新的、未知的和不斷變化的應用場景,可程式設計晶片允許工程師更新已部署的配置。Chiplets 也提供了一種解決方案。

Arteris公司的Nightingale表示:“晶片組(Chiplet)搭載的技術能夠有效應對頻繁變化的應用場景,例如,可以隨時更換包含新協議或標準的晶片組。這在一定程度上削弱了FPGA的優勢,因為你可以說:‘在下一個晶片批次中,我可以建構一個搭載多個晶片組的SoC,然後我們將其中一個晶片組取代為剛剛升級的安全晶片組,其他部分保持不變。’然而,在原型設計方面,性能優勢和功耗之間存在著權衡。或許可以先在FPGA上進行原型設計,然後再進行替換。晶片組無疑將成為解決方案的一部分。晶片組能夠提供更多的時間或更多的變數。你甚至可以考慮使用搭載FPGA的晶片組,並將其取代為最佳化的處理單元。”

這意味著帶有 FPGA 的晶片可以重新程式設計,但 SoC 的其餘部分無需再次驗證,因為只更改了一個部分。

嵌入式FPGA是另一種解決方案,但由於其可重構電路的存在,會增加面積成本。“對於習慣於在最小面積內設計ASIC門電路的人來說,如果將同樣的電路設計放到FPGA中,面積就會大得多,”QuickLogic的IP銷售副總裁Andy Jaros說道。“設計人員需要謹慎思考,‘我只會把它放在真正重要的地方。’這也會影響成本。我們看到I/O靈活性方面出現了一些問題,因為沒有人願意再製作一個晶片。或者,如果新建了一個資料中心,並且對背板進行了一些改動,他們不想再製作ASIC晶片,所以他們會在那個位置放置一個嵌入式FPGA,以便能夠連接到不同的資料中心或背板。”

此外,eFPGA 還為未知領域提供了靈活性。“現在未知,但未來終將知曉,” Synopsys移動、汽車和消費電子 IP 產品管理執行總監 Hezi Saar 表示。 “一旦確定了目標,就必須快速推向市場。而要保證可靠性,就必須降低功耗。我相信eFPGA可以實現一些功能,但它並非萬能的解決方案。由於存在這些未知因素,市場非常動盪。他們必須做出決策,並且會付諸行動,但他們需要有A、B、C三個備選方案,以應對可能出現的變化。根據我的觀察,他們會加快晶片的研發速度。在移動領域,這相對容易,因為他們可以快速完成。但在機器人等新興市場,挑戰更大,尤其是在他們提出“我需要從LPDDR5升級到LPDDR6。而代工廠正在將工藝節點從A更改為B。A節點對我來說已經無法使用了。我該如何快速過渡到下一個節點?”這樣的問題時。”

儲存器架構是可程式設計邏輯和固定邏輯之間的關鍵區別。“ASIC 可以採用定製的儲存器層次結構來滿足特定的 AI 工作負載需求,而 FPGA 則提供了更大的靈活性,使其能夠應用於各種用例,”Rambus 的傑出發明家兼研究員 Steve Woo 表示。 “這種通用性和性能之間的權衡會影響效率,尤其是在模型規模不斷擴大、記憶體頻寬成為限制因素的情況下。”

結論

在人工智慧快速普及、機器人技術興起以及未來 6G 需求不斷增長的時代,可程式設計性使公司能夠跟上技術趨勢和消費者需求,即使這會犧牲 ASIC 的一些效率。

西門子EDA半導體行業副總裁邁克爾·芒西表示:“我喜歡這樣描述:產品正在變得軟體定義、人工智慧驅動、矽晶片賦能。有了軟體,就需要半導體。軟體必須在某個地方運行。但隨著時間的推移,情況發生了轉變。過去,產品設計通常是先開發半導體,然後再進行軟體開發,因為很多功能和特性都是由軟體定義的。現在,軟體開發的時間大大提前,而且企業希望在產品發佈更新後實現盈利。基本上,他們希望通過軟體加入功能,並通過軟體更新產品。所有這些決策現在都必須在架構層面上做出。”

然而,硬體必須能夠支援軟體的變更。以iPhone為例。“iOS 16發佈後,你把它安裝到手機上,手機性能就提升了,因為麥克風的降噪效果更好了,”芒西說道。“照片拍得更好了,因為這些都得益於可以更新的軟體和DSP演算法。電池續航時間更長了,因為他們調整了晶片的功耗曲線,並通過更新電池管理系統延長了電池壽命。除非你把整個產品架構設計成可以軟體更新的,否則這一切都無法實現。現在像特斯拉這樣的公司正在提供軟體升級,為汽車增加更多功能,所以我們可以看到這可能是一條發展之路。這就是為什麼各公司都在加大對編譯技術的投資,因為現在甚至在半導體可用之前,就必須開發出相應的軟體來進行協同設計。” (半導體芯聞)