<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 業(yè)界動(dòng)態(tài) > 在FPGA設計中如何充分利用NoC資源去支撐創(chuàng )新應用設計

在FPGA設計中如何充分利用NoC資源去支撐創(chuàng )新應用設計

—— 一個(gè)運用NoC訪(fǎng)問(wèn)片外GDDR6的例子
作者:Achronix資深現場(chǎng)應用工程師,黃侖 時(shí)間:2020-08-21 來(lái)源:電子產(chǎn)品世界 收藏

日益增長(cháng)的數據加速需求對硬件平臺提出了越來(lái)越高的要求,FPGA作為一種可編程可定制化的高性能硬件發(fā)揮著(zhù)越來(lái)越重要的作用。近年來(lái),高端FPGA芯片采用了越來(lái)越多的Hard IP去提升FPGA外圍的數據傳輸帶寬以及存儲器帶寬。但是在FPGA內部,可編程邏輯部分隨著(zhù)工藝提升而不斷進(jìn)步的同時(shí),內外部數據交換性能的提升并沒(méi)有那么明顯,所以FPGA內部數據的交換越來(lái)越成為數據傳輸的瓶頸。

本文引用地址:http://dyxdggzs.com/article/202008/417412.htm

為了解決這一問(wèn)題,Achronix 在其最新基于臺積電(TSMC)7nm FinFET工藝的Speedster7t FPGA器件中包含了革命性的創(chuàng )新型二維片上網(wǎng)絡(luò )(2D )。這種2D 如同在FPGA可編程邏輯結構之上運行的高速公路網(wǎng)絡(luò )一樣,為FPGA外部高速接口和內部可編程邏輯的數據傳輸提供了大約高達27Tbps的超高帶寬。

作為Speedster7t FPGA器件中的重要創(chuàng )新之一,2D 為FPGA設計提供了幾項重要優(yōu)勢,包括:

●   提高設計的性能,讓FPGA內部的數據傳輸不再成為瓶頸。

●   節省FPGA可編程邏輯資源,簡(jiǎn)化邏輯設計,由NoC去替代傳統的邏輯去做高速數據傳輸和數據總線(xiàn)管理。

●   增加了FPGA的布線(xiàn)資源,對于資源占用很高的設計有效地降低布局布線(xiàn)擁塞的風(fēng)險。

●   實(shí)現真正的模塊化設計,減小FPGA設計人員調試的工作量。

本文用了一個(gè)具體的FPGA設計案例,來(lái)體現上面提到的NoC在FPGA設計中的幾項重要作用。這個(gè)設計的主要目的是展示FPGA內部的邏輯如何去訪(fǎng)問(wèn)片外的存儲器。如圖1所示,本設計包含8個(gè)讀寫(xiě)模塊,這8個(gè)讀寫(xiě)模塊需要訪(fǎng)問(wèn)8個(gè)GDDR6通道,這樣就需要一個(gè)8x8的AXI interconnect模塊,同時(shí)需要有跨時(shí)鐘域的邏輯去將每個(gè)GDDR6用戶(hù)接口時(shí)鐘轉換到邏輯主時(shí)鐘。除了圖1中的8個(gè)讀寫(xiě)模塊外,紅色區域的邏輯都需要用FPGA的可編程邏輯去實(shí)現。

image.png

圖1 傳統FPGA實(shí)現架構

對于A(yíng)XI interconnect模塊,我們采用Github上開(kāi)源的AXI4總線(xiàn)連接器來(lái)實(shí)現,這個(gè)AXI4總線(xiàn)連接器將4個(gè)AXI4總線(xiàn)主設備連接到8個(gè)AXI4總線(xiàn)從設備,源代碼可以在參考文獻2的鏈接中下載。我們在這個(gè)代碼的基礎上進(jìn)行擴展,增加到8個(gè)AXI4總線(xiàn)主設備連接到8個(gè)AXI4總線(xiàn)從設備,同時(shí)加上了跨時(shí)鐘域邏輯。

為了進(jìn)行對比,我們用另外一個(gè)設計,目的還是用這8個(gè)讀寫(xiě)模塊去訪(fǎng)問(wèn)8個(gè)GDDR6通道;不同的是,這次我們將8個(gè)讀寫(xiě)模塊連接到Achronix的Speedster7t FPGA器件的2D NoC上,然后通過(guò)2D NoC去訪(fǎng)問(wèn)8個(gè)GDDR6通道。如圖2所示:

image.png

圖2 Speedster7t 1500的實(shí)現架構

首先,我們從資源和性能上做一個(gè)對比,如圖3所示:

image.png

圖3 資源占用和性能對比

從資源占用上看,用AXI總線(xiàn)連接器的設計會(huì )比用2D NoC的設計占用多出很多的資源,以實(shí)現AXI interconnect還有跨時(shí)鐘域的邏輯。這里還要說(shuō)明一點(diǎn),這個(gè)開(kāi)源的AXI interconnect實(shí)現的是一種最簡(jiǎn)單的總線(xiàn)連接器,并不支持2D NoC所能提供的所有功能,比如地址表映射,優(yōu)先級配置。

最重要的一點(diǎn)是AXI interconnect只支持阻塞訪(fǎng)問(wèn)(blocking),不支持非阻塞訪(fǎng)問(wèn)(non-blocking)。阻塞訪(fǎng)問(wèn)是指發(fā)起讀或者寫(xiě)請求以后,要等到本次讀或者寫(xiě)操作完成以后,才能發(fā)起下一次的讀或者寫(xiě)請求。而非阻塞訪(fǎng)問(wèn)是指可以連續發(fā)起讀或者寫(xiě)請求,而不用等待上次的讀或者寫(xiě)操作完成。在提高GDDR6的訪(fǎng)問(wèn)效率上面,阻塞訪(fǎng)問(wèn)會(huì )讓讀寫(xiě)效率大大下降。

如果用FPGA的可編程邏輯去實(shí)現完整的2D NoC功能,包括64個(gè)接入點(diǎn)、128bit位寬和400MHz的速率,大概需要850 k LE,等效于占用了Speedster7t 1500 FPGA器件56%的可編程資源。而2D NoC則可以提供 80個(gè)接入點(diǎn)、256bit位寬和2GHz速率,而且不占用FPGA可編程邏輯。

從性能上來(lái)看,使用AXI總線(xiàn)連接器的設計只能跑到157MHz,而使用NoC的設計則能跑到500MHz。如果我們看一下設計后端的布局布線(xiàn)圖,就會(huì )有更深刻的認識。圖4所示的是使用AXI總線(xiàn)連接器的設計后端布局布線(xiàn)圖。

image.png

圖4 使用AXI interconnect的設計后端布局布線(xiàn)圖

從圖中可以看到,因為GDDR6控制器分布在器件的兩側(圖中彩色高亮的部分),所以AXI總線(xiàn)連接器的布局基本分布在器件的中間,既不能靠近左邊,也不能靠近右邊,所以這樣就導致了性能上不去。如果增加pipeline的寄存器可以提高系統的性能,但是這樣會(huì )占用大量的寄存器資源,同時(shí)會(huì )給GDDR的訪(fǎng)問(wèn)帶來(lái)很大的延時(shí)。

如果再看一下圖5中使用了2D NoC的布局布線(xiàn)圖,就會(huì )有很明顯的對比。首先,因為用2D NoC實(shí)現了AXI總線(xiàn)連接器和跨時(shí)鐘域的模塊,這就節省了大量的資源;另外,因為2D NoC遍布在整個(gè)器件上,一共有80個(gè)接入點(diǎn),所以8個(gè)讀寫(xiě)模塊可以由工具放置在器件的任何地方,而不影響設計的性能。

從本設計的整個(gè)流程來(lái)看,使用2D NoC會(huì )極大的簡(jiǎn)化設計,提高性能,同時(shí)節省大量的資源;FPGA設計工程師可以花更多的精力在核心模塊或者算法模塊設計上面,把總線(xiàn)傳輸、外部接口訪(fǎng)問(wèn)仲裁和接口異步時(shí)鐘域的轉換等工作全部交給2D NoC吧。

image.png

圖5 使用2D NoC設計的后端布局布線(xiàn)圖

參考文獻:

1.    使用帶有片上高速網(wǎng)絡(luò )的FPGA的八大好處



關(guān)鍵詞: NoC

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>