《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 利用片上高速網(wǎng)絡(luò)(2D NoC)創(chuàng)新地實現(xiàn)FPGA內(nèi)部超高帶寬邏輯互連

利用片上高速網(wǎng)絡(luò)(2D NoC)創(chuàng)新地實現(xiàn)FPGA內(nèi)部超高帶寬邏輯互連

一個運用NoC來優(yōu)化加解密設(shè)計的例子
2020-02-28
作者:Achronix資深現(xiàn)場應(yīng)用工程師 黃侖
來源:Achronix
關(guān)鍵詞: 2DNoC FPGA 高速網(wǎng)絡(luò)

  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ù)傳輸提供了超高帶寬(~27Tbps)。

圖片1.png

  圖1  Speedster 7t FPGA結(jié)構(gòu)圖

  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通道,可以在每個方向上以512Gbps(256bit x 2GHz)的傳輸速率運行。

  NoC為FPGA設(shè)計提供了幾項重要優(yōu)勢,包括:

  ·提高設(shè)計的性能。

  ·減少邏輯資源閑置,在高資源占用設(shè)計中降低布局布線擁塞的風(fēng)險。

  ·減小功耗。

  ·簡化邏輯設(shè)計,由NoC去替代傳統(tǒng)的邏輯去做高速接口和總線管理。

  ·實現(xiàn)真正的模塊化設(shè)計。

  本文用一個具體的FPGA設(shè)計例子來展現(xiàn)NoC在FPGA內(nèi)部邏輯互連中發(fā)揮的重要作用。本設(shè)計主要是實現(xiàn)三重數(shù)據(jù)加密解密算法(3DES)。該算法是DES加密算法的一種模式,它是對于每個數(shù)據(jù)塊應(yīng)用三次DES加密算法,通過增加DES的密鑰長度增加安全性。

  在該FPGA設(shè)計中,我們將輸入輸出管腳放在的FPGA上下左右四個方向上。上面管腳進來的數(shù)據(jù)經(jīng)過邏輯1進行解密然后通過藍色的走線送到邏輯2加密以后從下面的管腳送出。左邊管腳進來的數(shù)據(jù)經(jīng)過邏輯3進行解密然后通過紅色的走線送到邏輯4加密以后從右邊的管腳送出。如圖2 所示。

圖片2.png

  圖2  3DES設(shè)計(沒有用NoC)后端布局布線圖

  本設(shè)計遇到的問題如下:

    ·加密和解密模塊中間的連線延時太長,如果不增加流水寄存器(pipeline),設(shè)計性能會收到很大限制。但是由于連接總線位寬是256位,增加幾級流水寄存器又會占用很多額外的寄存器資源。

  ·上下模塊之間的連接總線和左右模塊之間的連接總線出現(xiàn)了交叉,如果設(shè)計再復(fù)雜一點有可能會遇到布局布線局部擁塞,會大大增加工具布局布線時間。

  上面兩個問題也是廣大FPGA設(shè)計者在復(fù)雜FPGA設(shè)計中或多或少會遇到的問題,導(dǎo)致的原因有可能是設(shè)計比較復(fù)雜,也有可能是硬件平臺的限制,或者設(shè)計必須連接不同位置的外圍Hard IP導(dǎo)致。

  NoC的出現(xiàn)讓我們上面遇到的問題迎刃而解。NoC為FPGA邏輯內(nèi)部互連提供了雙向288bit的原始數(shù)據(jù)模式(Raw data mode)。 用戶可以通過這288bit的信號進行邏輯直連或者自定義協(xié)議互連。

圖片3.png

  圖3  利用2D NoC進行內(nèi)部邏輯互連

  在NoC的每個交叉點上都有兩個網(wǎng)絡(luò)接入點(NAP),用戶只要簡單地通過例化NAP的原語或者宏定義就可以將自己的邏輯接入到NoC并進行互連。

圖片4.png

  圖4  網(wǎng)絡(luò)接入點NAP

圖片5.png

  圖5  例化NAP宏定義示例

  這樣通過在3DES加密和解密模塊上分別例化NAP,就可以實現(xiàn)3DES加密和解密模塊之間的NoC互連。

圖片6.png

  圖6  3DES設(shè)計(利用NoC)后端布局布線圖

  這樣在簡化用戶設(shè)計的同時,設(shè)計性能有了很大的提高,從之前的260MHz提高到了750MHz。 圖6中可以看到之前邏輯之間大量的連接總線已經(jīng)看不到,總線的連接都由NoC接管,在后端布局布線圖中只能看到綠色時鐘走線和白色模塊內(nèi)部的邏輯走線。

  本文主要想通過這樣一個例子給廣大FPGA設(shè)計者展示如何利用NoC來進行FPGA內(nèi)部邏輯的互連,從而給廣大FPGA設(shè)計者提供另一種考慮問題的思路。在傳統(tǒng)的FPGA設(shè)計中出現(xiàn)了性能無法提升,布局布線擁塞的時候,是否可以考慮利用Achronix新一代的Speedster7t FPGA來簡化和加速用戶的設(shè)計。

  本公眾號今后也將會陸續(xù)推出關(guān)于二維片上網(wǎng)絡(luò)(NoC)的系列文章,比如NoC技術(shù)的發(fā)展,NoC性能評測以及與傳統(tǒng)互連架構(gòu)的對比,Speedster7t FPGA中NoC的技術(shù)參數(shù)以及調(diào)用方法,關(guān)于NoC的各種參考設(shè)計等等,敬請期待。

  


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。