《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > NoC資源網(wǎng)絡(luò)接口設(shè)計(jì)
NoC資源網(wǎng)絡(luò)接口設(shè)計(jì)
2019年電子技術(shù)應(yīng)用第8期
許川佩,王紀(jì)鋒,牛軍浩
桂林電子科技大學(xué) 電子工程與自動(dòng)化學(xué)院 廣西自動(dòng)檢測(cè)技術(shù)與儀器重點(diǎn)實(shí)驗(yàn)室,廣西 桂林541004
摘要: 資源網(wǎng)絡(luò)接口是片上網(wǎng)絡(luò)處理單元向路由節(jié)點(diǎn)發(fā)送數(shù)據(jù)的一個(gè)通信接口,負(fù)責(zé)把處理單元發(fā)送的數(shù)據(jù)打包成路由節(jié)點(diǎn)所識(shí)別的數(shù)據(jù)。針對(duì)該接口高速傳輸要求,采用請(qǐng)求、應(yīng)答通信機(jī)制方式設(shè)計(jì)一個(gè)資源網(wǎng)絡(luò)接口。該接口內(nèi)各模塊間通信,以及該接口與處理單元和路由節(jié)點(diǎn)間通信均采用異步通信。接口內(nèi)的打包器采用奇偶格式設(shè)計(jì),緩存模塊采用時(shí)分復(fù)用的思想以降低讀、寫(xiě)過(guò)程延遲。用Verilog HDL語(yǔ)言完成該接口設(shè)計(jì),在ModelSim 10.01d平臺(tái)上驗(yàn)證,最終驗(yàn)證結(jié)果表明:設(shè)計(jì)的資源網(wǎng)絡(luò)接口能夠把處理單元發(fā)送來(lái)的數(shù)據(jù)打包成路由節(jié)點(diǎn)所識(shí)別的數(shù)據(jù),且滿(mǎn)足高速率數(shù)據(jù)傳輸要求。
中圖分類(lèi)號(hào): TN402
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190548
中文引用格式: 許川佩,王紀(jì)鋒,牛軍浩. NoC資源網(wǎng)絡(luò)接口設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2019,45(8):118-123.
英文引用格式: Xu Chuanpei,Wang Jifeng,Niu Junhao. Design and verification of NoC resource network interface[J]. Application of Electronic Technique,2019,45(8):118-123.
Design and verification of NoC resource network interface
Xu Chuanpei,Wang Jifeng,Niu Junhao
Guangxi Key Laboratory of Automatic Detection Technology and Instruments,School of Electronic Engineering and Automation, Guilin University of Electronic Technology,Guilin 541004,China
Abstract: The resource network interface is a communication interface that the on-chip network processing unit sends data to the router, and is responsible for packing the data sent by the processing unit into data identified by the routing node. For the high-speed transmission requirements of this interface, this paper uses a combinational logic circuit to design a resource network interface. The communication between the modules in the interface, and the communication between the interface and the processing unit and the routing node are asynchronous communication; the packager in the interface adopts a parity format design, and the cache module adopts the idea of time division multiplexing to reduce the delay of the read and write processes. The interface design is completed in Verilog HDL language and verified on the ModelSim 10.01d platform. The final verification results show that the designed resource network interface can package the data sent by the processing unit into the data identified by the routing node and meet the high-speed data transmission requirements.
Key words : packer;time division multiplexing;asynchronous resource network interface;Verilog HDL

0 引言

    片上網(wǎng)絡(luò)(Network-on-Chip,NoC)具有可重用性、可擴(kuò)展性和并行性等特點(diǎn),是替代以總線通信方式的片上系統(tǒng)(System-on-Chip,SoC)的一種可行方案[1-2]。NoC由路由節(jié)點(diǎn)、處理單元(Processing Elements,PE)、路由節(jié)點(diǎn)和PE間的接口以及路由節(jié)點(diǎn)間鏈路通道組成[3]。路由節(jié)點(diǎn)的功能用于將數(shù)據(jù)(包)從一個(gè)節(jié)點(diǎn)傳送到另一個(gè)節(jié)點(diǎn)[4],資源網(wǎng)絡(luò)接口(Resource Network Interfaces,RNI)是PE向路由節(jié)點(diǎn)傳輸數(shù)據(jù)的一個(gè)通信接口,其基本功能是根據(jù)標(biāo)準(zhǔn)通信協(xié)議(如AXI、OCP或異步握手)完成PE向路由節(jié)點(diǎn)的數(shù)據(jù)傳輸[5]

    近年來(lái),有很多路由節(jié)點(diǎn)與PE間接口設(shè)計(jì)研究成果相繼發(fā)表。文獻(xiàn)[4]提出并實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)接口架構(gòu),但該接口的延遲較高。文獻(xiàn)[6]中提出了一種符合AHB(高級(jí)高性能總線)的2D Mesh 結(jié)構(gòu)NoC網(wǎng)絡(luò)接口,該接口通過(guò)兩階段流水線通信方式來(lái)減少PE和NoC路由節(jié)點(diǎn)之間通信延遲。文獻(xiàn)[7]提出了使用標(biāo)準(zhǔn)PE和AXI總線組包的技術(shù)來(lái)減少延遲。但是,上述所有接口設(shè)計(jì)都是基于時(shí)序電路實(shí)現(xiàn)的,數(shù)據(jù)傳輸都是在時(shí)鐘控制下完成的,很少在接口各模塊間采用請(qǐng)求、應(yīng)答通信方式設(shè)計(jì),且上述接口設(shè)計(jì)研究都是在減少接口與處理單元和路由節(jié)點(diǎn)間通信延遲,很少研究如何減少資源網(wǎng)絡(luò)接口內(nèi)緩存模塊讀寫(xiě)過(guò)程的延遲。為此,本文采用請(qǐng)求、應(yīng)答通信機(jī)制方式來(lái)設(shè)計(jì)資源網(wǎng)絡(luò)接口;根據(jù)時(shí)分復(fù)用思想可以提高多通道利用率[8],采用時(shí)分復(fù)用的思想設(shè)計(jì)雙通道緩存模塊作為本文資源網(wǎng)絡(luò)接口緩存模塊。

1 資源網(wǎng)絡(luò)接口設(shè)計(jì)

    資源網(wǎng)絡(luò)接口是PE向路由節(jié)點(diǎn)傳送數(shù)據(jù)的物理通道[9],作用是把處理單元發(fā)送來(lái)的數(shù)據(jù)轉(zhuǎn)化成NoC路由節(jié)點(diǎn)所識(shí)別的數(shù)據(jù)。其處理單元、資源網(wǎng)絡(luò)接口、路由節(jié)點(diǎn)之間的連接方式如圖1所示。其中資源網(wǎng)絡(luò)接口與處理單元和路由節(jié)點(diǎn)都采用異步通信。

dzyj3-t1.gif

    資源網(wǎng)絡(luò)接口結(jié)構(gòu)如圖2所示,由打包器和緩存模塊組成,其中緩存模塊由緩沖區(qū)讀、寫(xiě)控制器和兩個(gè)循環(huán)FIFO組成。數(shù)據(jù)處理流程分為兩部分:數(shù)據(jù)封裝和數(shù)據(jù)轉(zhuǎn)發(fā)。這兩個(gè)部分處理過(guò)程如下:

    數(shù)據(jù)封裝:當(dāng)打包模塊接收到PE請(qǐng)求時(shí),根據(jù)PE發(fā)來(lái)數(shù)據(jù)信息封裝成相應(yīng)類(lèi)型微片,然后把封裝好的微片存儲(chǔ)到緩存區(qū)內(nèi)。數(shù)據(jù)轉(zhuǎn)發(fā):緩存區(qū)內(nèi)數(shù)據(jù)不為空時(shí),向路由節(jié)點(diǎn)本地端口發(fā)出請(qǐng)求,等到應(yīng)答之后把數(shù)據(jù)轉(zhuǎn)發(fā)路由節(jié)點(diǎn)本地端口。

dzyj3-t2.gif

1.1 數(shù)據(jù)包格式

    目前NoC內(nèi)的路由節(jié)點(diǎn)間的數(shù)據(jù)交換主要采用蟲(chóng)洞交換技術(shù)[10]。該交換方式將數(shù)據(jù)包劃分成很小的微片,并把這些微片分成三種不同的類(lèi)型:頭微片、數(shù)據(jù)微片和尾微片。傳輸時(shí)頭微片在NoC內(nèi)開(kāi)辟一條路徑,數(shù)據(jù)微片以流水線方式向前傳輸,以尾微片作為數(shù)據(jù)包傳輸結(jié)束標(biāo)志。這樣數(shù)據(jù)包中微片就會(huì)存到多個(gè)路由節(jié)點(diǎn)內(nèi),但如果NoC內(nèi)某個(gè)路由節(jié)點(diǎn)發(fā)生阻塞時(shí),這時(shí)又有其他數(shù)據(jù)包微片經(jīng)過(guò)此路由節(jié)點(diǎn),并且與當(dāng)前數(shù)據(jù)包微片傳輸方向相同,這時(shí)路由節(jié)點(diǎn)就無(wú)法區(qū)別當(dāng)前微片和前一個(gè)微片是否來(lái)自同一個(gè)數(shù)據(jù)包,造成微片混亂現(xiàn)象[11]

    為防止這種情況發(fā)生,本文將數(shù)據(jù)包分為兩種格式:奇數(shù)包和偶數(shù)包。打包次數(shù)為奇數(shù)是奇數(shù)包;打包次數(shù)為偶數(shù)是偶數(shù)包。兩種數(shù)據(jù)包微片格式一致,不同的是微片中編碼號(hào)編碼方式不同。其數(shù)據(jù)包格式及微片格式如圖3所示。

dzyj3-t3.gif

    這兩種數(shù)據(jù)包微片編碼方式如下。當(dāng)打包數(shù)據(jù)包為偶數(shù)包時(shí),其微片編碼方式為頭微片和尾微片兩位碼號(hào)設(shè)置為00,數(shù)據(jù)微片兩位碼號(hào)設(shè)置為01;打包為奇數(shù)包時(shí),頭微片和尾微片的編兩位碼號(hào)設(shè)置為11。數(shù)據(jù)微片兩位碼號(hào)設(shè)置為10。將數(shù)據(jù)包的源地址、目的地址信息添加到頭微片、數(shù)據(jù)微片和尾微片中來(lái),用來(lái)區(qū)分?jǐn)?shù)據(jù)包源地址不同、目的地址相同的微片。采用奇偶打包格式,來(lái)區(qū)分?jǐn)?shù)據(jù)包源地址、目的地址相同但不是同一個(gè)數(shù)據(jù)包的微片。

1.2 打包器設(shè)計(jì)

    打包模塊負(fù)責(zé)將PE發(fā)送來(lái)的數(shù)據(jù)重新拆包,并重新打包成NoC內(nèi)路由節(jié)點(diǎn)所識(shí)別的數(shù)據(jù)包格式數(shù)據(jù),然后把打包好的數(shù)據(jù)轉(zhuǎn)發(fā)給路由節(jié)點(diǎn)。其整個(gè)結(jié)構(gòu)如圖4所示,由二相單軌數(shù)據(jù)捆綁異步單元和Packetizer模塊組成。其中Packetizer由Packet Control、Head Info、24位數(shù)據(jù)搬運(yùn)器、32位合成器以及Flit組合器組成。二相單軌數(shù)據(jù)捆綁異步單元是負(fù)責(zé)與PE和該接口內(nèi)的緩存模塊通信的異步握手單元,與兩個(gè)模塊通信時(shí)采用數(shù)據(jù)捆綁二相握手協(xié)議(異步通道中請(qǐng)求、應(yīng)答信號(hào)每翻轉(zhuǎn)一次完成一次通信事件)[12];Packetizer是打包器的核心模塊,負(fù)責(zé)數(shù)據(jù)包內(nèi)各個(gè)微片封裝。由于本文設(shè)計(jì)的資源網(wǎng)絡(luò)接口向路由節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)時(shí),是以微片為基本單位進(jìn)行數(shù)據(jù)交換,因此在數(shù)據(jù)打包時(shí),不需將數(shù)據(jù)封裝成整個(gè)數(shù)據(jù)包,只需將數(shù)據(jù)封裝成微片。傳輸時(shí)以頭微片作為一個(gè)新數(shù)據(jù)包的開(kāi)始,尾微片作為一個(gè)數(shù)據(jù)包結(jié)束,整個(gè)過(guò)程以流水線方式傳輸。

dzyj3-t4.gif

    數(shù)據(jù)包整個(gè)打包流程如下:當(dāng)收到PE發(fā)送來(lái)的新數(shù)據(jù)時(shí),二相單軌數(shù)據(jù)捆綁異步單元先將該數(shù)據(jù)鎖存該單元內(nèi)數(shù)據(jù)通道中,并向Packetizer發(fā)送請(qǐng)求。當(dāng)Packetizer模塊收到二相單軌數(shù)據(jù)捆綁異步單元請(qǐng)求(req_from_ip信號(hào)發(fā)生翻轉(zhuǎn)) 時(shí),內(nèi)部的打包控制器Packet Control判斷當(dāng)前Status信號(hào)狀態(tài)以及打包奇偶格式后,將鎖存二相單軌數(shù)據(jù)捆綁異步單元中數(shù)據(jù)通道內(nèi)的數(shù)據(jù),通過(guò)Flit組成器封裝成相應(yīng)微片,同時(shí)向二相單軌數(shù)據(jù)捆綁異步單元做出應(yīng)答(ack_to_ip信號(hào)發(fā)生翻轉(zhuǎn)),并將封裝好的微片存儲(chǔ)到緩沖區(qū)內(nèi)。其微片封裝類(lèi)型是根據(jù)當(dāng)前Status信號(hào)的狀態(tài)決定的。其Status信號(hào)的狀態(tài)轉(zhuǎn)換與微片類(lèi)型封裝之間的關(guān)系如圖5所示。其中Status信號(hào)由2 bit數(shù)據(jù)組成,00表示狀態(tài)S0,01表示狀態(tài)S1,10表示S2,11表示狀態(tài)S3。

dzyj3-t5.gif

    四種狀態(tài)工作詳細(xì)步驟為:

    (1)S0狀態(tài):初始化Packetizer模塊,此時(shí)打包器處于空閑狀態(tài)。監(jiān)督二相單軌數(shù)據(jù)捆綁異步單元是否有新數(shù)據(jù)到來(lái)(req_from_ip信號(hào)翻轉(zhuǎn)),如果沒(méi)有,就一直在S0狀態(tài)循環(huán),否則進(jìn)入S1狀態(tài)。

    (2)S1狀態(tài):當(dāng)收到二相單軌數(shù)據(jù)捆綁異步單元請(qǐng)求(req_from_ip信號(hào)發(fā)生翻轉(zhuǎn))時(shí),不會(huì)立即做出響應(yīng)。而是Packetizer模塊內(nèi)Head Info單元先將發(fā)送來(lái)的32 bit數(shù)據(jù)中的頭部信息提取出來(lái),并存儲(chǔ)到數(shù)據(jù)寄存器內(nèi)(其中頭部信息包括數(shù)據(jù)包的長(zhǎng)度、數(shù)據(jù)包傳輸?shù)哪康牡刂泛驮吹刂罚瑪?shù)據(jù)包長(zhǎng)度為4位,目的地址和源地址為8位);然后Packet Control控制器判斷當(dāng)前打包次數(shù)是奇數(shù)還是偶數(shù)后,將Head Info內(nèi)的12 bit頭部信息傳送給32位數(shù)據(jù)合成器。接收到Head Info信息后的32位數(shù)據(jù)合成器會(huì)立即判斷當(dāng)前打包次數(shù)奇偶性,并把剩余的20位存儲(chǔ)地址填充數(shù)據(jù)包相關(guān)類(lèi)型信息。最后把合成好的32位數(shù)據(jù)轉(zhuǎn)發(fā)給flit合成器,封裝成34 bit頭微片,并向二相單軌數(shù)據(jù)捆綁異步單元做出應(yīng)答(ack_to_ip信號(hào)發(fā)生翻轉(zhuǎn)),進(jìn)入S2狀態(tài)。此時(shí)標(biāo)志一個(gè)新的數(shù)據(jù)包打包開(kāi)始。

    (3)S2狀態(tài):檢測(cè)到有32 bit新數(shù)據(jù)到來(lái)時(shí),先判斷從頭微片到當(dāng)前所封裝微片數(shù)是否小于數(shù)據(jù)包的長(zhǎng)度。如果是,進(jìn)行數(shù)據(jù)微片封裝。其封裝步驟:先把發(fā)送來(lái)的32 bit數(shù)據(jù)存儲(chǔ)到24位數(shù)據(jù)搬運(yùn)器中寄存器內(nèi);然后Head Info將存儲(chǔ)的8 bit目的地址、源地址信息轉(zhuǎn)發(fā)給32位合成器,之后24位數(shù)據(jù)搬運(yùn)器將存儲(chǔ)在寄存器內(nèi)的數(shù)據(jù)前24 bit數(shù)據(jù)填充到32位合成器的后24位;最后由flit合成器封裝成34 bit數(shù)據(jù)微片。如果當(dāng)前所封裝微片數(shù)等于數(shù)據(jù)包的長(zhǎng)度,轉(zhuǎn)移S3狀態(tài)。

    (4)S3狀態(tài):把PE發(fā)送來(lái)的32 bit數(shù)據(jù)封裝成34 bit尾微片,并把Head Info內(nèi)存儲(chǔ)的頭部信息清空,進(jìn)入S0狀態(tài),此時(shí)標(biāo)志一個(gè)數(shù)據(jù)包打包結(jié)束。其中34 bit尾微片的封裝步驟與S2狀態(tài)34 bit數(shù)據(jù)微片一致,不再贅述。

1.3 緩存模塊設(shè)計(jì)

    當(dāng)打包器把封裝好的微片轉(zhuǎn)發(fā)給NoC路由節(jié)點(diǎn)時(shí),如果NoC路由節(jié)點(diǎn)沒(méi)有給予及時(shí)處理,此時(shí)會(huì)大大降低數(shù)據(jù)打包的效率,為此需在打包器和NoC路由節(jié)點(diǎn)間增加一個(gè)緩存模塊,目前大多數(shù)緩存器都是使用單個(gè)緩存區(qū)來(lái)存儲(chǔ)數(shù)據(jù)的,但是這種方式無(wú)法在同一時(shí)刻進(jìn)行讀、寫(xiě),產(chǎn)生過(guò)大的延遲。為減小緩存模塊的延遲,本文采用時(shí)分復(fù)用的思想設(shè)計(jì)一個(gè)讀、寫(xiě)并行的雙通道緩存模塊。為了更好證明采用時(shí)分復(fù)用思想可以降低緩存模塊延遲,設(shè)每次寫(xiě)數(shù)據(jù)的時(shí)間為T(mén)wr,讀數(shù)據(jù)延遲為T(mén)rd,數(shù)據(jù)包的長(zhǎng)度為2L。則單通道緩存和采用時(shí)分復(fù)用后緩存完成一個(gè)數(shù)據(jù)包讀寫(xiě)時(shí)間可由以下公式計(jì)算[13]

    單通道完成一個(gè)數(shù)據(jù)包讀寫(xiě)時(shí)間為:

     dzyj3-gs1-3.gif

    其單通道和雙通道讀、寫(xiě)過(guò)程如圖6(a)和圖6(b)所示。

dzyj3-t6.gif

    下面介紹整個(gè)緩存模塊設(shè)計(jì)流程。

    緩存模塊整個(gè)結(jié)構(gòu)由圖2所示,由緩沖模塊讀、寫(xiě)控制器以及兩個(gè)FIFO組成。傳統(tǒng)的FIFO都是靠時(shí)鐘完成FIFO數(shù)據(jù)讀寫(xiě)的。為了提高數(shù)據(jù)的讀寫(xiě)速率,本文采用數(shù)據(jù)捆綁二相握手協(xié)議(異步通道中請(qǐng)求、應(yīng)答信號(hào)每翻轉(zhuǎn)一次完成一次通信事件)[12]設(shè)計(jì)一個(gè)循環(huán)FIFO進(jìn)行數(shù)據(jù)讀寫(xiě),數(shù)據(jù)寬度為34位,為了節(jié)約資源,深度設(shè)計(jì)為4,整個(gè)設(shè)計(jì)框架如圖7所示。

dzyj3-t7.gif

    當(dāng)req_in信號(hào)發(fā)生反轉(zhuǎn)時(shí)(和ackout信號(hào)不一樣時(shí),有請(qǐng)求發(fā)生時(shí)),對(duì)應(yīng)的writerpointersi會(huì)被拉高,當(dāng)判斷regi為空(fulli和emptyi電平不同)時(shí),ackout就會(huì)做出應(yīng)答,將數(shù)據(jù)寫(xiě)入到regi里,fulli信號(hào)發(fā)生反轉(zhuǎn)。同理當(dāng)readpointersi讀到regi不為空(fulli和emptyi電平不同)時(shí),此時(shí)reqout電平會(huì)發(fā)生變化,同時(shí)后面的二相單軌異步單元向相鄰接結(jié)點(diǎn)發(fā)出請(qǐng)求信號(hào),當(dāng)接收到ackin應(yīng)答時(shí),emptyi信號(hào)發(fā)生反轉(zhuǎn),然后去讀下一個(gè)reg的值,以此類(lèi)推。下面介紹讀、寫(xiě)控制器設(shè)計(jì)。

    緩沖區(qū)讀寫(xiě)整個(gè)過(guò)程都是由讀、寫(xiě)控制器配合完成的。其緩沖區(qū)讀、寫(xiě)控制器內(nèi)部結(jié)構(gòu)如圖8所示。其中讀、寫(xiě)控制器分別由二相單軌數(shù)據(jù)捆綁單元、仲裁器以及狀態(tài)控制器組成。在讀、寫(xiě)控制器內(nèi),仲裁器都是采用輪詢(xún)算法對(duì)兩個(gè)FIFO進(jìn)行讀、寫(xiě)操作,狀態(tài)控制器控制兩個(gè)FIFO的讀、寫(xiě)狀態(tài)。下面介紹一下讀、寫(xiě)控制器的工作流程。

dzyj3-t8.gif

    寫(xiě)操作步驟:當(dāng)收到打包器發(fā)送來(lái)的請(qǐng)求時(shí)(req_from_packet信號(hào)翻轉(zhuǎn)),二相單軌數(shù)據(jù)捆綁異步單元立即把打包器傳送來(lái)的微片鎖存到該模塊內(nèi)的數(shù)據(jù)通道中,緊接著仲裁器判斷當(dāng)前FIFOA和FIFOB是否全滿(mǎn)(Read_statusA和Read_statusA全為1)。如果是,停止數(shù)據(jù)寫(xiě)操作;否則仲裁器根據(jù)輪詢(xún)算法將數(shù)據(jù)寫(xiě)入到相應(yīng)的FIFO內(nèi),然后再判斷當(dāng)前FIFO是否滿(mǎn),如果是,將該FIFO設(shè)置為讀狀態(tài)(Read_status設(shè)置為1)。其中寫(xiě)控制器中仲裁機(jī)制采用輪詢(xún)的算法,每收到一個(gè)請(qǐng)求信號(hào)時(shí),仲裁器內(nèi)仲裁指針移動(dòng)一次,這樣保證了每個(gè)FIFO寫(xiě)的頻率相同。

    讀操作步驟:當(dāng)仲裁器接收到FIFOA或FIFOB的請(qǐng)求(reqC和reqD信號(hào)翻轉(zhuǎn))時(shí),判斷當(dāng)前兩個(gè)FIFO是否全空(Write_statusA和Write_statusB全為1)。如果是,停止讀操作;否則讀控制器內(nèi)的仲裁器根據(jù)輪詢(xún)算法將相應(yīng)FIFO內(nèi)的數(shù)據(jù)發(fā)送給NoC路由節(jié)點(diǎn),然后判斷該FIFO是否為空,如果是,則將該FIFO設(shè)置為寫(xiě)狀態(tài)(Write_status設(shè)置為1)。其中讀控制器內(nèi)仲裁器也是每讀一次數(shù)據(jù),仲裁器內(nèi)仲裁指針移動(dòng)一次,這樣保證了緩存區(qū)中每個(gè)數(shù)據(jù)讀、寫(xiě)順序一致。

    該緩存模塊根據(jù)FIFO中Write_status和Read_status信號(hào)判斷當(dāng)前FIFO的讀、寫(xiě)狀態(tài),保證讀、寫(xiě)過(guò)程同時(shí)進(jìn)行。用時(shí)分復(fù)用的思想降低數(shù)據(jù)在緩沖區(qū)寫(xiě)過(guò)程中的延遲,減少緩沖區(qū)FIFO在讀的過(guò)程出現(xiàn)饑餓現(xiàn)象(一直沒(méi)有數(shù)據(jù)可讀)。

2 功能仿真與驗(yàn)證

    本文采用Verilog HDL硬件語(yǔ)言完成資源接口內(nèi)各個(gè)模塊設(shè)設(shè)計(jì),并在ModeSim10.d EDA平臺(tái)上驗(yàn)證其功能。首先對(duì)打包器打包過(guò)程進(jìn)行驗(yàn)證,然后再對(duì)緩存模塊讀、寫(xiě)過(guò)程進(jìn)行驗(yàn)證。

2.1 打包器功能驗(yàn)證與分析

    打包器負(fù)責(zé)把PE發(fā)送來(lái)的數(shù)據(jù)打包成NoC內(nèi)路由節(jié)點(diǎn)所識(shí)別的數(shù)據(jù)包,其中驗(yàn)證分為三部分:(1)頭微片封裝過(guò)程,數(shù)據(jù)包打包開(kāi)始標(biāo)志;(2)數(shù)據(jù)微片封裝過(guò)程;(3)尾微片封裝過(guò)程,數(shù)據(jù)打包結(jié)束的標(biāo)志。其整個(gè)打包器的整個(gè)打包過(guò)程仿真圖如圖9所示。當(dāng)status的狀態(tài)由S0變?yōu)镾1(status的值由00變?yōu)?1)時(shí),表示數(shù)據(jù)包打包開(kāi)始,當(dāng)datain的值由0變?yōu)?00000000000000000000000011110001時(shí),headinfo的值由0為010111110001。其中headinfo的值的后4位0101表示數(shù)據(jù)包的長(zhǎng)度為9,前8位11110001(數(shù)據(jù)包的源地址和目的地址值)與data_in值的前8位一致,表明頭部信息提取正確。當(dāng)data_out的值由0變?yōu)?001111001111001000001011111000100時(shí),表明頭微片封裝完畢。其數(shù)據(jù)封裝如圖8被標(biāo)注的封裝好微片數(shù)據(jù)微片所示:該微片的前12位與headinfo的值一樣,后24位是datain的第一個(gè)值的后8位和第二個(gè)值的前16位組合,表明數(shù)據(jù)微片封裝正確。尾微片封裝過(guò)程與數(shù)據(jù)微片封裝過(guò)程一致,為此不再敘述。

dzyj3-t9.gif

2.2 緩存模塊功能驗(yàn)證與分析

    緩存模塊由基于二相單軌數(shù)據(jù)捆綁協(xié)議的循環(huán)FIFO和讀、寫(xiě)控制器組成,其數(shù)據(jù)讀、寫(xiě)過(guò)程都是在讀、寫(xiě)控制器控制下完成的。其緩存模塊內(nèi)讀、寫(xiě)控制器控制兩個(gè)FIFO讀、寫(xiě)過(guò)程仿真圖如圖10所示。

dzyj3-t10.gif

    從仿真圖10(a)可以看出:當(dāng)打包器發(fā)送來(lái)的數(shù)據(jù)為0x000003c6、0x000003c7、0x000003c8、0x000003c5時(shí),寫(xiě)進(jìn)FIFOA的數(shù)據(jù)為0x000003c7和0x000003c5,寫(xiě)進(jìn)FIFOB的數(shù)據(jù)為0x000003c6和0x000003c8,表明寫(xiě)控制器是采用輪詢(xún)算法把數(shù)據(jù)寫(xiě)進(jìn)兩個(gè)FIFO內(nèi)。從仿真圖10(b)可以看出:FIFOA輸出的數(shù)據(jù)為0x000003c7和0x000003c5,F(xiàn)IFOB輸出的數(shù)據(jù)為0x000003c8和0x000003c6時(shí),讀控制器輸出的數(shù)據(jù)為0x000003c6、0x000003c7、0x000003c8、0x000003c5,表明緩存模塊的數(shù)據(jù)可以被正確讀出。

2.3 資源網(wǎng)絡(luò)接口傳輸延遲分析

    對(duì)設(shè)計(jì)的資源網(wǎng)絡(luò)接口傳輸延遲驗(yàn)證,本文設(shè)置兩種情況:RNI-1循環(huán)FIFO和RNI-2循環(huán)FIFO。RNI-1循環(huán)FIFO是緩存模塊為單個(gè)FIFO的資源網(wǎng)絡(luò)接口;RNI-2循環(huán)FIFO是緩存模塊本采用時(shí)分復(fù)用讀、寫(xiě)的資源網(wǎng)絡(luò)接口。在ModelSim 10.01d EDA仿真時(shí)間為納秒環(huán)境下,連續(xù)向這兩種接口注入6個(gè)位寬為32的數(shù)據(jù)。其仿真圖如圖11所示。

dzyj3-t11.gif

    從圖11仿真結(jié)果可以看出:RNI-1循環(huán)FIFO完成一個(gè)數(shù)據(jù)包的讀、寫(xiě)的時(shí)間為80 ns,表明單個(gè)數(shù)據(jù)包傳輸延遲為80 ns;單個(gè)數(shù)據(jù)包的存儲(chǔ)時(shí)間為75 ns,則單個(gè)微片傳輸延遲為5 ns;RNI-1循環(huán)FIFO完成一個(gè)數(shù)據(jù)包延遲為62 ns,即單個(gè)數(shù)據(jù)包傳輸延遲為62 ns;單個(gè)數(shù)據(jù)包的存儲(chǔ)時(shí)間為59 ns,則單個(gè)微片傳輸延遲為3 ns。RNI-2循環(huán)FIFO的單個(gè)微片延遲相對(duì)RNI-1循環(huán)FIFO減少2 ns,包延遲減少18 ns。

3 結(jié)論

    本文采用奇偶交替打包格式,來(lái)區(qū)分源地址和目的地址相同但不是來(lái)自同一數(shù)據(jù)包的微片。將源地址和目的地址信息加入數(shù)據(jù)微片和尾微片中,來(lái)區(qū)分源地址和目的地址都不相同的微片。采用時(shí)分復(fù)用思想來(lái)降低緩存模塊的讀、寫(xiě)過(guò)程中的延遲。最后仿真結(jié)果表明:本文設(shè)計(jì)的資源網(wǎng)絡(luò)接口能把PE發(fā)送來(lái)的數(shù)據(jù)打包成路由節(jié)點(diǎn)所識(shí)別的數(shù)據(jù)包,并且單個(gè)微片傳輸延遲為3個(gè)時(shí)間單位,滿(mǎn)足高速率傳輸要求。

參考文獻(xiàn)

[1] SWAMINATHAN K,LAKSHMINARAYANAN G,LANG F.Design of a low power network interface for Network on chip[C].International Conference on Communications,Management and Telecommunications,2013.

[2] 陳松濤,徐金甫,劉航天.基于認(rèn)證加密的NoC安全防護(hù)研究[J].電子技術(shù)應(yīng)用,2016,42(7):50-52,56.

[3] 談俊燕,華迪,Virginie Fresse,Frederic Rousseau.用于油畫(huà)鑒別的自適應(yīng)MPSoC中NoC仿真平臺(tái)研究[J].電子技術(shù)應(yīng)用,2016,42(12):76-80.

[4] MASOUD D,LILJEBERG P,PLOSILA J.Memoryefficient on-chip network with adaptive interfaces[C].Computer-Aided Design of Integrated Circuits and Systems,2012:146-159.

[5] CUONG N V,CAO B C,NAM P N.Design of a low latency network interface using dual buffer for network on chip[C].International Conference on Communications,Management and Telecommunications,2016.

[6] ATTIA B,CHOUCHENE W,ZITOUNI A,et al.Design and implementation of low latency network interface for network on chip[C].2010 5th Internation Design and Test Workshop,2010:37-42.

[7] CHOUCHENE W,ATTIA B,ZITOUNI A,et al. A low power network interface for network on chip[C].Multi-Conference on Systems,Signals & Devices,2011:37-42.

[8] 黃世鋒,陳章友,張?zhí)m,等.多通道雷達(dá)數(shù)字接收機(jī)數(shù)字下變頻設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2016,42(6):46-48,55.

[9] 王勝,屈凌翔.基于NoC的網(wǎng)絡(luò)接口設(shè)計(jì)[J].電子與封裝,2017,17(9):23-27.

[10] 李貞妮,李晶皎,王愛(ài)俠,等.片上網(wǎng)絡(luò)跨時(shí)鐘域的高速數(shù)據(jù)通信接口設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2018,18(3):13-18.

[11] 許川佩,劉標(biāo).基于高速數(shù)據(jù)采集的NoC路由節(jié)點(diǎn)設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2017,34(11):140-144.

[12] 何安平,劉曉慶,陳虹.基于約束數(shù)據(jù)捆綁兩相握手協(xié)議的8位異步Booth乘法器設(shè)計(jì)[J].電子學(xué)報(bào),2018,46(4):961-968.

[13] 張恒,張迎春.一種動(dòng)態(tài)時(shí)分復(fù)用方法及FPGA實(shí)現(xiàn)[J].無(wú)線電工程,2015,45(6):85-87,95.



作者信息:

許川佩,王紀(jì)鋒,牛軍浩

(桂林電子科技大學(xué) 電子工程與自動(dòng)化學(xué)院 廣西自動(dòng)檢測(cè)技術(shù)與儀器重點(diǎn)實(shí)驗(yàn)室,廣西 桂林541004)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲黄页视频免费观看| 亚洲一区二区网站| 国产精品亚洲一区| 欧美涩涩网站| 欧美日韩大陆在线| 欧美激情一区二区三区| 蜜桃精品一区二区三区| 久久综合九色99| 久久天天躁夜夜躁狠狠躁2022| 欧美在线www| 欧美一区二区三区视频| 欧美亚洲一区二区在线| 亚洲欧美精品suv| 亚洲在线播放电影| 亚洲尤物在线视频观看| 亚洲欧美国产va在线影院| 亚洲永久免费精品| 午夜精品亚洲| 欧美专区在线观看| 欧美一区激情视频在线观看| 欧美影视一区| 久久精品欧美日韩精品| 久久久久女教师免费一区| 久久理论片午夜琪琪电影网| 久久最新视频| 欧美国产日韩a欧美在线观看| 欧美精品v国产精品v日韩精品| 欧美精品日韩一本| 欧美日韩三区四区| 国产精品国产三级国产专区53 | 日韩视频免费在线观看| av成人激情| 亚洲综合精品四区| 午夜精品久久久久久久久久久| 性色一区二区| 亚洲国产三级| 一区二区三区www| 性欧美videos另类喷潮| 久久精品欧洲| 欧美激情综合五月色丁香小说| 欧美视频在线不卡| 国产乱子伦一区二区三区国色天香 | 欧美专区日韩视频| 亚洲精品在线免费| 亚洲午夜久久久| 欧美在线网站| 欧美sm极限捆绑bd| 欧美日韩中文字幕| 国产日韩欧美一区二区三区在线观看 | 亚洲免费高清| 午夜欧美大片免费观看 | 亚洲国产成人午夜在线一区 | 91久久精品国产91久久性色tv | 久久超碰97人人做人人爱| 91久久综合亚洲鲁鲁五月天| 亚洲主播在线播放| 久久av一区| 欧美黄色日本| 国产视频一区在线| 亚洲日韩欧美一区二区在线| 亚洲欧洲av一区二区| 亚洲狼人综合| 久久精品99国产精品日本| 欧美精品三级日韩久久| 国产欧美日韩在线视频| 亚洲国产欧美在线人成| 亚洲欧美三级在线| 亚洲精品在线看| 久久精品人人做人人综合| 欧美乱妇高清无乱码| 国产女人水真多18毛片18精品视频| 亚洲福利视频在线| 午夜精品理论片| 一本色道久久综合亚洲精品高清| 欧美专区亚洲专区| 欧美视频二区| 亚洲电影在线播放| 亚洲欧美日韩一区二区| 夜夜嗨av一区二区三区| 久久久久久久久一区二区| 欧美日韩视频一区二区三区| 悠悠资源网久久精品| 亚洲一本视频| 一本色道**综合亚洲精品蜜桃冫| 久久蜜桃精品| 国产麻豆午夜三级精品| 日韩视频免费看| 亚洲人成网站在线播| 欧美在线日韩| 欧美香蕉大胸在线视频观看| 亚洲韩国精品一区| 久久激情中文| 久久国产免费| 国产精品一区久久| 亚洲视频免费| 亚洲视频网站在线观看| 欧美jizz19hd性欧美| 国模私拍视频一区| 亚洲欧美一区二区原创| 亚洲一区自拍| 欧美精品在欧美一区二区少妇| 一区三区视频| 亚洲福利视频免费观看| 久久国产视频网| 国产精品一区一区| 亚洲无吗在线| 亚洲综合电影一区二区三区| 欧美男人的天堂| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美日韩一区三区| 91久久夜色精品国产网站| 亚洲国产精品久久久久秋霞影院 | 亚洲人成在线观看| 亚洲人被黑人高潮完整版| 久久天堂成人| 红桃视频亚洲| 久久精品夜夜夜夜久久| 久久视频国产精品免费视频在线| 国产日韩欧美二区| 香蕉久久国产| 欧美有码在线视频| 国产网站欧美日韩免费精品在线观看| 亚洲一区二区在线免费观看| 亚洲影视中文字幕| 国产精品拍天天在线| 亚洲视频999| 亚洲欧美综合国产精品一区| 国产精品久久9| 亚洲永久字幕| 久久精品国产免费| 国产一区亚洲| 久久精品夜夜夜夜久久| 蜜臀av一级做a爰片久久| 在线精品福利| 日韩天堂av| 欧美性猛交xxxx乱大交蜜桃 | 亚洲欧美日韩精品久久奇米色影视| 午夜精品免费| 国产在线视频欧美| 亚洲精华国产欧美| 美女在线一区二区| 亚洲国产网站| 亚洲永久免费视频| 国产乱码精品一区二区三| 欧美在线视频播放| 免费美女久久99| 亚洲日本视频| 亚洲欧洲99久久| 国产欧美欧美| 久久精品九九| 欧美国产综合| 中国成人黄色视屏| 久久国产婷婷国产香蕉| 伊伊综合在线| 一区二区三区国产| 国产精品三级久久久久久电影| 欧美一区二区三区四区高清| 美女精品一区| 99在线精品观看| 欧美在线观看一区二区| 国内精品99| 日韩午夜电影av| 国产精品区一区二区三区| 欧美一区二区三区在线| 欧美国产日韩一区| 亚洲一级电影| 免费不卡在线观看| 亚洲视频你懂的| 老鸭窝毛片一区二区三区| 日韩午夜三级在线| 久久久久久网站| 99riav国产精品| 久久久久免费观看| 亚洲精品美女在线观看| 欧美一区二区三区婷婷月色| 亚洲第一精品福利| 亚洲欧美一区二区三区在线| 影音先锋亚洲视频| 亚洲免费中文字幕| 在线免费一区三区| 亚洲综合色丁香婷婷六月图片| 国内精品国语自产拍在线观看| 一区二区三区视频在线看| 国产亚洲视频在线| 在线亚洲欧美| 在线日本高清免费不卡| 亚洲欧美日韩一区| 亚洲第一福利视频| 欧美一区久久| 日韩一级黄色av| 免费亚洲电影| 亚洲欧美怡红院| 国产精品wwwwww| 亚洲精品系列| 韩日视频一区| 欧美一区二区三区在线播放| 99这里只有精品| 欧美激情精品久久久久久大尺度| 欧美亚洲在线| 国产精品久久久久久久一区探花 |