06.29 把NoCs增加到FPGA SoCs

隨著複雜性和器件尺寸的增加,對片上網絡(on-chip network)的需求也在增加。

FPGA SoCs通過將FPGA和ASIC的元件組合在一起,兼顧性能和性能。但是,隨著他們在更安全和關鍵任務市場中找到自己的用武之地,他們也面臨著與標準的SoCs相同的問題,包括能夠在日益複雜的設備中快速移動越來越多的數據,以及驗證和調試可能出現的任何問題變得越來越困難。

FPGA SoCs是一種混合型器件,並且它們正在獲得發展的牽引力,因為芯片製造商和系統公司每年都要完成更多的設計,而且常常是在協議和算法仍在不斷變化的市場應用中,例如汽車,醫療設備和安全性。使用標準的FPGA芯片可以提供必要的靈活性,但是隻有ASIC才能滿足更高的性能要求,無論是對於新的還是已有的市場,例如航空航天等來說都是如此。 FPGA SoC提供了一種折衷解決方案,它基本上分化了這種差異,提供了ASIC的一些性能和低功耗優勢,並具有避免在早期就過時的靈活性。

但是這種複雜性也增加了SoCs設計團隊非常熟悉的問題。

“FPGA的複雜性和功能日益增長,您可以在單個FPGA中構建具有多種接口和協議的大系統,而這種設計需要一種結構來集成不同的IP和硬件模塊,以及保證各種時鐘域和數據協議正常工作,” Aldec硬件部總經理Zibi Zalewski表示。

現代FPGA - 尤其是那些具有硬核嵌入式處理器和控制器的FPGA - 適合傳統邏輯FPGA和ASIC之間的某種位置,並向ASIC方向發展妥協,取長補短。 Zalewski說:“現代FPGA確實需要NoCs,因為NoCs從驗證的角度簡化了接口連接。 “設計中的NoCs允許工程團隊管理頂層接口,這可以進一步用於為主機或交易服務器創建主要原型通道以進行仿真,而不是多個接口,從而增加了複雜性,時間和成本驗證過程的成本“。

這對FPGA SoC工具有一些有趣的意義。 FPGA供應商通常會用自己的硬件銷售他們自己的工具,這使得EDA供應商可以在該市場中立足從而避免造成重大損失。但是,隨著這兩個世界開始融合,就會出現一些問題,例如,在FPGA SoCs中是否可能需要使finFET成為可能的複雜工具和IP,特別是在需要追蹤性的安全關鍵應用中。

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

然而,並非所有的FPGA都需要NoCs。 Jaeger說:“如果設計是一個數據路徑繁重的設計,移動大量數據,這可能會有所幫助。 “但是,如果設計更加以控制為中心,和/或需要儘可能高的性能,則NoCs的固有延遲和非確定性特性可能會適得其反。它還需要新的FPGA設計工具,以利用FPGA內部的NoC組件。“

把NoCs增加到FPGA SoCs

英特爾的FPGA SoC陣容。來源:英特爾

更低的功耗

ASIC本質上比FPGA更節能。現在的問題是,通過組合這些器件並利用一些為SoC開發的低功耗技術,比如通過NoC實現更高效的信號路由,可以削減多少功率開銷。

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

這種靈活性的概念促成了CCIX聯盟的成立,CCIX聯盟成立的目的在於實現新興的加速應用,如機器學習,網絡處理,存儲卸載,內存數據庫和4G / 5G無線技術。

該標準旨在允許基於不同指令集體系結構的處理器將緩存一致性對等處理的優勢擴展到包括FPGA,GPU,網絡/存儲適配器,智能網絡和定製ASIC在內的眾多加速設備中。

這在使用FPGA加速工作負載時尤為重要。 NetSpeed Systems市場營銷副總裁Anush Mohandass指出,幾年前在Hot Chip大會上,微軟表示它希望使用FPGA加速Bing的圖像搜索,而不是在普通服務器上運行它。 “他們發現使用FPGA加速處理圖像可以獲得更高的效率和更低的延遲,因此這是FPGA進入最前沿的地方。不要將其用作通用計算旗艦,而是將其用於加速計算中。“

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

把NoCs增加到FPGA SoCs

賽靈思的Zynq-7000 SoC。

當今先進的FPGA還存在其他技術問題,可能也受益於NoC的結構。

“Synopsys高級營銷總監Piyush Sancheti表示:”就門數和複雜度而言,每塊FPGA架構看起來都像是SoC。 “但是現在你已經擁有了所有這些固定資產,你顯然將更多的功能堵塞在一個設備上,這就造成了多功能的複雜性以及諸如時鐘的功能。我們發現FPGA中的時鐘結構變得越來越複雜,從而產生了大量的新問題。“

IP重用

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

就像SoC設計一樣,需要一個非常複雜的同步方案,以及確保正確同步的工具和方法。 “除了果凍豆( jelly bean)式的FPGA以外,任何人都擁有完整的全天候域交叉驗證方法,這對FPGA設計社區來說實際上是一種新鮮事,”他說。 “如果你把所有這些挑戰都映射到設計流程和方法論上,那麼他們的流程中就會增加新的東西,他們歷史上並不需要擔心純粹是因為他們沒有那麼多的IP,他們也沒有許多時鐘域來處理。它可以追溯到設計和最終應用的簡單性。隨著FPGA變得更像SoC,不幸的是他們不得不面對做SoC設計的所有挑戰。“

縮小差距

那麼今天的FPGA SoC就像傳統的數字SoC一樣,所有相同的規則都適用於片上網絡(network-on-chip)?答案似乎有點像但又不完全是。

“兩家主要的FPGA供應商都擁有專有的片上網絡(network-on-chip)工具,如果用戶選擇使用其中的一種,他們可以使用片上網絡形式連接他們的功能,”ArterisIP首席技術官Ty Garibay說。 “這更多的是對該系統的概念性方法。它是否像標準SoC那樣看起來不夠充足,將NoC視為連接主幹更合理?但許多FPGA應用不是這樣的。它們看起來更像是一種基本上是數據流的網絡芯片或主幹芯片。數據出現在左邊,你有一大堆的數據傳輸單元,而數據是正確的。這不是傳統的SoC。這是一個普通的網絡處理器或基帶調制解調器或類似的東西,它是一個數據流芯片。所以在這些類型的FPGA軟設計中,不需要片上網絡(network-on-chip)。“

把NoCs增加到FPGA SoCs

CCIX規範利用PCI Express協議實現CCIX事務層

但是如果它在概念上看起來像一堆相互通信並且通常由中心點控制的獨立功能單元,那麼將這些單元連接到芯片上的軟網絡確實是有意義的,他說。 “預計下一代高性能FPGA將包含內置硬核的NoC,因為它們正在達到數據流量如此之高的速度 - 特別是當您擁有100千兆位SerDes和HBM2時,試圖通過軟邏輯提供一個太比特(terabit)管道或兩個通道,基本上就使用了所有的軟邏輯,而且你沒有什麼可以處理的。“

因此,這種帶寬需要強化數據移動,這與強制使用硬核DSP或硬核存儲控制器的方式大致相同。連續幾代FPGA可能會看起來像街道棋盤,在街道中,街道是硬的128,256,512個12位總線,在一個或兩個週期內從頭到尾走,並且不用任何軟邏輯來做到這一點。

“除此之外,還有一個綜合功能,即將這些功能加入到FPGA中,為這些通道分配入口和出口斜坡,因為我們正在移動這麼多的數據,我只是看不到它們如何能夠繼續以軟邏輯來做到這一點,“Garibay說。 “這將是真正的NoC集成到FPGA中的設計,因為NoC始終是一個好主意。”

(完)


分享到:


相關文章: