• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      多核DSP系統(tǒng)高速傳輸核心的IP設(shè)計

      2013-08-27 08:33:00汪健張磊王少軒趙忠惠陳亞寧
      關(guān)鍵詞:雙口狀態(tài)機校驗

      汪健,張磊,王少軒,趙忠惠,陳亞寧

      (中國兵器工業(yè)第214研究所 蘇州研發(fā)中心,蘇州215163)

      引 言

      對于IO 互聯(lián)體系架構(gòu)的復雜要求是系統(tǒng)工程化應(yīng)用需要直接面對的挑戰(zhàn)[1]。DSP互聯(lián)技術(shù)的研究已經(jīng)成為新興的熱點問題。

      DSP之間互聯(lián)的方式有很多種,高帶寬的片間、板間互聯(lián)技術(shù)成為需要重點突破的關(guān)鍵技術(shù)。

      1 高速互聯(lián)點對點交換技術(shù)

      無論是單分段共享總線互聯(lián)系統(tǒng),還是級聯(lián)的多分段共享總線互聯(lián)系統(tǒng),在這類基于共享的總線體系結(jié)構(gòu)中,所有通信無不是在爭用總線帶寬,由此造成外設(shè)越多可用帶寬就越少,從而帶來嚴重的傳輸瓶頸[2]。不僅如此,在基于共享的并行總線上,大量的引腳數(shù)目也帶來一定的電氣特性和機械特性等問題,使得信號頻率以及信號可傳輸距離都受到很大程度的制約。

      因此,需要一種可升級的新型高性能系統(tǒng)體系結(jié)構(gòu),于是出現(xiàn)了點對點交換式總線,典型的新型總線有PCIExpress、InfiniBand、HyperTransport、RapidIO 等[3]。

      總線互聯(lián)技術(shù)的發(fā)展過程如圖1所示。其中,Infiniband的目標應(yīng)用是系統(tǒng)域(SAN)互聯(lián),系統(tǒng)域網(wǎng)絡(luò)用于構(gòu)建集群系統(tǒng)以得到更大的系統(tǒng)。RapidIO 互聯(lián)架構(gòu)是一個開放的標準,可以滿足嵌入式基礎(chǔ)設(shè)施在應(yīng)用方面的廣泛需求。HyperTransport和PCI-Express雖然具有某些與RapidIO 相同的特征,但把它們視為PC I總線的點到點版本更為恰當。

      圖1 總線互聯(lián)技術(shù)的發(fā)展過程

      在這幾種新型總線技術(shù)中,RapidIO 主要面向高性能嵌入式系統(tǒng)互聯(lián)通信,是一個開放的點對點分組交換標準,可連接多處理器、存儲器、網(wǎng)絡(luò)設(shè)備中的存儲器映射I/O器件、存儲子系統(tǒng)等。這一互聯(lián)技術(shù)可以實現(xiàn)1~60 Gbps的性能水平,可以在8對LVDS差分線上實現(xiàn)全雙工的10Gbps數(shù)據(jù)傳輸。RapidIO 以其高帶寬、低延時及具備硬件保證達99.999%的高可靠性(即系統(tǒng)處于出錯狀態(tài)的時間僅為0.001%)為多核DSP系統(tǒng)的互聯(lián)提供了良好的解決方案。

      2 基于RapidIO 多核DSP系統(tǒng)高速互聯(lián)的設(shè)計

      2.1 RapidIO IP核的設(shè)計

      RapidIO IP 核可以分為6大部分:邏輯及傳輸層協(xié)議實現(xiàn),包括負責事務(wù)組包、拆包等功能的邏輯及傳輸層模塊;物理層協(xié)議實現(xiàn),包括包的控制符號傳送、流量控制、錯誤管理等功能的物理層模塊;負責對寄存器進行讀寫操作的寄存器管理模塊;集中實現(xiàn)各層寄存器的寄存器組模塊;時鐘及復位模塊;用戶定義模塊。其結(jié)構(gòu)如圖2所示。

      圖2 RapidIO IP核的結(jié)構(gòu)

      2.2 多核DSP互聯(lián)接口總體方案

      越來越多的高速信號處理系統(tǒng)采用多DSP核進行數(shù)據(jù)運算,用可擴展的RapidIO 構(gòu)建互聯(lián)結(jié)構(gòu)是非常有效的一種方式。例如一個可擴展的4核DSP系統(tǒng),網(wǎng)絡(luò)采用4×4的mesh 拓撲結(jié)構(gòu),在4 塊芯片上實現(xiàn),芯片內(nèi)部互聯(lián)采用并行總線,芯片之間互連采用基于RapidIO 物理層協(xié)議的高速串行總線,結(jié)構(gòu)如圖3所示。

      圖3 可擴展的4核DSP互聯(lián)結(jié)構(gòu)

      這樣的設(shè)計并非把RapidIO 應(yīng)用集中,把單個芯片作為RapidIO 拓撲結(jié)構(gòu)的一個節(jié)點,而是把整個片上網(wǎng)絡(luò)作為RapidIO 拓撲結(jié)構(gòu)的一個節(jié)點。網(wǎng)絡(luò)內(nèi)部的協(xié)議完全自定義,不僅能利用RapidIO 接口對基于片上網(wǎng)絡(luò)架構(gòu)的多核DSP系統(tǒng)作片外擴展,又能使片上網(wǎng)絡(luò)的拓撲結(jié)構(gòu)不依賴于RapidIO 獨立設(shè)計。因為在RapidIO 的拓撲結(jié)構(gòu)中,數(shù)據(jù)交換的單元是交換開關(guān),而本設(shè)計中數(shù)據(jù)交換由獨立于RapidIO 協(xié)議的路由器來完成。如果需要兼容其他的總線協(xié)議,只需要更改網(wǎng)絡(luò)接口的設(shè)計,極大地簡化了工作。

      2.3 4核DSP網(wǎng)絡(luò)接口的結(jié)構(gòu)

      為了實現(xiàn)多核DSP之間的數(shù)據(jù)通信,互聯(lián)接口必須能夠解析來自片上網(wǎng)絡(luò)的數(shù)據(jù)包并轉(zhuǎn)換成RapidIO IP 核所需要的數(shù)據(jù)格式,或者接收來自RapidIO IP 核的數(shù)據(jù),并按照網(wǎng)絡(luò)協(xié)議組裝成數(shù)據(jù)包在網(wǎng)絡(luò)上發(fā)送,實現(xiàn)片上網(wǎng)絡(luò)同片外DSP 核的通信?;ヂ?lián)接口要支持不同時鐘域的數(shù)據(jù)傳輸,滿足片上網(wǎng)絡(luò)全局異步、局部同步的時鐘要求,還需要能夠檢測來自網(wǎng)絡(luò)數(shù)據(jù)包的錯誤,保證可靠傳輸,并使用基于信用量的流控機制,防止緩沖器溢出造成數(shù)據(jù)丟失。網(wǎng)絡(luò)接口使用多個虛通道技術(shù)緩解網(wǎng)絡(luò)死鎖,提高網(wǎng)絡(luò)的吞吐率。根據(jù)這些要求設(shè)計的多核DSP互聯(lián)接口結(jié)構(gòu)如圖4所示。

      圖4 多核DSP互聯(lián)接口的結(jié)構(gòu)

      4個DSP 通過串行RapidIO 互相連接起來,在幾個DSP 內(nèi)部利用串行RapidIO 協(xié)議,數(shù)據(jù)在幾個DSP 之間高速運轉(zhuǎn)。另外,還可以通過一個外部的控制處理器來實現(xiàn)控制這幾個DSP 的一些功能,可根據(jù)需要給每個DSP分配不同的算法模塊,對多個DSP 進行負載均衡,從而實現(xiàn)更高的運算效率。

      3 RapidIO 專用電路中核心IP模塊設(shè)計

      RapidIO 協(xié)議可以用大規(guī)模集成電路來實現(xiàn),通過協(xié)議本身的控制作用完成對數(shù)據(jù)通路的控制作用[4]。因此RapidIO 專用集成電路就是基于這個協(xié)議的框架結(jié)構(gòu),從根本上解決嵌入式系統(tǒng)互連的通信問題,從而提高系統(tǒng)的整體性能。

      3.1 發(fā)送和接收IP模塊設(shè)計

      發(fā)送和接收模塊主要圍繞采用的雙端口存儲器進行復雜的控制邏輯設(shè)計。根據(jù)協(xié)議的要求,可在RapidIO 專用電路的雙口SRAM 中規(guī)定一個口寫數(shù)據(jù),一個口讀數(shù)據(jù),從而降低控制邏輯設(shè)計的復雜性。在本設(shè)計中規(guī)定A口是只寫的,而B口是只讀的,它們的數(shù)據(jù)寬度為32位,深度為1 024。

      3.1.1 發(fā)送緩沖IP模塊設(shè)計

      在雙口SRAM 的外圍設(shè)計了較復雜的控制邏輯構(gòu)成發(fā)送緩沖區(qū),A 口和B口的地址計數(shù)器的地址由兩部分組成:ID號和地址遞加計數(shù)邏輯。A 口的輸入數(shù)據(jù)來自于RapidIO 封裝的數(shù)據(jù)幀,而B 口的輸出數(shù)據(jù)又被送到了RapidIO 發(fā)送狀態(tài)機內(nèi),只不過B 口的數(shù)據(jù)是需要重發(fā)的數(shù)據(jù)。

      因為RapidIO 數(shù)據(jù)幀最大為68個雙字,發(fā)送窗口數(shù)被設(shè)計成7,所以已經(jīng)發(fā)送的數(shù)據(jù)在這個雙口SRAM 中是分段保存的。當RapidIO 發(fā)送狀態(tài)機開始發(fā)送數(shù)據(jù),同時對數(shù)據(jù)進行封裝時,A 口的寫信號有效,并且A 口的計數(shù)器進行遞增計數(shù),遞增計數(shù)器和段地址構(gòu)成了A 口的有效地址。這樣已發(fā)送的數(shù)據(jù)就被保存在這個以雙口SRAM 為核的緩沖區(qū)隊列中(最多為476 個雙字數(shù)據(jù))。在這個雙口SRAM 的外圍設(shè)計了段指示變量用來指示在該段中保存字數(shù)據(jù)的個數(shù)(因為發(fā)送的數(shù)據(jù)可能有不夠256個字節(jié),即64個雙字的情況)。

      相鄰節(jié)點返回的數(shù)據(jù)響應(yīng)幀內(nèi),包含相鄰節(jié)點希望接收的下一個數(shù)據(jù)幀的序號ID,當數(shù)據(jù)響應(yīng)幀類型為data not accept或data retry類型時,激活了發(fā)送狀態(tài)機內(nèi)的重發(fā)機制,B口當前地址和A 口的段指示變量進行比較,當B口的當前地址和A 口相應(yīng)的段指示變量相等時,通知發(fā)送狀態(tài)機該數(shù)據(jù)已經(jīng)被重新發(fā)送完畢,結(jié)束幀的發(fā)送。只有該幀數(shù)據(jù)的正確的響應(yīng)幀被接收到時,A 口才能繼續(xù)發(fā)送新的數(shù)據(jù),并且發(fā)送緩沖區(qū)的窗口向前滑動。通過使用這種方法,已發(fā)送的數(shù)據(jù)就源源不斷地保存在這個緩沖區(qū)隊列中,而且不會丟失。

      3.1.2 接收緩沖IP模塊設(shè)計

      在雙口SRAM 的周圍加入了一些外圍的控制電路構(gòu)成了接收緩沖區(qū)。雙口SRAM 的A 口和接收狀態(tài)機相連,雙口SRAM 的B 口和處理器接口相連。A 口和B口分別使用了地址計數(shù)邏輯。接收緩沖IP 模塊如圖5所示。

      由于RapidIO 的一個數(shù)據(jù)幀是以272字節(jié)封裝的,并且在數(shù)據(jù)幀的第80個字節(jié)處插入了一個CRC校驗序列,這樣就增加了判斷的難度。當接收機開始接收數(shù)據(jù)幀內(nèi)嵌入的第一個CRC 校驗序列時,通過接收狀態(tài)機進行判斷:當接收到的第一個CRC 校驗序列和接收狀態(tài)機本地產(chǎn)生的CRC一樣時,A 口的地址計數(shù)電路繼續(xù)計數(shù);當接收到的第一個CRC 校驗序列和接收狀態(tài)機本地產(chǎn)生的CRC 不一樣時,說明前面接收到的數(shù)據(jù)是無效的,此時地址計數(shù)電路停止計數(shù),并且地址指示變量減去20。

      圖5 接收緩沖IP模塊

      當接收完一個數(shù)據(jù)幀內(nèi)的所有有效數(shù)據(jù)時(不包括數(shù)據(jù)幀末尾的CRC校驗碼),地址計數(shù)電路停止計數(shù),同時在接收狀態(tài)機內(nèi)進行判斷:當接收到的數(shù)據(jù)幀末尾的CRC 校驗序列和接收狀態(tài)機本地產(chǎn)生的CRC 校驗序列一致時,地址指示變量的值不變;當接收到的數(shù)據(jù)幀末尾的CRC 校驗序列和接收狀態(tài)機本地產(chǎn)生的CRC 校驗序列不一致時,地址指示變量減63(標準的數(shù)據(jù)幀內(nèi)的有效數(shù)據(jù)是64 個字)。通過這樣的方法在由這個雙口SRAM構(gòu)造的接收數(shù)據(jù)緩沖區(qū)內(nèi)保存了一個完整有效的數(shù)據(jù)幀。

      3.2 發(fā)送/接收狀態(tài)機

      發(fā)送狀態(tài)機和接收狀態(tài)機模塊包含了RapidIO 協(xié)議的差錯控制和流量控制的功能。差錯控制功能主要是通過使用CRC 校驗機制和定時器機制來完成的。發(fā)送狀態(tài)機和接收狀態(tài)機是通過相互交換內(nèi)部信息來實現(xiàn)對數(shù)據(jù)進行差錯控制和流量控制的,如圖6所示。

      圖6 發(fā)送和接收狀態(tài)機設(shè)計原理

      3.2.1 發(fā)送狀態(tài)機模塊設(shè)計

      如圖6所示,來自處理器接口的原始數(shù)據(jù)依次傳送到RapidIO 的邏輯層和物理層時,在數(shù)據(jù)的頭部封裝了地址、序號和長度等頭部信息,同時發(fā)送狀態(tài)機得到每個數(shù)據(jù)的CRC 碼;當數(shù)據(jù)大于80個字節(jié)時,在第80 個字節(jié)的后面插入1個CRC 碼,然后在該數(shù)據(jù)幀的尾部插入1個CRC 碼,這樣就將一個原始的數(shù)據(jù)轉(zhuǎn)換成了1個RapidIO數(shù)據(jù)幀,然后將這個封裝的數(shù)據(jù)幀傳到串行化數(shù)據(jù)模塊進行發(fā)送。

      如果數(shù)據(jù)幀被對方節(jié)點正確的接收,則發(fā)送端口可以繼續(xù)發(fā)送數(shù)據(jù);如果數(shù)據(jù)幀被對方拒絕接收,則停止數(shù)據(jù)的繼續(xù)發(fā)送,并且接收端口和發(fā)送端口通過同步控制幀重新進行端口同步,當這種同步重新建立后發(fā)送端口才可以繼續(xù)發(fā)送數(shù)據(jù);在發(fā)送狀態(tài)機模塊中采用了滑動窗口技術(shù),一方面可大大提高數(shù)據(jù)的吞吐量;另一方面可以盡量避免由于接收方緩沖區(qū)資源不足而導致的多次發(fā)送失敗。

      3.2.2 接收狀態(tài)機模塊設(shè)計

      當接收到數(shù)據(jù)幀后,對接收到的數(shù)據(jù)幀通過CRC 校驗機制進行錯誤檢查,同時得到幀的序號和設(shè)備號等信息,并且將數(shù)據(jù)幀的接收狀態(tài)通知本地發(fā)送端口,由本地發(fā)送端口根據(jù)接收數(shù)據(jù)的狀態(tài)作出判斷,然后向?qū)Ψ焦?jié)點設(shè)備發(fā)送響應(yīng)幀信號。

      當接收狀態(tài)機接收到一個完整的消息后,則由接收狀態(tài)機向本地處理器接口發(fā)出中斷信號,通知處理器將接收緩沖區(qū)內(nèi)的數(shù)據(jù)取出;當接收狀態(tài)機接收到控制幀后,根據(jù)控制幀的類型作出判斷,如果是錯誤數(shù)據(jù)的響應(yīng)幀,則本地發(fā)送端口和接收端口同時處于停止發(fā)送和接收數(shù)據(jù)狀態(tài),并且通知本地發(fā)送端口發(fā)送link請求幀和link相應(yīng)幀,使得接收和發(fā)送鏈路重新建立連接;如果是用于鏈路控制的控制幀,則本地發(fā)送端口根據(jù)接收到的控制幀類型向相鄰節(jié)點發(fā)送相應(yīng)的響應(yīng)控制幀。

      3.3 時鐘信號設(shè)計

      RapidIO 協(xié)議規(guī)定使用雙數(shù)據(jù)時鐘發(fā)送和接收數(shù)據(jù)。在專用電路內(nèi)的時鐘布局分為發(fā)送時鐘模塊和接收時鐘模塊兩大子模塊。對時鐘的分頻和倍頻是通過專用集成電路內(nèi)的數(shù)字時鐘管理器DCM 完成的。來自處理器的輸出時鐘要驅(qū)動專用電路芯片和其他外設(shè),所以在專用電路的內(nèi)部加入PLL,保證輸出時鐘能提供足夠的時鐘頻率、驅(qū)動能力和較陡的時鐘邊沿。時鐘資源在專用電路內(nèi)的布局如圖7所示。

      圖7 時鐘布局圖

      發(fā)送時鐘模塊的主要功能包括:

      ①使用DCM 的相移功能,提供RapidIO 發(fā)送數(shù)據(jù)合適的采樣時鐘相位,包括從發(fā)送緩沖區(qū)將數(shù)據(jù)提取出來,以及在發(fā)送數(shù)據(jù)前提供的較好的冗余時鐘相位,保證時鐘能正確地采集發(fā)送的數(shù)據(jù)和幀同步信號。

      ②在進行數(shù)據(jù)串行化的時候,通過DCM 的倍頻功能將上層模塊的數(shù)據(jù)發(fā)送變成雙數(shù)據(jù)進行發(fā)送,即時鐘的上沿和下沿同時發(fā)送數(shù)據(jù)。

      ③通過差分引腳將LVTTL 發(fā)送時鐘變?yōu)長VDS差分時鐘進行發(fā)送。

      接收時鐘模塊中的主要功能包括:

      ①接收到的差分LVDS時鐘轉(zhuǎn)換為LVTTL時鐘。

      ②對接收到的時鐘信號通過DCM 對其進行分頻,以便能夠正確地將接收到的DDR數(shù)據(jù)轉(zhuǎn)化為SDR數(shù)據(jù)。

      ③對接收到的時鐘通過DCM 進行相位移動,以便為接收緩沖區(qū)正確地接收數(shù)據(jù)提供正確的采樣時鐘相位。

      除了此處提到的模塊,RapidIO 協(xié)議專用集成電路內(nèi)部還有串行和并行模塊,接口模塊等,在此就不一一介紹了。

      結(jié) 語

      適用于多核DSP系統(tǒng)的高速互聯(lián)接口對于研究多核的體系結(jié)構(gòu)具有實際意義。研制滿足RapidIO 協(xié)議的專用集成電路不僅可以快速實現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu),而且可以降低系統(tǒng)的功耗,提高可靠性,具有很好的應(yīng)用價值。

      [1]李瓊.IO 互聯(lián)技術(shù)及體系結(jié)構(gòu)的研究與發(fā)展[J].計算機工程,2006,32(2).

      [2]高尚.串行RapidIO 技術(shù)在GNC領(lǐng)域中的應(yīng)用分析[J].航空計算技術(shù),2011,41(1).

      [3]Rapid IO Trade Association.Rapid IO Interconnect Specification,2002.

      [4]梁基.基于RapidIO 的高性能通信接口的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2009(7).

      [5]Rapid IO Trade Association.Rapid IO Interconnect Specification Part V I:Physical Layer 1x/4xLP2Serial Specification Rev 1.2,2006.

      [6]Huang W,Santhanaraman G,Jin H W,et al.Design and implementation of high performance MVAPICH2:MPI2over InfiniBand[C]//Int'l Symposium on Cluster Computing and the Grid(CCGrid).Singapore,2006.

      [7]Rapid IO Trade Association.Rap id IO Interconnect Specification Part II:Message Passing Logical Specification Rev 2002 1.2,2006.

      [8]Kamal H ,Penoff B,Wagner A.SCTP versus TCP for MPI[C]//In Supercomputing'05:Proceedings of the 2005 ACM/IEEE conference on Supercomputing.Washington D.C.,2005.

      [9]RapidIO Trade Association.Rapid IO:an embedded system component network architecture[EB/OL].(2009-02-22)[2012-09].http://www.rapidio.org.

      猜你喜歡
      雙口狀態(tài)機校驗
      雙口形式的戴維寧定理在電路分析中的應(yīng)用
      基于有限狀態(tài)機的交會對接飛行任務(wù)規(guī)劃方法
      雙口RAM在機載嵌入式系統(tǒng)中的應(yīng)用
      電子測試(2018年4期)2018-05-09 07:28:10
      爐溫均勻性校驗在鑄鍛企業(yè)的應(yīng)用
      大型電動機高阻抗差動保護穩(wěn)定校驗研究
      電測與儀表(2015年1期)2015-04-09 12:03:02
      基于加窗插值FFT的PMU校驗方法
      鍋爐安全閥在線校驗不確定度評定
      雙口RAM讀寫正確性自動測試的有限狀態(tài)機控制器設(shè)計方法
      雙口RAM在無人機三余度飛控計算機數(shù)據(jù)交換中的應(yīng)用
      FPGA設(shè)計中狀態(tài)機安全性研究
      黑龍江科學(2011年2期)2011-03-14 00:39:36
      桃源县| 江北区| 雅安市| 宝应县| 裕民县| 建宁县| 疏附县| 娄底市| 扎鲁特旗| 塔城市| 滕州市| 兴城市| 香格里拉县| 岱山县| 中江县| 克山县| 云阳县| 子长县| 诏安县| 台前县| 安义县| 垫江县| 绥芬河市| 呼图壁县| 临洮县| 武义县| 太保市| 吉安市| 大余县| 高州市| 东乌珠穆沁旗| 镶黄旗| 鄂州市| 永春县| 台北市| 南澳县| 思茅市| 巨野县| 育儿| 内江市| 威宁|