Achronix最新推出的基于臺(tái)積電(TSMC)7nm FinFET工藝的Speedster7t FPGA器件,包含了革命性的新型二維片上網(wǎng)絡(luò)(2D NoC)。像運(yùn)行在FPGA可編程邏輯結(jié)構(gòu)上的高速公路網(wǎng)絡(luò)一樣,2D NoC為FPGA外部高速接口和內(nèi)部可編程邏輯之間的數(shù)據(jù)傳輸提供超高帶寬(~27Tbps)。
NoC使用一系列高速行和列網(wǎng)絡(luò)通道在整個(gè)FPGA內(nèi)分配數(shù)據(jù),從而在整個(gè)FPGA結(jié)構(gòu)流量?jī)?nèi)橫向和縱向分配數(shù)據(jù)。NoC中的每一行或每一列都有兩個(gè)256位、單向和行業(yè)標(biāo)準(zhǔn)的AXI通道,可以在每個(gè)方向上以512 bps(256位x 2GHz)的傳輸速率運(yùn)行。
片上網(wǎng)絡(luò)為現(xiàn)場(chǎng)可編程門陣列設(shè)計(jì)提供了幾個(gè)重要優(yōu)勢(shì),包括:
l提高設(shè)計(jì)的性能。
在設(shè)計(jì)高資源占用時(shí),減少空閑邏輯資源并降低布局布線擁塞的風(fēng)險(xiǎn)。
l降低功耗。
l簡(jiǎn)化邏輯設(shè)計(jì),NoC替代傳統(tǒng)邏輯進(jìn)行高速接口和總線管理。
我實(shí)現(xiàn)了真正的模塊化設(shè)計(jì)。
本文通過(guò)一個(gè)具體的FPGA設(shè)計(jì)實(shí)例來(lái)說(shuō)明片上網(wǎng)絡(luò)在FPGA內(nèi)部邏輯互連中的重要作用。本設(shè)計(jì)主要實(shí)現(xiàn)三重?cái)?shù)據(jù)加密解密算法(3DES)。該算法是DES加密算法模式之一,對(duì)每個(gè)數(shù)據(jù)塊應(yīng)用三次DES加密算法,通過(guò)增加DES的密鑰長(zhǎng)度來(lái)增加安全性。
在這個(gè)FPGA設(shè)計(jì)中,我們把I/O引腳放在四個(gè)方向:上、下、左、右。從上引腳進(jìn)入的數(shù)據(jù)由邏輯1解密,然后通過(guò)藍(lán)色線路發(fā)送到邏輯2進(jìn)行加密,然后從下引腳發(fā)送出去。從左引腳進(jìn)入的數(shù)據(jù)由邏輯3解密,然后通過(guò)紅色線路發(fā)送到邏輯4,加密后從右引腳發(fā)送出去。如圖2。
本設(shè)計(jì)中遇到的問(wèn)題如下:
l加密和解密模塊之間的連線延遲太長(zhǎng),如果不增加流水線,設(shè)計(jì)性能會(huì)受到很大限制。然而,因?yàn)檫B接總線的位寬是256位,所以增加幾級(jí)流水線寄存器將占用大量額外的寄存器資源。
上下模塊之間的連接總線和左右模塊之間的連接總線交叉。如果設(shè)計(jì)比較復(fù)雜,可能會(huì)遇到布局布線,局部擁堵,這將大大增加工具布局布線時(shí)間。
以上兩個(gè)問(wèn)題都是FPGA設(shè)計(jì)人員在復(fù)雜的FPGA設(shè)計(jì)中或多或少遇到的,可能是設(shè)計(jì)復(fù)雜,硬件平臺(tái)的限制,或者是設(shè)計(jì)必須連接到不同位置的外圍硬IP。
NoC的出現(xiàn)解決了上述問(wèn)題。NoC為FPGA邏輯互連提供雙向288位原始數(shù)據(jù)模式。用戶可以通過(guò)這些288位信號(hào)進(jìn)行邏輯直接連接或自定義協(xié)議互聯(lián)。
在每個(gè)NoC的交叉點(diǎn)上有兩個(gè)網(wǎng)絡(luò)接入點(diǎn)(NaP)。用戶可以通過(guò)例化國(guó)家行動(dòng)方案的原始或宏觀定義,將自己的邏輯接入國(guó)家和地區(qū)奧委會(huì),并將它們相互連接起來(lái)。
這樣,3DES加密和解密模塊之間的NoC互連可以通過(guò)3DES加密和解密模塊上的例化NAP來(lái)實(shí)現(xiàn)。
這樣在簡(jiǎn)化用戶設(shè)計(jì)的同時(shí),設(shè)計(jì)性能從260MHz大幅提升到750MHz。從圖6可以看出,在總線,已經(jīng)看不到大量的邏輯連接,總線的所有連接都被國(guó)家奧委會(huì)接管。在后端布局布線圖中,只能看到白色模塊內(nèi)部的綠色時(shí)鐘軌跡和邏輯軌跡。
本文主要想通過(guò)這樣一個(gè)例子向FPGA設(shè)計(jì)人員展示如何使用片上網(wǎng)絡(luò)來(lái)互聯(lián)FPGA的內(nèi)部邏輯,從而為FPGA設(shè)計(jì)人員提供另一種思路。在傳統(tǒng)的FPGA設(shè)計(jì)中,當(dāng)性能無(wú)法提升,布局布線擁堵時(shí),能否考慮使用Achronix新推出的Speedster7t FPGA來(lái)簡(jiǎn)化和加速用戶的設(shè)計(jì)?