概述
隨著數(shù)據(jù)中心、人工智能、自動(dòng)駕駛、5G、計(jì)算存儲(chǔ)和先進(jìn)測(cè)試等應(yīng)用的數(shù)據(jù)量和數(shù)據(jù)流量不斷增大,不僅需要引入高性能、高密度FPGA來(lái)發(fā)揮其并行計(jì)算和可編程硬件加速功能,而且還對(duì)大量數(shù)據(jù)在FPGA芯片內(nèi)外流動(dòng)提出了更高的要求。于是,在FPGA芯片中集成包括片上二維網(wǎng)絡(luò)(2D NoC)和各種最新高速接口的新品類(lèi)FPGA芯片應(yīng)運(yùn)而生,成為FPGA產(chǎn)業(yè)和相關(guān)應(yīng)用的新熱點(diǎn)。
拉開(kāi)這場(chǎng)FPGA芯片創(chuàng)新大幕的是全球最大的獨(dú)立FPGA技術(shù)和產(chǎn)品提供商Achronix半導(dǎo)體公司,其采用7nm工藝打造的Achronix Speedster7t FPGA不僅擁有諸多高性能外圍Hard IP,而且是全球第首次在FPGA的邏輯陣列上集成了2D NoC,一經(jīng)推出就在市場(chǎng)得到了積極的響應(yīng),并引來(lái)競(jìng)爭(zhēng)對(duì)手的模仿和跟隨。
Speedster7t這款專(zhuān)門(mén)針對(duì)人工智能/機(jī)器學(xué)習(xí)(AI / ML)和高帶寬應(yīng)用進(jìn)行優(yōu)化的高性能、高密度FPGA,包括了革命性的二維片上網(wǎng)絡(luò)(2D NoC)、新型機(jī)器學(xué)習(xí)處理器(MLP)、400G以太網(wǎng)和PCIe Gen5端口,以及高帶寬GDDR6和DDR4/5存儲(chǔ)控制器。Speedster7t FPGA架構(gòu)如圖1所示。
圖1 Speedster7t FPGA結(jié)構(gòu)圖
Achronix Speedster7t FPGA除了在外圍Hard IP上都采用目前業(yè)內(nèi)領(lǐng)先的大帶寬高速率IP,在內(nèi)部的可編程邏輯的架構(gòu)中也做了大量的優(yōu)化去進(jìn)一步提高內(nèi)部可編程邏輯的性能,從而適配外圍IP超高帶寬需求。本文首先談?wù)凷peedster7t FPGA的片上SRAM,也就是Block RAM針對(duì)傳統(tǒng)的結(jié)構(gòu)所做出的一些優(yōu)化。
Speedster7t FPGA中可編程邏輯的架構(gòu)
Speedster7t FPGA中內(nèi)部的可編程資源是按列排布,包括LUT、FF、ALU、MUX、MLP、Block RAM、Logic RAM。如圖2所示。
圖2 Speedster7t FPGA可編程邏輯結(jié)構(gòu)
其中MLP、Block RAM、Logic RAM是集成在一起,他們之間的連接用的是專(zhuān)有的走線(xiàn),不占用可編程邏輯走線(xiàn)資源,這樣做的目的主要是為了提高性能,同時(shí)也可以節(jié)省可編程邏輯走線(xiàn)資源,這個(gè)架構(gòu)對(duì)于A(yíng)I,還有需要用到MLP的一些復(fù)雜算法的性能優(yōu)化是非常明顯的,在我們的MLP系列文章中會(huì)詳細(xì)講到,這里我們只重點(diǎn)說(shuō)一下Block RAM。 Speedster7t FPGA的Block RAM特點(diǎn) Speedster7t FPGA內(nèi)部的Block RAM是一個(gè)容量為72k bit的簡(jiǎn)單雙端口RAM,有一個(gè)讀端口,一個(gè)寫(xiě)端口。兩個(gè)端口的時(shí)鐘完全獨(dú)立,并且可以完全獨(dú)立的配置讀寫(xiě)位寬。它可以靈活的配置成簡(jiǎn)單雙端口RAM或者ROM。
Block RAM的主要特性如表1所示。
表1 Block RAM的關(guān)鍵特性
Block RAM框圖如圖3所示。
圖3 Block RAM內(nèi)部結(jié)構(gòu)
Speedster7t FPGA的Block RAM級(jí)聯(lián)結(jié)構(gòu)
Speedster7t FPGA的Block RAM最大的特點(diǎn)是增加了Block RAM間的級(jí)聯(lián)走線(xiàn),級(jí)聯(lián)走線(xiàn)是BRAM間專(zhuān)有的連線(xiàn),不占用可編程邏輯的走線(xiàn)資源,可以極大的提升多個(gè)Block RAM級(jí)聯(lián)的性能。圖4顯示了Block RAM間級(jí)聯(lián)走線(xiàn)的架構(gòu)。
圖4 Block RAM級(jí)聯(lián)結(jié)構(gòu)
由圖4可以看出,讀寫(xiě)地址線(xiàn)和數(shù)據(jù)線(xiàn)都有專(zhuān)有的級(jí)聯(lián)線(xiàn)連接。這樣的架構(gòu)在一些場(chǎng)景中都會(huì)有應(yīng)用,比如:需要從外部端口接收數(shù)據(jù)或者從GDDR6讀數(shù)據(jù)去初始化大量Block RAM的場(chǎng)景,AI的神經(jīng)網(wǎng)絡(luò)就是一個(gè)典型的應(yīng)用,在每一層的卷積算法中,系統(tǒng)都會(huì)從GDDR6讀出圖像數(shù)據(jù)和權(quán)重?cái)?shù)據(jù)放入每個(gè)引擎的Block RAM中,引擎計(jì)算完畢以后再存入到GDDR6中供下一次運(yùn)算使用。
有了這樣的級(jí)聯(lián)架構(gòu),我們?cè)趯?xiě)入數(shù)據(jù)去初始化大量Block RAM的時(shí)候不需要外部數(shù)據(jù)有很大的扇出,直接通過(guò)同一列Block RAM的級(jí)聯(lián)線(xiàn)就可以輕松完成,具體實(shí)現(xiàn)可以參考Achronix MLP_Conv2D參考設(shè)計(jì)。另外一個(gè)例子就是在需要多個(gè)Block RAM去構(gòu)成更大容量的RAM的時(shí)候,如果利用級(jí)聯(lián)線(xiàn)可以大大提升系統(tǒng)的性能。我們針對(duì)這個(gè)專(zhuān)門(mén)做了一個(gè)工程比較一下,生成一個(gè)位寬64bit,深度16384的一個(gè)簡(jiǎn)單雙端口RAM,需要用到16個(gè)Block RAM。我們分別用專(zhuān)有級(jí)聯(lián)線(xiàn)和內(nèi)部可編程邏輯去拼深度兩種方法來(lái)對(duì)比??梢钥吹接脤?zhuān)有的級(jí)聯(lián)線(xiàn)資源更省,而且性能有了很大的提高。
使用專(zhuān)有的級(jí)聯(lián)線(xiàn)資源占用和性能:
使用可編程邏輯資源占用和性能:
后面我們會(huì)繼續(xù)深入了解Speedster7t FPGA可編程邏輯的各種特性,并且會(huì)用一些例子來(lái)說(shuō)明如何更高效的利用這些特性,以將Speedster7t這款業(yè)界首創(chuàng)的高數(shù)據(jù)帶寬FPGA芯片與更多的創(chuàng)新智能化應(yīng)用結(jié)合起來(lái)。
此外,Achronix也提供Speedcore嵌入式FPGA硅知識(shí)產(chǎn)權(quán)(IP)產(chǎn)品,用來(lái)幫助用戶(hù)在應(yīng)用規(guī)模進(jìn)一步擴(kuò)大后,去開(kāi)發(fā)帶有eFPGA邏輯陣列的ASIC或者SoC產(chǎn)品,它們由Achronix的ACE FPGA開(kāi)發(fā)工具提供支持,從而可以重用FPGA開(kāi)發(fā)成果,這是Achronix在率先引入2D NoC和MLP之外,另一個(gè)層面上的創(chuàng)新。
審核編輯 :李倩
-
FPGA
+關(guān)注
關(guān)注
1625文章
21620瀏覽量
601239 -
芯片
+關(guān)注
關(guān)注
452文章
50206瀏覽量
420919 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8349瀏覽量
132315
原文標(biāo)題:超高數(shù)據(jù)流通量FPGA新品類(lèi)中的Block RAM級(jí)聯(lián)架構(gòu)
文章出處:【微信號(hào):Achronix,微信公眾號(hào):Achronix】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論