片上高速網絡FPGA的八大好處
發布時間:2020-06-04 責任編輯:lina
【導讀】自從幾十年前首次推出FPGA以來,每種新架構都繼續在采用按位(bit-wise)的(de)布(bu)線(xian)結(jie)構(gou)。雖(sui)然(ran)這(zhe)種(zhong)方(fang)法(fa)一(yi)直(zhi)是(shi)成(cheng)功(gong)的(de),但(dan)是(shi)隨(sui)著(zhe)高(gao)速(su)通(tong)信(xin)標(biao)準(zhun)的(de)興(xing)起(qi),總(zong)是(shi)要(yao)求(qiu)不(bu)斷(duan)增(zeng)加(jia)片(pian)上(shang)總(zong)線(xian)位(wei)寬(kuan),以(yi)支(zhi)持(chi)這(zhe)些(xie)新(xin)的(de)數(shu)據(ju)速(su)率(lv)。這(zhe)種(zhong)限(xian)製(zhi)的(de)一(yi)個(ge)後(hou)果(guo)是(shi),設(she)計(ji)人(ren)員(yuan)經(jing)常(chang)花(hua)費(fei)大(da)量(liang)的(de)開(kai)發(fa)時(shi)間(jian)來(lai)嚐(chang)試(shi)實(shi)現(xian)時(shi)序(xu)收(shou)斂(lian),犧(xi)牲(sheng)性(xing)能(neng)來(lai)為(wei)他(ta)們(men)的(de)設(she)計(ji)布(bu)局(ju)布(bu)線(xian)。
引言
自從幾十年前首次推出FPGA以來,每種新架構都繼續在采用按位(bit-wise)的(de)布(bu)線(xian)結(jie)構(gou)。雖(sui)然(ran)這(zhe)種(zhong)方(fang)法(fa)一(yi)直(zhi)是(shi)成(cheng)功(gong)的(de),但(dan)是(shi)隨(sui)著(zhe)高(gao)速(su)通(tong)信(xin)標(biao)準(zhun)的(de)興(xing)起(qi),總(zong)是(shi)要(yao)求(qiu)不(bu)斷(duan)增(zeng)加(jia)片(pian)上(shang)總(zong)線(xian)位(wei)寬(kuan),以(yi)支(zhi)持(chi)這(zhe)些(xie)新(xin)的(de)數(shu)據(ju)速(su)率(lv)。這(zhe)種(zhong)限(xian)製(zhi)的(de)一(yi)個(ge)後(hou)果(guo)是(shi),設(she)計(ji)人(ren)員(yuan)經(jing)常(chang)花(hua)費(fei)大(da)量(liang)的(de)開(kai)發(fa)時(shi)間(jian)來(lai)嚐(chang)試(shi)實(shi)現(xian)時(shi)序(xu)收(shou)斂(lian),犧(xi)牲(sheng)性(xing)能(neng)來(lai)為(wei)他(ta)們(men)的(de)設(she)計(ji)布(bu)局(ju)布(bu)線(xian)。
傳統的FPGA布線基於整個FPGA中水平和垂直方向上運行的多個獨立分段互連線(segment),在水平和垂直布線的交叉點處帶有開關盒(switch box)以實現通路的連接。通過這些獨立段和開關盒可以在FPGA上構建從任何源到任何目的地的通路。FPGA布線的這種統一結構為實現任何邏輯功能提供了極大的靈活性,可用於FPGA邏輯陣列內的任何數據路徑位寬。
盡管在FPGA中的按位來布線非常靈活,但其缺點是每個段都會給任何給定的信號通路增加延遲。需要在FPGA中zhong進jin行xing長chang距ju離li傳chuan輸shu的de信xin號hao會hui導dao致zhi分fen段duan之zhi間jian的de連lian接jie延yan遲chi,從cong而er降jiang低di了le功gong能neng的de性xing能neng。按an位wei布bu線xian的de另ling一yi個ge挑tiao戰zhan是shi擁yong塞sai,它ta要yao求qiu信xin號hao路lu徑jing繞rao過guo擁yong塞sai,這zhe會hui導dao致zhi更geng多duo的de延yan遲chi,並bing造zao成cheng性xing能neng的de進jin一yi步bu降jiang低di。
Achronix將此挑戰視為一個開發全新架構的機會,以消除傳統FPGA的設計挑戰並提高係統性能。Achronix的解決方案是在傳統分段式FPGA布線結構之上,再為其全新的Speedster7t FPGA係列器件創建一個革命性的二維(2D)高速片上網絡(NoC)。Speedster7t NoC連接到所有片上高速接口:400G以太網、PCIe Gen5、GDDR6和DDR4 / 5的多個端口。
NoC的內部由一組行和列組成,它們在整個FPGA邏輯陣列中將網絡數據流量從水平和垂直方向上進行分發。主NoC接入(NAP)點和從NoC接入點位於NoC的每一行和每一列交叉的位置。這些NAP可以是NoC和可編程邏輯陣列之間的源或目的地。

圖1:Speedster7t的片上網絡(NoC)和接口
Ethernet:以太網
Security:安全性
Configuration:配置
each direction:每個方向
Speedster7t的NoC似乎隻對FPGA內部的布線總線有所幫助;danshi,zhezhongxinxingjiagoukeyixianzhetigaoshejirenyuandegongzuoxiaolv,shixianquanxindeshejigongneng,bingtigongleqingsongshixianmijixingshujuchuliyingyongdenengli。xiamianliejulezaixiaolvtigao、設計變更和性能提升方麵最顯著的八種應用場景。
在整個FPGA的邏輯陣列中簡化高速數據分發
在傳統的各種FPGA架構中,對連接到FPGA的片外存儲器以及與之相連的外部高速數據源進行雙向的讀/寫操作,需要數據在FPGA邏輯架構中經過一條較長且分段的路由路徑。這種製約不僅限製了帶寬,而且還會消耗在邏輯陣列中的用戶設計所需的布線資源,這給FPGA設計人員在時序收斂方麵帶來了挑戰,尤其是其他邏輯功能對器件利用率提高的時候。
使用Speedster7t的NoC將數據從外部源傳輸到FPGA和存儲器,比使用傳統的FPGA架構完成同樣的工作要容易得多。Speedster7t NoC增強了FPGA陣列中傳統的可編程互連,其中的NoC就像一個疊加在城市街道係統上的高速公路網絡。雖然Speedster7t FPGA中傳統的、可編程互連矩陣仍然適用於較慢的本地數據流量,但NoC可以處理更具挑戰性的、高速的數據流。
NoC中的每一行或每一列都被實現為兩個256位的、以2 Ghz固定時鍾速率運行的單向數據通道。行具有東/西通道,列具有北/南通道,從而允許每個NoC行或列可以同時處理每個方向上512 Gbps的數據流量。總而言之,這些通道可以通過編寫簡單的Veriog或VHD代碼,在FPGA陣列中傳輸大量的數據,這些代碼支持FPGA與NAP通信並連接到NoC高速公路網絡上。
下圖顯示了NoC中各個點之間的數據傳輸。點1和點2的邏輯分別實例化了一個水平NAP。NAP可以發送和接收數據,但是每個單獨的數據流都隻是朝向一個方向。類似地,點3和點4的邏輯實例化了一個垂直NAP,並且可以在彼此之間發送數據流。

圖2:NoC上跨越器件邏輯陣列的數據流
自動將PCIe接口連接到存儲器
在現在的FPGA中,設計人員在將高速接口連接至連有FPGA的存儲器件進行讀寫時,必須考慮在器件內由於連接邏輯、進行布線、yijishuruheshuchuxinhaodeweizhierchanshengdeyanchi。weileshixianjibendejiekougongneng,zaishejiguochengzhonggoujianyigejiandandecunchujiekoutongchangjiuyaohuafeidaliangdeshijian。
在Speedster7t架構中,將嵌入式PCIe Gen5接口連接到已連接的GDDR6或DDR4存儲器這項工作,可由外圍NoC自動處理,不需要設計人員編寫任何RT來建立這些連接。由於NoC連接到所有的外圍IP接口,因此設計人員在將PCIe連接到GDDR6或DDR4的任何一個存儲器接口時,都具有極大的靈活性。在下麵的示例中,NoC能夠提供足夠的帶寬,以持續支持PCIe Gen 5通信流連接到GDDR6內存的任意兩個通道。這種高帶寬連接無需消耗任何FPGA邏輯陣列資源即可實現,並且設計所需時間幾乎為零。用戶隻需要啟用PCIe和GDDR6接口即可在NoC上發送事務。

圖3:將PCIe直接連接到GDDR6接口
在獨立的FPGA邏輯陣列模塊上實現安全的局部重新配置
與其他基於靜態隨機存取存儲器(SRAM)的FPGA一樣,Speedster7t FPGA必須在通電時進行配置。Speedster7t FPGA具有一個片上FPGA配置單元(FCU),用於管理FPGA的初始配置和任何後續的局部重新配置。FCU還被連接到NoC,從而在配置FPGA時提供了更高的靈活性。使用NoC將配置位流傳輸到Speedster7t FCU,可以使用以前不可用的新方法來對FPGA進行配置。
在器件配置之前,Speedster7t NoC可用於某些讀/寫事務:PCIe至GDDR6、PCIe至DDR4、最後是PCIe至FCU。一旦PCIe接口被設置好,FPGA就可以通過PCIe接口接收配置比特流(bitstream),並將其發送給FCU以配置器件的其餘部分。一旦到達FCU,配置比特流被寫入FPGA可編程邏輯以配置器件。在器件被配置完成後,設計人員可以靈活地重新配置FPGA的某些部分(局部重新配置),以增加新的功能或提高加速性能,而無需關閉FPGA。
新的局部重新配置比特流可以通過PCIe接口發送到FCU,來重新配置器件的任何部分。當部分器件被重新配置時,通過在所需的區域中實例化一個NAP與NoC進行通信,任何進出新配置區域的數據都可以在Speedster7t1500器件中被輕鬆訪問。NoC消除了傳統FPGA局(ju)部(bu)重(zhong)新(xin)配(pei)置(zhi)的(de)複(fu)雜(za)性(xing),因(yin)為(wei)用(yong)戶(hu)不(bu)必(bi)擔(dan)心(xin)圍(wei)繞(rao)現(xian)有(you)邏(luo)輯(ji)功(gong)能(neng)進(jin)行(xing)布(bu)線(xian)並(bing)影(ying)響(xiang)性(xing)能(neng),也(ye)不(bu)必(bi)擔(dan)心(xin)由(you)於(yu)該(gai)區(qu)域(yu)中(zhong)的(de)現(xian)有(you)邏(luo)輯(ji)而(er)無(wu)法(fa)訪(fang)問(wen)某(mou)些(xie)器(qi)件(jian)的(de)引(yin)腳(jiao)。該(gai)功(gong)能(neng)節(jie)省(sheng)了(le)設(she)計(ji)人(ren)員(yuan)的(de)時(shi)間(jian),並(bing)在(zai)使(shi)用(yong)局(ju)部(bu)重(zhong)新(xin)配(pei)置(zhi)時(shi)提(ti)供(gong)了(le)更(geng)大(da)的(de)靈(ling)活(huo)性(xing)。
此外,局部重新配置允許設計人員在工作負載變化時調整器件內的邏輯。例如,如果FPGA正在對輸入的數據執行壓縮算法,並且不再需要壓縮,則主機CPU可以告訴FPGA重新配置,並加載經過優化的新設計以處理下一個工作負載。在器件仍處於運行狀態時,局部重新配置可以在邏輯陣列集群(custer)級別上獨立完成。一個聰明的用例是開發一個具有自我感知的FPGA,該FPGA通過使用一個軟CPU來監測器件操作以實時啟動局部重新配置,來關閉邏輯從而節省功耗,或在FPGA架構中添加更多加速器模塊,以臨時處理大量的輸入數據。這些功能為設計人員提供了前所未有的配置靈活性。
輕鬆支持硬件虛擬化
Speedster7t NoC通過利用NAP及其AXI接口,為設計人員提供了在單個FPGA中創建虛擬化安全硬件的獨特能力。將可編程邏輯設計直接連接到NoC隻需要在邏輯設計中實例化一個NAP及其AXI4接口即可。每個NAP還具有一個相關的地址轉換表(ATT),該表將NAP上的邏輯地址轉換為NoC上的物理地址。NAP的ATT允許可編程邏輯模塊使用本地地址,同時將NoC定向事務映射到NoCquanjucunchuyingshesuofenpeidedizhi。cixiangzhongxinyingshegongnengkeyiyiduozhongfangshishiyong。liru,takeyiyongyuyunxujiasuyinqingdesuoyouxiangtongfubenshiyongjiyulingdexunixunzhi,tongshijiangshujuliuliangcongmeigejiasuyinqingfasongdaobutongdewulicunchuweizhi。
每個ATT條目還包含一個訪問保護位,以防止該節點訪問被禁止的地址範圍。該功能提供了一種重要的進程間安全機製,可防止同時在一個Speedster7t FPGA上運行的多個應用或多個任務幹擾分配給其他應用或任務的存儲模塊。這種安全機製還有助於防止由於意外、偶然甚至是故意的存儲地址衝突而導致係統崩潰。此外,設計人員可以使用此方案阻止邏輯功能訪問整個存儲設備。

圖4:使用Speedster7t NoC實現硬件虛擬化
Memory Space:存儲空間
簡化團隊協同設計
基於團隊的協同化FPGA設計並不是一個新的概念,但是底層架構和布線依賴於FPGAdeqitabufen,congershideshixianzhegejiandangainianfeichangjuyoutiaozhanxing。yidanyigetuanduiwanchengleshejideyibufen,lingyigeshejiqitabufendetuanduizaichangshifangwenshebeilingyiduandeziyuanshi,tongchanghuiyudaotiaozhan,yinweixuyaozaiyijingwanchengdeshejibufenjinxingbuxian。tongyang,duiyibufenyijinxingshejibuxiandeFPGA的區域或大小進行更改,可能會對所有其他FPGA設計模塊產生連鎖影響。
使用Speedster7t NoC,可以將設計模塊映射到FPGA的任何部分,並且可以對資源分配進行更改,而不會影響其他FPGA模塊的時序、布局或布線。由於器件中所有的NAP都支持每個設計模塊無限製地訪問NoC進行通信,因此使得基於團隊的設計成為可能。因此,如果一個設計的某個部分在規模上有所增大,隻要有足夠的FPGA資源可用,數據流就會由NoC自動管理,從而使設計人員不必擔心是否滿足時序,以及對其他團隊成員正在進行的設計的其他部分可能帶來的後續影響。

圖5:致力於開發同一個FPGA的多個設計團隊
Design Team:設計團隊
通過獨立的接口和邏輯驗證加快設計速度
Speedster7t NoC的另一個獨特功能是支持設計人員獨立於用戶邏輯去配置和驗證I/O連接。例如,一個設計團隊可以驗證PCIe至GDDR6的接口,而另一個設計團隊可以獨立地驗證內部邏輯功能。這種獨立操作之所以能夠實現,是因為NoC的外圍部分連接了PCIe、GDDR6、DDR4和FCU,而不會消耗任何FPGA資源。這些連接可以在不使用任何HD代碼的情況下進行測試,從而可以同時獨立地驗證接口和邏輯。該功能消除了驗證步驟之間的依賴關係,並實現了比傳統FPGA架構更快的總體驗證速度。

圖6:獨立的I/O和邏輯驗證
Design Team 1: I/O Verification:設計團隊1:I/O驗證
Design Team 2: ogic Verification:設計團隊2:邏輯驗證
采用分組模式(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以太網數據流時提高了效率。

圖7:分組模式下的數據總線重排
Packet:數據包
Byte:字節

圖8:使用分組模式的400 Gbps以太網
降低邏輯占用並提高整體FPGA性能
與以前的傳統FPGA相比,Speedster7t NoC具有更大的靈活性和更簡單的設計方法。一個潛在的好處是NoC會自動減少給定設計所需的邏輯量,設計可以使用NoC代替FPGA邏輯陣列來進行模塊間布線。ACE設計工具自動管理將設計單元連接到Speedster7t NoC的複雜性,因此設計人員無需編寫HD代碼即可實現生產率。這種方法簡化了實現時序收斂的耗時挑戰,同時又不會由於FPGA邏輯陣列內的布線擁塞而降低整體應用性能。NoC還可以在不犧牲FPGA性能的情況下提高器件利用率,並且可以顯著增加可用於計算的查找表(UT)數量。
為了強調這一優勢,我們創建了一個支持二維輸入圖像卷積的示例設計。每個模塊都使用Speedster7t機器學習處理器(MP)和BRAM模塊,每個MP在一個周期內執行12次int8乘法。將40個二維卷積模塊鏈接在一起,以利用器件中幾乎所有可用的BRAM和MP資源。總共有40個二維卷積示例設計實例並行運行,使用了94%的MP、97%的BRAM、但僅使用了8%的UT。在總的可用UT中,其餘92%的UT仍可被用於其他功能。
隨著更多的實例被內置於器件中,單個單元模塊的最高頻率(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邏輯陣列模塊上實現安全的局部重新配置
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
分析混合信號磁場轉換器AD22157工作原理和特性及應用
疫情之下的中美貿易 LED企業該如何應對?
貿澤電子與Toradex簽訂全球分銷協議
LED CHINA 2020深圳站定於9月1-3日,深圳福田會展中心舉辦
漲知識!雷達頻段的選擇受哪些因素影響?
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 1200餘家企業齊聚深圳,CITE2026打造電子信息產業創新盛宴
- 掌握 Gemini 3.1 Pro 參數調優的藝術
- 築牢安全防線:電池擠壓試驗機如何為新能源產業護航?
- Grok 4.1 API 實戰:構建 X 平台實時輿情監控 Agent
- 電源芯片國產化新選擇:MUN3CAD03-SF助力物聯網終端“芯”升級
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
音頻變壓器
引線電感
語音控製
元件符號
元器件選型
雲電視
雲計算
雲母電容
真空三極管
振蕩器
振蕩線圈
振動器
振動設備
震動馬達
整流變壓器
整流二極管
整流濾波
直流電機
智能抄表
智能電表
智能電網
智能家居
智能交通
智能手機
中電華星
中電器材
中功率管
中間繼電器
周立功單片機
轉換開關





