FPGA的新變化

FPGA的新變化


FPGA SoC通過融合FPGA和ASIC兩者的元件,跨越了靈活性和性能之間的界限。但隨著它們進入高安全性、任務關鍵型市場,它們也面臨著與標準SoC相同的問題,包括在日益複雜的器件中快速傳輸越來越多的數據,以及在驗證和調試中可能出現的一切棘手的問題。

FPGA SoC是一種混合器件,隨著芯片製造商和系統公司每年要完成更多的設計工作,它正獲得越來越多的關注,尤其是協議和算法仍在變化的市場中,比如汽車、醫療器械和安全性市場。使用標準的FPGA芯片可以提供必要的靈活性,但是隻有ASIC才能滿足更高的性能要求,無論是在新市場還是在現有的市場,如航空航天。FPGA SoC提供了一種折中解決方案,既提供了ASIC的一些性能和低功耗優勢,也提供了靈活性,以避免提早過時。

但是這種複雜性也帶來了SoC設計團隊非常熟悉的問題。

Aldec公司硬件部總經理Zibi Zalewski表示:“FPGA的複雜性和功能日益增長,你可以在一顆FPGA中構建具有多種接口和協議的大型系統,而這種設計需要一種結構來集成不同的IP和硬件模塊,使它們可以工作在各種時鐘域和數據協議上。”

現代FPGA,尤其是那些具有硬核嵌入式處理器和控制器的FPGA,適用於傳統邏輯FPGA和ASIC之間的某個地帶,並向ASIC方向發展。Zalewski說:“我們肯定需要NoC,因為從驗證的角度來看,NoC簡化了接口。NoC設計允許工程團隊管理頂層接口,它可以進一步用於為主機或轉發器創建一個主原型通道,以進行仿真,而不是去管理多個接口,那樣會增加驗證過程的複雜性、時間和成本。”

這對FPGA SoC工具有一些有趣的影響。FPGA供應商通常連同他們的硬件銷售他們自己的工具,這使得EDA供應商很難在這個市場上產生重大影響。但是,隨著這兩個世界開始合併,問題就出現了,例如,FPGA SoC是否需要使finFET成為可能的複雜工具和IP,特別是在需要可追溯性的安全關鍵應用中。

Cadence公司的產品管理總監Juergen Jaeger說:“當使用大容量FPGA進行設計驗證和原型設計時,關鍵的要求之一就是要具備適當的調試功能。但是,在今天的no-NoC FPGA的架構中,提供這樣的調試功能是很困難的,主要是由於FPGA中連接資源有限,尤其是因為需要所有FPGA內部路由資源來實現設計本身,並且用足夠的性能運行它。此外,調試還要求能夠訪問儘可能多的內部設計節點(理想情況是全部節點),並將這些測試點路由到外部。這幾乎是不可能的,還會導致許多挑戰和調試缺陷。此處便是FPGA內部NoC可以提供幫助的地方,因為它可以提供測試許多本地節點的能力,通過NoC將數據路由到聚合器,而不會浪費寶貴的FPGA路由資源,然後通過某些標準接口(如千兆以太網)輸出調試數據。”

然而,並非所有的FPGA都需要NoC。Jaeger表示:“如果是數據路徑密集的設計,需要傳輸大量的數據,那麼NoC可能會有所幫助。但是,如果設計更加以控制為中心,並且要求性能儘可能強,那麼NoC的固有延遲和非確定性性質可能會適得其反。它還需要新的FPGA設計工具,可以利用FPGA內部的NoC組件。”

FPGA的新變化


更低的功率

ASIC天生比FPGA更節能。現在的問題是:通過組合這些器件,以及利用為SoC開發的一些低功耗技術,比如通過NoC進行更高效的信號路由,可以減少多少功耗。

Aldec公司的Zalewski說:“NoC使FPGA資源可以由IP內核和外部接口共享,並簡化了電源管理技術。使用NoC,FPGA邏輯可以被劃分成不同的區域,每個區域都可以被稱為路由器的單獨的NoC節點處理,如果不使用的話,可以選擇地關閉為睡眠模式。”

這種靈活性的概念促成了CCIX Consortium的成立,CCIX Consortium旨在為新出現的加速應用提供互連服務,例如機器學習、網絡處理、存儲卸載、內存數據庫,以及4G/5G無線技術。

該標準旨在允許基於不同指令集架構的處理器將緩存一致性、對等處理(peer processing)等優點擴展到多種加速器件,包括FPGA、GPU、網絡/存儲適配器、智能網絡,以及定製ASIC。

在使用FPGA加速工作負載時,這一點尤為關鍵。NetSpeed Systems公司營銷副總裁Anush Mohandass指出,在幾年前的Hot Chip會議期間,微軟表示希望使用FPGA加速Bing的圖像搜索,而不是在常規服務器中運行。“他們發現,使用FPGA加速圖像可以提高效率、降低延遲,所以,在這個領域,FPGA可以進入最前沿。不要將它用作通用計算機,而是將其用於加速。”

事實上,Mohandass認為這是CCIX時刻背後的起源。“即使微軟做到了,並且說‘我們有Xeon處理器,它是主CPU,是主引擎……’當它檢測到FPGA可以做的事情時,就會拋給FPGA。如果是這樣的話,那為什麼要把加速器當成二等公民呢?在CCIX中,加速在字面上與核心計算集群具有相同的權限。”

當今先進的FPGA還存在其他技術問題,這些問題可能也會通過NoC結構得到解決。

Synopsys公司高級營銷總監Piyush Sancheti說:“就門數和複雜性而言,每個FPGA架構看上去都像一個SoC,但現在你已經擁有了所有這些功能,很明顯,你把更多的功能塞進了一個器件中,這就產生了多功能的複雜性,就像時鐘一樣。我們看到FPGA中的時鐘結構變得越發複雜,從而產生了一大堆新問題。”


IP重用

這也簡化了設計重用。Sancheti說:“通常情況下,如果設計採用任何類型的SoC環境,無論是在ASIC還是FPGA上實現,集成的IP越多,設計中的異步時鐘就越多。可能有一個PCIe運行在66 MHz,設計的其他部分可能會以更高的頻率運行,而這些設計並不是相互同步的。本質上,這意味著存在以不同頻率運行的邏輯,但是這個邏輯是在相互通信的。這會導致時鐘域交叉問題。如何確保信號從快速時鐘域轉為慢速信號,或從慢速轉為快速時,信號是可靠的?並且你沒有元穩定信號(peer processing),本質上這些信號的時序不是完全同步的。”

就像SoC設計一樣,此處需要一個非常複雜的同步方案,以及確保正確同步的工具和方法。Sancheti說:“除了jelly bean系統的FPGA以外,大家都有一套完整的方法來進行時鐘域交叉驗證,這對FPGA設計社區來說實際上是個新鮮事。如果你把所有這些挑戰都映射到設計流程和方法上,就會有新東西添加到他們的流程中,先前,他們不擔心純粹是因為他們沒有那麼多的IP,而且他們也沒有那麼多的時鐘域要處理。它可以追溯到設計和最終應用的簡單性。隨著FPGA變得更像SoC,他們不得不應對一切SoC設計挑戰。”


縮小差距

那麼,如今的FPGA SoC是否足夠像傳統的、數字SoC那樣,所有相同的規則都適用於片上網絡呢?似乎或多或少有點像,但又不完全一樣。

ArterisIP公司CTO Ty Garibay表示:“兩家主要的FPGA供應商都有專門的片上網絡工具,如果用戶選擇使用其中的一種,那麼他們可以使用某種形式的片上網絡來連接他們的功能。這更多的是一種系統的概念性方法。它是否足夠像標準SoC,將NoC視為連接主幹是否更有意義?許多FPGA應用都不是這樣。它們看起來更像是網絡芯片或主幹芯片,基本上是數據流。數據從左邊進來,中間經過一大堆的數據傳輸單元,然後數據從右邊輸出。這不是傳統的SoC。這是一個普通的網絡處理器、或基帶調制解調器、或類似的東西,它是一個數據流芯片。所以在這些類型的FPGA軟設計中,不需要片上網絡。 ”

但是如果它在概念上看起來像一堆相互通信並且通常由中心點控制的獨立功能單元,那麼將這些單元連接到芯片上的軟網絡確實是有意義的。Ty Garibay表示:“預計下一代高性能FPGA將包含片內的硬核NoC,因為它們正在達到相當高速的數據流量——特別是當你擁有100千兆位的SerDes和HBM2的時候,此時你想通過軟邏輯為每個通道提供1-2太比特,這基本上會使用掉所有的軟邏輯,剩餘的軟邏輯不足以用於處理。”

因此,這種帶寬將需要將數據傳輸硬件化,這與強制使用硬核DSP或硬核存儲控制器的方式非常相似。未來幾代FPGA可能會看起來像棋盤似的街道,此處的街道是硬核的128、256、512個12位的總線,在1-2個週期內從頭走到尾,並且不會使用任何軟邏輯。

Garibay說:“與此同時,還有一個綜合功能,作為將這些功能硬件化到FPGA中的一部分,即為這些通道分配入口和出口,因為我們正在傳輸海量的數據,我不知道如何通過軟邏輯做到這一點。這是真正將NoC加入FPGA的開始,因為NoC總是個好主意。”


FPGA的新變化

原文地址:卿萃科技FPGA極客空間 微信公眾號


分享到:


相關文章: