使用帶有片上高速網絡的FPGA的八大好處
輕松支持硬件虛擬化
本文引用地址:http://www.104case.com/article/202006/413858.htmSpeedster7t NoC通過利用NAP及其AXI接口,為設計人員提供了在單個FPGA中創建虛擬化安全硬件的獨特能力。將可編程邏輯設計直接連接到NoC只需要在邏輯設計中實例化一個NAP及其AXI4接口即可。每個NAP還具有一個相關的地址轉換表(ATT),該表將NAP上的邏輯地址轉換為NoC上的物理地址。NAP的ATT允許可編程邏輯模塊使用本地地址,同時將NoC定向事務映射到NoC全局存儲映射所分配的地址。此項重新映射功能可以以多種方式使用。例如,它可以用于允許加速引擎的所有相同副本使用基于零的虛擬尋址,同時將數據流量從每個加速引擎發送到不同的物理存儲位置。
每個ATT條目還包含一個訪問保護位,以防止該節點訪問被禁止的地址范圍。該功能提供了一種重要的進程間安全機制,可防止同時在一個Speedster7t FPGA上運行的多個應用或多個任務干擾分配給其他應用或任務的存儲模塊。這種安全機制還有助于防止由于意外、偶然甚至是故意的存儲地址沖突而導致系統崩潰。此外,設計人員可以使用此方案阻止邏輯功能訪問整個存儲設備。
Memory Space:存儲空間
圖5:致力于開發同一個FPGA的多個設計團隊
簡化團隊協同設計
基于團隊的協同化FPGA設計并不是一個新的概念,但是底層架構和布線依賴于FPGA的其他部分,從而使得實現這個簡單概念非常具有挑戰性。一旦一個團隊完成了設計的一部分,另一個設計其他部分的團隊在嘗試訪問設備另一端的資源時,通常會遇到挑戰,因為需要在已經完成的設計部分進行布線。同樣,對一部分已進行設計布線的FPGA的區域或大小進行更改,可能會對所有其他FPGA設計模塊產生連鎖影響。
使用Speedster7t NoC,可以將設計模塊映射到FPGA的任何部分,并且可以對資源分配進行更改,而不會影響其他FPGA模塊的時序、布局或布線。由于器件中所有的NAP都支持每個設計模塊無限制地訪問NoC進行通信,因此使得基于團隊的設計成為可能。因此,如果一個設計的某個部分在規模上有所增大,只要有足夠的FPGA資源可用,數據流就會由NoC自動管理,從而使設計人員不必擔心是否滿足時序,以及對其他團隊成員正在進行的設計的其他部分可能帶來的后續影響。
Design Team:設計團隊
圖6:獨立的I/O和邏輯驗證
通過獨立的接口和邏輯驗證加快設計速度
Speedster7t NoC的另一個獨特功能是支持設計人員獨立于用戶邏輯去配置和驗證I/O連接。例如,一個設計團隊可以驗證PCIe至GDDR6的接口,而另一個設計團隊可以獨立地驗證內部邏輯功能。這種獨立操作之所以能夠實現,是因為NoC的外圍部分連接了PCIe、GDDR6、DDR4和FCU,而不會消耗任何FPGA資源。這些連接可以在不使用任何HDL代碼的情況下進行測試,從而可以同時獨立地驗證接口和邏輯。該功能消除了驗證步驟之間的依賴關系,并實現了比傳統FPGA架構更快的總體驗證速度。
Design Team 1: I/O Verification:設計團隊1:I/O驗證
Design Team 2: Logic Verification:設計團隊2:邏輯驗證
圖7:分組模式下的數據總線重排
采用分組模式(Packet Mode)簡化400 Gbps以太網應用
在FPGA中實現高速400 Gbps以太網數據通路所面臨的挑戰是找到一種能夠滿足FPGA性能要求的總線位寬。對于400G以太網,全帶寬運行的唯一可行選擇是運行在724 MHz的1,024位總線,或運行在642 MHz的2,048位總線。如此寬的總線難以布線,因為它們在FPGA架構內消耗了大量的邏輯資源,即使在最先進的FPGA中也會在這樣的速率要求下產生時序收斂挑戰。
但是,在Speedster7t架構中,設計人員可以使用一種稱為分組模式(packet mode)的新型處理模式,其中傳入的以太網流被重新排列為四個較窄的32字節數據包,或者四條獨立的以506 MHz頻率運行的256位總線。這種模式的優點包括:當數據包結束時減少了字節的浪費,并且可以并行傳輸數據,而不必等到第一個數據包完成后才開始第二個數據包的傳輸。Speedster7t FPGA架構的設計旨在通過將以太網MAC直接連接到特定的NoC列,然后使用用戶實例化的NAP從NoC列連接到邏輯陣列中,從而啟用分組模式。使用NoC列,數據可以沿著該列被發送到FPGA架構中的任何位置,以便進一步處理。使用ACE設計工具配置分組模式,可大大簡化用戶設計,并在處理400 Gbps以太網數據流時提高了效率。
Packet:數據包
Byte:字節
圖8:使用分組模式的400 Gbps以太網
降低邏輯占用并提高整體FPGA性能
與以前的傳統FPGA相比,Speedster7t NoC具有更大的靈活性和更簡單的設計方法。一個潛在的好處是NoC會自動減少給定設計所需的邏輯量,設計可以使用NoC代替FPGA邏輯陣列來進行模塊間布線。ACE設計工具自動管理將設計單元連接到Speedster7t NoC的復雜性,因此設計人員無需編寫HDL代碼即可實現生產率。這種方法簡化了實現時序收斂的耗時挑戰,同時又不會由于FPGA邏輯陣列內的布線擁塞而降低整體應用性能。NoC還可以在不犧牲FPGA性能的情況下提高器件利用率,并且可以顯著增加可用于計算的查找表(LUT)數量。
為了強調這一優勢,我們創建了一個支持二維輸入圖像卷積的示例設計。每個模塊都使用Speedster7t機器學習處理器(MLP)和BRAM模塊,每個MLP在一個周期內執行12次int8乘法。將40個二維卷積模塊鏈接在一起,以利用器件中幾乎所有可用的BRAM和MLP資源。總共有40個二維卷積示例設計實例并行運行,使用了94%的MLP、97%的BRAM、但僅使用了8%的LUT。在總的可用LUT中,其余92%的LUT仍可被用于其他功能。
隨著更多的實例被內置于器件中,單個單元模塊的最高頻率(FMAX)不會降低。該設計能夠保持性能,因為進出每個二維卷積模塊的數據可以直接從連接到NoC的NAP訪問GDDR6內存,而無需通過FPGA邏輯陣列進行布線。
圖9:一個帶有40個二維卷積模塊實例的Speedster7t器件
結論
Speedster7t NoC實現了FPGA設計過程的根本轉變。Achronix是第一家實現二維片上網絡(2D NoC)的FPGA公司,該2D NoC可以連接所有的系統接口和FPGA邏輯陣列。這種新型架構使Achronix公司的FPGA特別適用于高帶寬應用,同時顯著提高了設計人員的生產率。由于NoC管理了FPGA中設計的數據加速器和高速數據接口之間的所有網絡功能,因此設計人員只需要設計其數據加速器并將其連接到NAP原語即可。ACE和NoC負責其他所有事務。通過使用NoC,FPGA設計人員將受益于:
● 在整個FPGA邏輯陣列中簡化高速數據分發
● 自動將PCIe接口連接到存儲器
● 在獨立的FPGA邏輯陣列模塊上實現安全的局部重新配置
● 輕松支持硬件虛擬化
● 簡化團隊化設計
● 通過獨立的接口和邏輯驗證加快設計速度
● 采用分組模式簡化400 Gbps以太網應用
● 降低邏輯占用并提高整體FPGA性能
Achronix半導體公司
評論