1. 概述
Achronix 最新基于臺積電(TSMC)的7nm FinFET工藝的Speedster7t FPGA器件包含了革命性的新型二維片上網(wǎng)絡(luò)(2D NoC)。2D NoC如同在FPGA可編程邏輯結(jié)構(gòu)上運行的高速公路網(wǎng)絡(luò)一樣,為FPGA外部高速接口和內(nèi)部可編程邏輯的數(shù)據(jù)傳輸提供了超高帶寬。
如圖1所示。
圖1 Speedster 7t FPGA結(jié)構(gòu)圖(企業(yè)供圖,下同)
2. 2D NoC給Speedster 7t FPGA帶來的優(yōu)勢
日益增長的數(shù)據(jù)加速需求對硬件平臺提出了越來越高的要求,F(xiàn)PGA作為一種可編程可定制化的高性能硬件發(fā)揮著越來越重要的作用。近年來高端FPGA用了越來越多的Hard IP去提升FPGA外圍的數(shù)據(jù)傳輸帶寬以及存儲器帶寬。但是在邏輯陣列密度不斷提升的同時,通信性能的提升并沒有那么明顯,所以FPGA內(nèi)部數(shù)據(jù)的交換越來越成為數(shù)據(jù)傳輸?shù)钠款i。
Achronix將此挑戰(zhàn)視為一個開發(fā)全新架構(gòu)的機(jī)會,以消除傳統(tǒng)FPGA的設(shè)計挑戰(zhàn)并提高系統(tǒng)性能。Achronix的解決方案是在傳統(tǒng)FPGA布線結(jié)構(gòu)之上,創(chuàng)新地使用了革命性的二維(2D)高速片上網(wǎng)絡(luò)(NoC)。Speedster7t NoC連接到所有片上高速接口:400G以太網(wǎng)、PCIe Gen5、GDDR6和DDR4 / 5的多個端口。
3. 2D NoC的性能
Speedster 7t FPGA上的二維片上網(wǎng)絡(luò)(2D NoC)不是由可編程邏輯搭建,而是固化的ASIC邏輯實現(xiàn),固定運行頻率為2GHz,NoC使用一系列高速的行和列網(wǎng)絡(luò)通路在整個FPGA內(nèi)部分發(fā)數(shù)據(jù),從而在整個FPGA結(jié)構(gòu)中以水平和垂直方式分發(fā)數(shù)據(jù)流量。NoC中的每一行或每一列都有兩個256位的、單向的、行業(yè)標(biāo)準(zhǔn)的AXI通道,可以在每個方向上以512 Gbps(256bit x 2GHz)的傳輸帶寬運行??値捀哌_(dá)27Tbps。
在Speedster 7t的二維片上網(wǎng)絡(luò)中,每個交叉節(jié)點都有兩個網(wǎng)絡(luò)接入點(NAP),如圖2所示,一個是master,一個是slave。整個器件總共有160個這樣的接入點,這樣可以保證無論邏輯放置在器件的任何地方,工具都能找到最近的NAP,使之走上二維片上網(wǎng)絡(luò)。數(shù)據(jù)在二維片上網(wǎng)絡(luò)上傳輸也會有延遲,數(shù)據(jù)沒經(jīng)過一個網(wǎng)格的長度,延時會增加2~3個時鐘周期,也就是1~1.5ns(時鐘固定為2GHz,所以一個周期為0.5ns)。
由此可見,二維片上網(wǎng)絡(luò)給高端FPGA帶了巨大的性能優(yōu)勢,但是如何高效的利用這種優(yōu)勢給自己的應(yīng)用帶來實質(zhì)性的性能提升至關(guān)重要。
4. 如何更高效地規(guī)劃2D NoC的性能—可視化的NoC性能分析
Achronix在新版ACE工具中提供一個可視化的NoC性能分析工具,只用導(dǎo)入simulation的log文件就可以直觀的看到在不同的時間片,NoC上面的帶寬占用情況,以便于設(shè)計者能更好地規(guī)劃NAP的位置,均衡NoC的帶寬利用,使其工作地更為高效。
工具使用起來非常簡單,在ACE工具中點擊圖標(biāo),就可以進(jìn)入NoC Performance View的頁面,在這個頁面中點擊Browse,導(dǎo)入仿真的log文件。
在NoC Performance View頁面的右邊有一個選項列表,可以顯示不同條件下NoC占用情況。第一個選項是選擇顯示的協(xié)議,F(xiàn)lit還是AXI。第二個選項是選擇顯示哪種AXI Type。第三個選項是選擇顯示模式,Throughput模式還是Blockage模式。
在Throughput模式下,綠色代表高吞吐量,淺藍(lán)色代表中等吞吐量,深藍(lán)色代表低吞吐量。
在Blockage模式下,紅色代表擁塞程度最高,黃色代表擁塞程度中等,綠色代表擁塞程度低。
在圖中用鼠標(biāo)懸停在有顏色的部分,在懸浮的窗口中會顯示圖中對應(yīng)的具體的log文件中的信息,包括時間點以及哪條會話。
所以通過NoC Performance View的工具,我們可以很直觀的看到二維片上網(wǎng)絡(luò)的使用情況,哪里利用率比較高,哪里利用率比較低,根據(jù)這個工具我們可以更容易的為邏輯指定更適合接入點NAP去接入到而且片上網(wǎng)絡(luò),從而使二維片上網(wǎng)絡(luò)更高效的運行。
后面我們會繼續(xù)深入了解Speedster 7t FPGA各種特性,并且會用一些例子來說明如何更高效的利用這些特性,敬請期待。