亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于數控分流策略的2DMesh NoC路由節(jié)點設計

        2016-05-27 08:46:11高健崔建明
        關鍵詞:方向信號設計

        高健,崔建明

        (山東科技大學 信息科學與工程學院,青島 266590)

        ?

        高健,崔建明

        (山東科技大學 信息科學與工程學院,青島 266590)

        摘要:對NoC設計技術進行了研究,設計了采用數控分流策略的NoC路由節(jié)點,并基于該節(jié)點建立了NoC模型,該模型采用2DMesh拓撲結構,確定性XY路由算法實現。用Verilog HDL完成了NoC模型的功能設計,并對基于該模型的16核CPU進行了RTL級仿真與測試。測試結果顯示,該模型完全實現了NoC的功能,可應用于多核CPU設計。

        關鍵詞:數控分流;2DMesh NoC;FPGA

        引言

        隨著越來越多的處理機內核以及可重復利用的IP核被集成到單個SoC(System on Chip)芯片上,傳統(tǒng)總線結構時間資源利用率低、可擴展性差的問題越來越突出。在此背景下,基于網絡和路由通信的片上網絡(Network on Chip,NoC)體系結構應運而生。NoC體系結構包括資源節(jié)點、路由節(jié)點和拓撲結構3部分,這也是NoC設計技術主要研究的3個方面。其中路由節(jié)點的任務是接收上一節(jié)點發(fā)來的數據包,根據目的地址將數據包轉發(fā)到下一節(jié)點。本文以此為切入點,設計了數據和控制信號分流的路由節(jié)點。在拓撲結構的研究中,2DMesh雖然不是最優(yōu)的網絡拓撲結構,但其以帶寬高、結構簡單、復用性強的特點受到眾多研究者的青睞。在此基礎上本文搭建了2DMesh NoC模型。

        12DMesh拓撲結構

        圖1 2DMesh拓撲結構

        NoC的拓撲結構有2D、3D等多種類型,本文采用了2DMesh拓撲結構,如圖1所示,該結構由路由節(jié)點、處理單元、互連網絡3個元素組成。其中,路由節(jié)點的主要任務是引導數據的流動并暫時存放流動中的數據,流動中的數據包經過路由節(jié)點的仲裁后決定向哪個方向流動。處理單元為微控制器、DSP處理器或者存儲器等具有一定處理能力或存儲能力的模塊,本文使用了NiosII軟核。互連網絡決定了網絡節(jié)點的連接方式,節(jié)點傳輸必須按照互連網絡的拓樸結構進行。

        2路由算法

        路由算法可以分為確定性路由、自適應性路由等幾類,其中確定性路由應用最為廣泛。在確定性路由中,數據包的路徑只與源節(jié)點和目標節(jié)點的地址有關,兩個確定的節(jié)點之間傳輸數據包的路徑是確定的,與網絡當前各節(jié)點的狀態(tài)沒有關系。

        本文采用確定性XY維路由算法,路由過程為:先沿X方向將數據包送至目的節(jié)點所在的列,再沿Y方向將數據包送至目的節(jié)點所在的行[1]。

        3通信協(xié)議及數據包格式

        在NoC中,普遍使用的網絡結構是包交換的直接網絡,本文采用的便是基于包交換的虛擬通道數據交換方式。由于在NoC中沒有專門的協(xié)議處理機制,所有的協(xié)議都必須由硬件處理,這就要求片上網絡的網絡協(xié)議不能太復雜。所以通常都要求NoC中的路由算法簡潔、有效,能將數據包完整、無損、順序地發(fā)送出去。

        處理單元之間通過片上網絡收發(fā)數據包通信。所有的路由信息和數據信息都被包含在數據包中。本文中,片上網絡中緩存的大小決定了數據包的大小。由于本文中的緩存是FIFO模塊,而且每個FIFO都正好容納一個數據包,所以數據包設計成了寬度為16位、深度為16個字的形式。

        數據包由包頭和包身構成,因為一個緩存正好容納一個數據包,為了使設計簡潔,沒有設計包尾。在數據包中,包頭占了3個字,剩余的13個字是包身,最低兩位是每個字的標志位。數據包格式如表1所列。

        表1 數據包格式

        4路由節(jié)點

        圖2 數控分流邏輯

        路由節(jié)點的主要任務是執(zhí)行路由算法、接收數據包并轉發(fā)到下一節(jié)點。一個路由節(jié)點需要處理的信號分為兩類,分別為控制信號和輸入/輸出兩路數據信號。如圖2所示,本文將路由節(jié)點的信號分流到兩種邏輯電路進行處理,有效提升了路由的流暢性,降低了節(jié)點的復雜度。其中控制邏輯主要負責路由、交換等控制功能的實現,主導著數據flit的存儲以及控制數據flit前往下一個節(jié)點的方向,而數據邏輯就是flit存儲、傳輸的具體通道和載體。

        4.1節(jié)點頂層架構

        本文中一個NoC路由節(jié)點主要由輸入緩存、頭地址寄存器、請求發(fā)生器、輪詢仲裁器、預路由模塊、路由選擇器、交叉開關網絡、路由計數器以及輸出緩存(下一節(jié)點的輸入緩存)組成,如圖3所示。其中,頭地址寄存器、請求發(fā)生器、輪詢仲裁器、預路由模塊、路由選擇器為控制邏輯部分,負責路由、交換等控制功能的實現,主導數據包的存儲以及控制數據包傳輸至正確的方向。輸入緩存和輸出緩存,以及交叉開關網絡,便是數據邏輯部分,負責數據包的傳輸通道和載體。

        圖3 NoC頂層架構

        4.2具體模塊設計

        4.2.1控制邏輯模塊

        頭地址寄存器的功能是根據標志位檢測存儲在包頭中的目標節(jié)點的地址信息并保存,直至下一個數據包到達,再將寄存器中的信息更新。如圖4所示,其信號分為3類:上一級的寫入使能信號f_en,各個方向的16位輸入數據信號data[15:0],以及從包頭提取出來的7位目標節(jié)點地址信息addr[6:0]。關鍵代碼如下所示:

        always @(posedge)

        if(data_e[1:0] ==2′b10 &&f_en == 1′b1)

        addr<= data[8:2];

        請求發(fā)生器的功能是根據輸入FIFO緩存的滿空情況,產生請求送至輪詢仲裁模塊。其信號如圖5所示,除了時鐘和復位信號外,發(fā)送路由請求信號req是由full和empty信號決定的,即輸入緩存的滿空狀況決定的。關鍵代碼如下所示:

        always @ (posedgeclk)

        if(!rst_n)req<=1′b0;

        else if(empty)req<=1′b0;

        else if(full)req<= 1′b1;

        圖4 頭地址寄存器

        圖5 請求發(fā)生器

        圖6 預路由模塊

        如圖6所示,預路由模塊根據頭地址寄存器提取出的目標節(jié)點的地址信息,分別進行解析和路由判斷,鑒別出此數據包經過路由節(jié)點的目的方向,具體傳輸哪個方向來的數據包,還要由輪詢仲裁器和路由選擇模塊決定。關鍵代碼如下:

        always @ (posedgeclk) begin

        if(ren ==1) begin

        if(addr[5:3]>x0)

        (m_en_e,m_en_s,m_en_w,m_en_n)<=6′b10000;

        else if(addr[5:3]

        (m_en_e,m_en_s,m_en_w,m_en_n)<=6′b001000;

        else if(addr[2:0]>y0)

        (m_en_e,m_en_s,m_en_w,m_en_n)<=6′b000100;

        else if(addr[2:0]

        (m_en_e,m_en_s,m_en_w,m_en_n)<=6′b010000;

        else

        (m_en_e,m_en_s,m_en_w,m_en_n)<=6′b000001;

        輪詢仲裁器的任務是在接收到路由請求后,采用優(yōu)先級輪轉的方式依次響應E(東)、S(南)、W(西)、N(北)4個方向的請求,其仲裁方式如圖7所示,關鍵代碼如下:

        case(count)

        east:

        if(a_req_e == 1′b1 &&d_fullen_e == 1′b0)

        ans_e<= 1;

        else if(a_req_s == 1′b1 &&d_emptyen_s == 1′b1)

        ans_s<= 1;

        else if(a_req_w == 1′b1 &&d_emptyen_w == 1′b1)

        ans_w<= 1;

        else if(a_req_n == 1′b1 &&d_emptyen_n == 1′b1)

        ans_n<= 1;

        else if(a_req_c == 1′b1 &&d_emptyen_c == 1′b1)

        ans_c<= 1;

        else (ans_e,ans_s,ans_w,ans_n,ans_c) <= 5′b00000;

        圖7 輪詢仲裁

        路由選擇模塊是控制邏輯的最后一個模塊,它以預路由模塊和輪詢仲裁器的輸出作為輸入信號,輸出為各個方向的使能信號,即下一級路由緩存的寫使能信號。經過預路由模塊,每個方向都會產生一組至各個方向的使能信號,在正常的路由過程中,每組信號都是one-hot形式的,且下一級只能有一個方向獲得使能,這就對下一級不同方向的路徑進行了選擇。在這種使能組信號的控制下,數據包只可能寫入下一級一個方向的輸入緩存中,至此完成數據包的傳遞過程。

        4.2.2數據邏輯模塊

        交叉開關網絡如圖8所示,由5選1的多路選擇器組成,每個多選器的輸出通往一個方向。從整體來看,每個方向都有輸入、輸出兩路,分別連接交叉開關網絡和輸入輸出緩存。

        圖8 交叉開關網絡

        在本文設計的NoC中,緩存模塊分為兩種。一種是路由節(jié)點之間的同步FIFO緩存,如圖9所示。其作用是暫存流動中的數據包,接收前一級路由發(fā)送來的寫入信號進而將數據寫入緩存,在接到本級路由發(fā)來的讀出信號后將數據包讀出,其大小由數據包大小決定(本文中為16×16位),每個路由節(jié)點都有來自東、南、西、北4個方向的輸入和輸出。數據輸入時根據上一節(jié)點的寫使能信號,將數據先緩存至輸入FIFO中,待數據包存儲滿之后,滿使能置位,發(fā)送路由請求,經過輪詢仲裁器的仲裁,得到響應后讀使能有效,將數據包按順序逐個flit傳輸,中間不間斷地讀出。

        另一種是與處理器接口相連接的異步FIFO緩存,如圖10所示。由于NoC系統(tǒng)是跨兩個時鐘域的異步系統(tǒng):一個是片上網絡,另外一個是處理單元。這兩個系統(tǒng)之間就是通過處理器接口相連接的,所以處理器接口緩存便是連接這兩個時鐘域的橋梁。因此,在本設計中,采用異步FIFO作為處理器接口的緩存單元。

        圖9 同步FIFO

        圖10 異步FIFO

        5Verilator仿真與測試

        為了對NoC模型進行測試,本文在該模型的基礎上搭建了基于NoisII軟核的4×4的16核CPU,其中,NoC在QuartusII 13.0中使用Altera公司的EP2S180F1508C5芯片的綜合結果如表2所列。本文還對該CPU在Verilator上進行了RTL級仿真,利用該CPU實現了PI運算。

        表2 NoC綜合結果

        5.1Verilator仿真

        Verilator仿真是RTL級仿真的一種,這是一個開放的源碼軟件工具,可以把RTL代碼編譯為C++代碼或SystemC模塊進行仿真的工具鏈。仿真過程為:每個軟核通過NoC向0核發(fā)送“hello world!”消息,0核收到消息后打印到GUI,仿真結果略——編者注。

        5.2性能測試

        本文采用了常用的PI算法對基于NoC模型的16核進行了性能測試。PI的運算體為pi+=W/(1.0+(0.5+i)×(0.5+i)×W2),W=4.0/N,W2=W×W/16.0,N值越大,運算的次數越多,計算結果越接近pi值。軟件算法流程如圖11所示。

        圖11 PI運算流程圖

        PI運算的測試結果略——編者注。根據T=t2-t1,得到運算時間。當N分別取10、50、100、300、500、1 000、2 000、3 000、4 000、5 000、6 000、7 000、8 000、9 000、10 000時,進行仿真,計算出T1(pi_manycore運算時間)、T2(pi_single運算時間)、加速比T2/T1。

        基于NoC模型的16核CPU與單核CPU相比,其加速比如圖12所示,隨著N值的增大,16核CPU的性能更加接近單核的15倍,說明本文設計的NoC模型性能完全滿足多CPU設計的要求。

        圖12 16核和單核的加速比

        結語

        本文設計了一種基于數控分流策略的NoC路由節(jié)點,基于該節(jié)點構建了2DMesh架構的NoC模型,并對使用該模型搭建的16核CPU進行了仿真與性能測試,測試結果表明,該模型完全實現了NoC的功能,可用于多核CPU的設計。

        編者注:本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。

        參考文獻

        [1] 張澤坤.一種NoC路由架構設計與分析[D].西安:西安電子科技大學,2011.

        [2] 徐懿,杜高明,李麗,等.基于總線的片上多處理器SoC仲裁算法研究[J].儀器儀表學報,2006,27(6).

        [3] S Wallentowitz,A Lankes,A Zaib,et al.一個開源的眾核處理器SoC框架[C]//現場可編程邏輯(FPL)第22次國際會議,2012.

        [4] 納瓦畢.Verilog數字系統(tǒng)設計-RTL綜合測試平臺與驗證[M].李廣軍,譯.北京:電子工業(yè)出版社,2007.

        [5] 汪偉.片上網絡路由節(jié)點的設計及性能分析[D].上海:上海大學,2008.

        高健(碩士),主要研究方向為嵌入式系統(tǒng)及應用;崔建明(副教授),主要研究方向為微電子學與物聯(lián)網技術。

        Gao Jian,Cui Jianming

        (College of Information Science and Engineering,Shandong University of Science and Technology,Qingdao 266590,China)

        Abstract:A node of Network on Chip(NoC) is designed,which is based on data and control separately strategy.A model based on the node is built,which adopts 2DMesh topological structure and XY way-find algorithm.The functional design of the NoC model is completed with Verilog HDL,and the RTL level simulation and testing of the 16-core CPU based on the model is carried out.The test results show that the model can complete all the functions of the NoC and suitable for a CPU which has multiplecores.

        Key words:data and control separately;2DMesh NoC;FPGA

        收稿日期:(責任編輯:薛士然2015-11-09)

        中圖分類號:TP368.1

        文獻標識碼:A

        猜你喜歡
        方向信號設計
        2022年組稿方向
        計算機應用(2022年2期)2022-03-01 12:33:42
        2021年組稿方向
        計算機應用(2021年4期)2021-04-20 14:06:36
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        2021年組稿方向
        計算機應用(2021年1期)2021-01-21 03:22:38
        完形填空二則
        瞞天過海——仿生設計萌到家
        藝術啟蒙(2018年7期)2018-08-23 09:14:18
        基于FPGA的多功能信號發(fā)生器的設計
        電子制作(2018年11期)2018-08-04 03:25:42
        設計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        基于LabVIEW的力加載信號采集與PID控制
        国产精一品亚洲二区在线播放| 好看的中文字幕中文在线| 国产91成人精品高潮综合久久| 国产亚av手机在线观看| 日韩精品无码一区二区中文字幕| 亚洲是图一区二区视频| 亚洲无人区一码二码国产内射| 女人被狂躁的高潮免费视频| 国语精品一区二区三区| 久久久久亚洲精品美女| 国产一区二区三区乱码在线| 在线视频国产91自拍| 久久精品麻豆日日躁夜夜躁| 真实国产乱视频国语| 日本一级二级三级在线| 五月开心婷婷六月综合| 东京热加勒比无码少妇| 国产日韩欧美911在线观看| 精品人妻一区二区三区不卡毛片| 国产亚洲欧洲aⅴ综合一区| 亚洲av无码一区二区三区四区 | 男女啪啪动态视频在线观看 | 精品无码久久久久久久久粉色| 亚洲小少妇一区二区三区| 优优人体大尺大尺无毒不卡| 性一交一乱一伦a片| 小13箩利洗澡无码免费视频| 人妻有码av中文幕久久| 欧美色欧美亚洲另类二区| 久青草国产在线观看| 国产黄三级三级三级三级一区二区| 日本一区二区三区视频网站| 国产麻豆精品久久一二三| 亚洲国产精品久久九色| 男人的精品天堂一区二区在线观看| 波多野结衣久久精品99e| 这里只有久久精品| 熟女乱乱熟女乱乱亚洲| 97在线视频人妻无码| 内射后入在线观看一区| 女优av福利在线观看|