《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 業(yè)界動(dòng)態(tài) > 技術(shù)文章—2D NoC可實(shí)現(xiàn)FPGA內(nèi)部超高帶寬邏輯互連

技術(shù)文章—2D NoC可實(shí)現(xiàn)FPGA內(nèi)部超高帶寬邏輯互連

2020-02-27
來(lái)源:電子工程世界
關(guān)鍵詞: 2DNoC FPGA 互連

  Achronix 最新基于臺(tái)積電(TSMC)的7nm FinFET工藝的Speedster7t FPGA器件包含了革命性的新型二維片上網(wǎng)絡(luò)(2D NoC)。2D NoC如同在FPGA可編程邏輯結(jié)構(gòu)上運(yùn)行的高速公路網(wǎng)絡(luò)一樣,,為FPGA外部高速接口和內(nèi)部可編程邏輯的數(shù)據(jù)傳輸提供了超高帶寬(~27Tbps)。

1.png

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

  NoC使用一系列高速的行和列網(wǎng)絡(luò)通路在整個(gè)FPGA內(nèi)部分發(fā)數(shù)據(jù),,從而在整個(gè)FPGA結(jié)構(gòu)中以水平和垂直方式分發(fā)數(shù)據(jù)流量。NoC中的每一行或每一列都有兩個(gè)256位的,、單向的,、行業(yè)標(biāo)準(zhǔn)的AXI通道,,可以在每個(gè)方向上以512Gbps(256bit x 2GHz)的傳輸速率運(yùn)行,。

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

  提高設(shè)計(jì)的性能,。

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

  減小功耗,。

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

  實(shí)現(xiàn)真正的模塊化設(shè)計(jì),。

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

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

2.png

  圖2  3DES設(shè)計(jì)(沒(méi)有用NoC)后端布局布線圖

  本設(shè)計(jì)遇到的問(wèn)題如下:

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

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

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

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

3.png

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

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

4.png

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

5.png

6.png

  圖5  例化NAP宏定義示例

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

7.png

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

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

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


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