一種基于fpga的srio互聯(lián)交換裝置制造方法
【專利摘要】一種基于FPGA的SRIO互聯(lián)裝置,在FPGA中設(shè)置SRIO互聯(lián)模塊、FIFO模塊和SRIO接口模塊,各源器件的數(shù)據(jù)分別經(jīng)SRIO接口模塊進(jìn)入到SRIO互聯(lián)模塊,經(jīng)過SRIO互聯(lián)模塊調(diào)度后進(jìn)入FIFO模塊,F(xiàn)IFO模塊將數(shù)據(jù)傳輸?shù)絊RIO接口模塊,SRIO接口模塊向目的器件輸出數(shù)據(jù);設(shè)SRIO接口模塊提供n個接口,每個接口支持連接一個器件,SRIO互聯(lián)模塊為每個器件提供一個仲裁器,每個仲裁器相應(yīng)設(shè)一個FIFO模塊;當(dāng)某個接口連接的器件為目的器件,目的器件相應(yīng)的仲裁器對所有源器件從接口輸入的數(shù)據(jù)按數(shù)據(jù)包進(jìn)行時分切片調(diào)度,調(diào)度后的數(shù)據(jù)包經(jīng)相應(yīng)的FIFO模塊從相應(yīng)的SRIO接口輸出。
【專利說明】—種基于FPGA的SRIO互聯(lián)交換裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于通信【技術(shù)領(lǐng)域】,尤其涉及一種基于FPGA的SRIO互聯(lián)交換裝置。
【背景技術(shù)】
[0002]Rapid IO技術(shù)是一種高速互聯(lián)總線,常用于高性能的嵌入式設(shè)備市場中的系統(tǒng)內(nèi)部互聯(lián),支持芯片到芯片和板到板的通信,而串行Rapid IO (SRIO)可以用較少的連線就能實現(xiàn)IGbps到60Gbps的性能水平,因此得到廣泛應(yīng)用。
[0003]FPGA是一種可編程的邏輯器件,具有其他ASIC(集成電路)芯片所不具有的可編程的靈活性,同時FPGA有豐富的I/O引腳,開發(fā)周期短,可靠性較高。
[0004]在一個嵌入式設(shè)備中,可能存在多個不同類型的芯片(如CPU、DSP、FPGA等)或多塊需要高速通信的板卡,這些芯片或板卡支持SRIO協(xié)議傳輸數(shù)據(jù),因此對于芯片間與板卡間的通信就需要一種SRIO互聯(lián)交換裝置,現(xiàn)有的技術(shù)常使用專用的SRIO交換芯片,一般這種芯片價格昂貴,靈活性差,占用較多的板卡面積,尤其是對于互聯(lián)芯片或板卡的數(shù)目較少時性價比較低。
【發(fā)明內(nèi)容】
[0005]針對上述問題,本發(fā)明提供一種基于FPGA的SRIO互聯(lián)交換裝置。
[0006]為實現(xiàn)上述目的,本發(fā)明采取以下技術(shù)方案:
一種基于FPGA的SRIO互聯(lián)裝置,在FPGA中設(shè)置SRIO互聯(lián)模塊、FIFO模塊和SRIO接口模塊,各源器件的數(shù)據(jù)分別經(jīng)SRIO接口模塊進(jìn)入到SRIO互聯(lián)模塊,經(jīng)過SRIO互聯(lián)模塊調(diào)度后進(jìn)入FIFO模塊,F(xiàn)IFO模塊將數(shù)據(jù)傳輸?shù)絊RIO接口模塊,SRIO接口模塊向目的器件輸出數(shù)據(jù);
設(shè)SRIO接口模塊提供n個接口,每個接口支持連接一個器件,SRIO互聯(lián)模塊為每個器件提供一個仲裁器,每個仲裁器相應(yīng)設(shè)一個FIFO模塊;當(dāng)某個接口連接的器件為目的器件,其他n-1個接口中有多個連接的器件為源器件時,目的器件相應(yīng)的仲裁器對所有源器件從接口輸入的數(shù)據(jù)按數(shù)據(jù)包進(jìn)行時分切片調(diào)度,調(diào)度后的數(shù)據(jù)包經(jīng)相應(yīng)的FIFO模塊從相應(yīng)的SRIO接口輸出。
[0007]而且,目的器件相應(yīng)的仲裁器對所有源器件從接口輸入的數(shù)據(jù)按數(shù)據(jù)包進(jìn)行時分切片調(diào)度,實現(xiàn)方式如下,
對每個源器件預(yù)設(shè)優(yōu)先級,從某源器件輸入到仲裁器的數(shù)據(jù)包依次進(jìn)行編號,對編號在前的數(shù)據(jù)包優(yōu)先傳輸,同樣編號的數(shù)據(jù)包按優(yōu)先級從高到低傳輸,包括首先按照優(yōu)先級從高到低傳輸各源器件的第一個數(shù)據(jù)包,然后按照優(yōu)先級從高到低傳輸各源器件的第二個數(shù)據(jù)包,以此類推直到最低優(yōu)先級的源器件傳輸完最后一個數(shù)據(jù)包。
[0008]而且,若多個源器件不是同時傳輸數(shù)據(jù),當(dāng)接收到新的數(shù)據(jù)包時,仲裁器對當(dāng)前數(shù)據(jù)包處理完成后,繼續(xù)對編號在前的數(shù)據(jù)包優(yōu)先傳輸,同樣編號的數(shù)據(jù)包按優(yōu)先級從高到低傳輸。[0009]而且,所述器件為芯片或板卡。
[0010]而且,所述FPGA設(shè)有高速串行收發(fā)器,源器件的數(shù)據(jù)通過高速串行收發(fā)器輸入SRIO接口模塊中的相應(yīng)SRIO接口 ;SR10接口輸出的數(shù)據(jù)通過高速串行收發(fā)器送到目的器件。
[0011]而且,SRIO接口模塊提供的接口數(shù)根據(jù)FPGA設(shè)有的高速串行收發(fā)器個數(shù)而定。
[0012]而且,
源器件從接口輸入的數(shù)據(jù)采用數(shù)據(jù)包的形式,輸入內(nèi)容包括目的器件的ID、源器件ID、地址、每個數(shù)據(jù)包的開始和結(jié)束標(biāo)志、數(shù)據(jù)包的大小及數(shù)據(jù)包的事物類型;
調(diào)度后輸入FIFO模塊的數(shù)據(jù)采用數(shù)據(jù)包的形式,輸入內(nèi)容包括目的器件的ID、源器件ID、地址、每個數(shù)據(jù)包的開始和結(jié)束標(biāo)志、數(shù)據(jù)包的大小及數(shù)據(jù)包的事物類型;
對每個數(shù)據(jù)包,F(xiàn)IFO模塊的輸出數(shù)據(jù)按照目的器件ID、源器件ID、地址、每個數(shù)據(jù)包的開始和結(jié)束標(biāo)志、數(shù)據(jù)包的大小、數(shù)據(jù)包的事物類型分拆開,并行地輸入到SRIO接口模塊,SRIO接口模塊再進(jìn)行組包。
[0013]本發(fā)明提供一種靈活性高,速度快、資源開銷小,對傳輸事物類型無限制的SRIO互聯(lián)交換裝置,以FPGA為核心部件,用硬件編程語言實現(xiàn)芯片間或板級間的以SRIO協(xié)議為基礎(chǔ)的互聯(lián)通信,本發(fā)明支持SRIO協(xié)議的所有類型事務(wù),以包為基礎(chǔ)在SRIO協(xié)議的邏輯層部分進(jìn)行數(shù)據(jù)交換,所能互聯(lián)的板卡數(shù)或芯片數(shù)受FPGA所能提供的串行收發(fā)器的限制;本發(fā)明可以替代商用的SRIO交換芯片,在FPGA作為必要器件的系統(tǒng)中可節(jié)約成本,節(jié)省板級空間。
【專利附圖】
【附圖說明】
[0014]圖1為本發(fā)明實施例的基于FPGA的SRIO互聯(lián)交換裝置的結(jié)構(gòu)圖。
[0015]圖2為本發(fā)明實施例中SRIO互聯(lián)模塊的實現(xiàn)結(jié)構(gòu)圖。
[0016]【具體實施方式】
為了使本發(fā)明實施例的目的、技術(shù)方案、優(yōu)點更加清晰,下面將結(jié)合本發(fā)明實施例和附圖來介紹本發(fā)明的技術(shù)方案。
[0017]參見附圖1,實施例所提供SRIO互聯(lián)交換裝置包括SRIO互聯(lián)模塊、FIFO模塊、SRIO接口模塊:
SRIO互聯(lián)模塊,用于將各個芯片或板卡之間的數(shù)據(jù)在FPGA內(nèi)部交換,來達(dá)到芯片間或板卡間的數(shù)據(jù)交互;
FIFO模塊,用于將SRIO互聯(lián)模塊與SRIO接口模塊隔離,同時起到數(shù)據(jù)緩沖的作用; SRIO接口模塊,用于保證FPGA以SRIO協(xié)議為基礎(chǔ)接收或發(fā)送數(shù)據(jù)。
[0018]本發(fā)明基于可編程器件FPGA實現(xiàn)SRIO互聯(lián)交換裝置,具體實施時可采用localbus (現(xiàn)場總線)接口單獨控制SRIO互聯(lián)交換裝置的復(fù)位與釋放,獨立于FPGA的其他邏輯。
[0019]所述裝置支持多個器件的互聯(lián),可適用于芯片間和電路板級的數(shù)據(jù)交互,所能連接的電路板以及芯片的個數(shù)取決于所使用的FPGA的串行收發(fā)器的數(shù)目:數(shù)據(jù)由芯片或板卡通過該芯片或板卡上的SRIO接口發(fā)送到FPGA,根據(jù)不同的速率要求可選擇相應(yīng)通道數(shù),例如單通道、雙通道和4通道,同時FPGA的每個通道的速率要和發(fā)送芯片或板卡上的SRIO模塊速率相同,由于FPGA本身高速串行收發(fā)器的限制,所能互聯(lián)的芯片和板卡數(shù)目并不是無限的,所能連接的電路板以及芯片的個數(shù)取決于所使用的FPGA的串行收發(fā)器的數(shù)目,并且在數(shù)目較少時更能體現(xiàn)出FPGA的優(yōu)勢,建議設(shè)置在5個左右。如圖1中,SRIO接口連接有n個芯片或板卡,分別記為芯片或板卡1、芯片或板卡2、芯片或板卡3…芯片或板卡n。
[0020]基于以上裝置的數(shù)據(jù)交互過程如下:
(1)數(shù)據(jù)首先進(jìn)入該裝置的SRIO接口模塊。SRIO接口模塊會將按SRIO協(xié)議的方式收發(fā)需要交互的芯片或板卡數(shù)據(jù),同時會為SRIO互聯(lián)模塊提供互聯(lián)模塊所需要的相關(guān)信息以及熱插拔所需要的相關(guān)信息。
[0021]SRIO接口模塊具體實現(xiàn)可參考現(xiàn)有技術(shù),SRIO接口模塊的接收端將會按照SRIO協(xié)議將數(shù)據(jù)包通過物理層,傳輸層,最后送到邏輯層。對每一個芯片或板卡都會設(shè)定一個唯一的器件ID與之對應(yīng),SRIO接口模塊的邏輯層不僅會收到芯片或板卡所要發(fā)送的數(shù)據(jù),同時還會收到目的器件的ID、源器件ID、地址、每個數(shù)據(jù)包的開始和結(jié)束標(biāo)志、數(shù)據(jù)包的大小及數(shù)據(jù)包的事物類型。事物類型可根據(jù)SRIO協(xié)議提供。具體實施時,本發(fā)明采用的FPGA可帶有高速串行收發(fā)器,數(shù)據(jù)通過高速串行收發(fā)器進(jìn)入到SRIO接口模塊,以便完成SRIO接口豐旲塊物理層的聞速串行收發(fā)功能。
[0022](2)數(shù)據(jù)從SRIO接口模塊的邏輯層進(jìn)入到SRIO互聯(lián)模塊,SRIO互聯(lián)模塊會根據(jù)收到的數(shù)據(jù)采用時分切片調(diào)度算法來調(diào)度所有來自于各個芯片或板卡的數(shù)據(jù),針對多個芯片或板卡同時發(fā)起數(shù)據(jù)交互請求的這種情況,SRIO互聯(lián)模塊規(guī)定了優(yōu)先級。經(jīng)過SRIO互聯(lián)模塊的調(diào)度,攜帶不同目的ID的數(shù)據(jù)將會根據(jù)優(yōu)先級按順序通過FIFO模塊進(jìn)入到SRIO接口模塊的發(fā)送端,最終進(jìn)入FIFO模塊的輸入數(shù)據(jù)是SRIO接口模塊接收端的邏輯層所收到的所有數(shù)據(jù)的組合。進(jìn)入FIFO模塊的數(shù)據(jù)除包含各個板卡或芯片間的要交換的數(shù)據(jù)外,還包括SRIO協(xié)議規(guī)定的事物類型,所要交換數(shù)據(jù)的目的器件的ID、源器件ID、地址、每個數(shù)據(jù)包的開始和結(jié)束標(biāo)志、數(shù)據(jù)包的大小及數(shù)據(jù)包的事物類型。
[0023](3) FIFO模塊用于隔離SIRO接口模塊與SRIO互聯(lián)模塊,這樣做的好處是便于單獨維護(hù)這兩個模塊,SRIO接口模塊具體實現(xiàn)可參考現(xiàn)有技術(shù)。將SRIO互聯(lián)模塊通過FIFO模塊與SRIO接口模塊隔離,可使FIFO模塊左右兩邊互不影響,便于維護(hù)SRIO互聯(lián)模塊與SRIO接口模塊,同時為互聯(lián)數(shù)據(jù)提供了緩沖,防止由于多個芯片或板卡同時請求交互數(shù)據(jù)而引起數(shù)據(jù)丟失。
[0024]由于采用了 FIFO模塊,SRIO接口模塊的時鐘與SRIO互聯(lián)模塊的時鐘可以是異步的,這樣加大了設(shè)計的靈活性。FIFO模塊會將數(shù)據(jù)按照先進(jìn)先出的模式送入到SRIO接口模塊,這樣除了 SRIO接口模塊的傳輸層可以緩沖一定量的數(shù)據(jù),F(xiàn)IFO模塊也起到了緩沖數(shù)據(jù)的作用。對每個數(shù)據(jù)包,F(xiàn)IFO模塊的輸出數(shù)據(jù)將按照目的器件ID、源器件ID、地址、每個數(shù)據(jù)包的開始和結(jié)束標(biāo)志、數(shù)據(jù)包的大小、數(shù)據(jù)包的事物類型分拆開,并行的輸入到SRIO接口模塊,SRIO接口模塊會按照上述的數(shù)據(jù)進(jìn)行組包,經(jīng)過高速串行收發(fā)器發(fā)送到指定的目的ID的芯片或板卡,從而完成了不同芯片或板卡間的SRIO互聯(lián)通信。
[0025]為便于實施參考,以下結(jié)合圖2說明實施例的SRIO互聯(lián)模塊具體實現(xiàn)方式:
所述SRIO互聯(lián)模塊,采用可編程邏輯實現(xiàn)數(shù)據(jù)互聯(lián),從而完成芯片間或板卡間的數(shù)據(jù)
交互;所進(jìn)行的數(shù)據(jù)互聯(lián)以SRIO協(xié)議所規(guī)定的包為基礎(chǔ),每個芯片或板卡傳輸?shù)臄?shù)據(jù)在SRIO互聯(lián)模塊按照一定的時分切片調(diào)度算法進(jìn)行數(shù)據(jù)交換;所述的數(shù)據(jù)交互類型支持所有的SRIO協(xié)議所規(guī)定的事物類型,包括但不限于各種寫類型和讀類型。所述時分切片調(diào)度算法為,每個芯片或板卡的數(shù)據(jù)以包為基礎(chǔ)傳輸,每個芯片或板卡預(yù)先規(guī)定好優(yōu)先級,首先傳輸高優(yōu)先級的第一個數(shù)據(jù)包,然后傳輸次優(yōu)先級的第一個包,最后傳輸最低優(yōu)先級的第一個包,然后傳輸最高優(yōu)先級的第二個數(shù)據(jù)包,以此類推直到最低優(yōu)先級的芯片或板卡傳輸完最后一個包。
[0026]實施例中,SRIO互聯(lián)模塊是有多個仲裁器模塊組成的,整個系統(tǒng)需要互聯(lián)的芯片或板卡的數(shù)目和仲裁器模塊的數(shù)目相同,每個仲裁器的組成相差不大。設(shè)SRIO接口模塊提供η個SRIO接口,分別記為SRIO接口 1、SR10接口 2…SRIO接口 η,每個SRIO接口可連接一個芯片或板卡,那么SRIO互聯(lián)模塊需相應(yīng)提供η個仲裁器,并需相應(yīng)設(shè)置η個FIFO模塊,每個仲裁器的輸出經(jīng)相應(yīng)的FIFO模塊從相應(yīng)的SRIO接口輸出。在FPGA里實現(xiàn)可以采用邏輯復(fù)制的方式實現(xiàn)η個仲裁器。如圖所示,每個仲裁器的輸出都會與SRIO接口模塊的I個SRIO接口相連,每個仲裁器的輸入都可與SRIO接口模塊的所有η個SRIO接口相連,這表明在這個有η個芯片或板卡組成的互聯(lián)交換裝置中,最多有η-1個芯片或板卡向I塊芯片或板卡傳輸數(shù)據(jù),那么η-1個芯片或板卡的數(shù)據(jù)通過相應(yīng)SRIO接口發(fā)送到目的芯片或板卡的仲裁器。
[0027]假設(shè)有N個芯片或板卡向I塊芯片或板卡傳輸數(shù)據(jù),N小于等于η-1且大于1,這種情況下又大體可分為以下幾種情景:第一是N個芯片或板卡同時向I塊芯片或板卡傳輸數(shù)據(jù);第二種情景是N個芯片或板卡并非一開始就同時向I塊芯片或板卡傳輸數(shù)據(jù),而是在時間上有先后順序;第三種情景為板卡可能出現(xiàn)熱插拔的情形。N=I就是I對I的傳輸,實現(xiàn)簡單,本發(fā)明不予贅述。
[0028]為解決以上傳輸?shù)那榫?,提供實施例的具體實現(xiàn)舉例說明如下:
為方便說明起見,可以對從某源器件輸入到仲裁器的數(shù)據(jù)包依次進(jìn)行編號,即某芯片或板卡的第一個按照SRIO協(xié)議組成的數(shù)據(jù)包編號為1,某芯片或板卡的第二個按照SRIO協(xié)議組成的數(shù)據(jù)包編號為2...對于第一種情景,多個芯片或板卡同時傳輸數(shù)據(jù),對按編號在前的數(shù)據(jù)包優(yōu)先傳輸,同樣編號的數(shù)據(jù)包按優(yōu)先級從高到低傳輸。仲裁器會對這N個芯片或板卡的數(shù)據(jù)劃分優(yōu)先級,例如將芯片或板卡I擁有最高的優(yōu)先級,芯片或板卡2擁有次一級的優(yōu)先級,……以此類推,芯片或板卡N擁有最低優(yōu)先級,當(dāng)數(shù)據(jù)進(jìn)入仲裁器時,芯片或板卡I的第一個按照SRIO協(xié)議組成的數(shù)據(jù)包將會被優(yōu)先傳輸,當(dāng)一個包傳輸完成時,芯片或板卡2的第一個按照SRIO協(xié)議組成的數(shù)據(jù)包就會傳輸,當(dāng)所有的芯片或板卡完成第一個數(shù)據(jù)包傳輸后,芯片或板卡I的第二個按照SRIO協(xié)議組成的數(shù)據(jù)包開始被傳輸,同樣按照上面的傳輸過程當(dāng)芯片或板卡N傳輸完最后一個數(shù)據(jù)包,整個傳輸過程結(jié)束。
[0029]同樣的對于第二種情景,當(dāng)接收到新的數(shù)據(jù)包時,仍采用同樣的原則對按編號在前的數(shù)據(jù)包優(yōu)先傳輸,同樣編號的數(shù)據(jù)包按優(yōu)先級從高到低傳輸,但要等待當(dāng)前正在傳輸?shù)臄?shù)據(jù)包完成。假設(shè)芯片或板卡2在芯片或板卡I傳輸?shù)?個數(shù)據(jù)包才開始傳輸數(shù)據(jù),這N個芯片或板卡的數(shù)據(jù)劃分優(yōu)先級的方式相同,也可采用上面的傳輸方法,芯片或板卡2的第I個數(shù)據(jù)包相應(yīng)編號I優(yōu)于芯片或板卡I的第2個數(shù)據(jù)包相應(yīng)編號2,只是仲裁器中在芯片或板卡I傳輸?shù)?個數(shù)據(jù)包完成之后才開始出現(xiàn)芯片或板卡2的第I個數(shù)據(jù)包。
[0030]對于第三種熱插拔的情形,可事先規(guī)定互聯(lián)的器件數(shù)目,并且事先規(guī)定好所有可接入的器件優(yōu)先級。當(dāng)一個器件拔出時,SRIO接口模塊會產(chǎn)生一個標(biāo)志輸入到SRIO互聯(lián)模塊的仲裁器中,仲裁器會使剩余器件繼續(xù)按照上述方法傳輸數(shù)據(jù)而不會受到影響,同樣的當(dāng)一個器件插入到這個系統(tǒng)時,也不影響當(dāng)前數(shù)據(jù)包的處理。具體來說,當(dāng)系統(tǒng)中有芯片復(fù)位或板卡拔出時,SRIO接口模塊會將相應(yīng)標(biāo)志發(fā)送到SRIO互聯(lián)模塊,SRIO互聯(lián)模塊會在當(dāng)前數(shù)據(jù)包傳送完畢后將這個芯片或板卡的相關(guān)傳輸端口關(guān)閉,在下一輪的數(shù)據(jù)傳輸中將不會再調(diào)度這個芯片或板卡端口的數(shù)據(jù),以此來支持板卡的熱插拔或芯片的復(fù)位;當(dāng)系統(tǒng)中有新的芯片或板卡加入時,SRIO接口模塊會將相應(yīng)標(biāo)志發(fā)送到SRIO互聯(lián)模塊,若新的芯片或板卡需要交互數(shù)據(jù),SRIO互聯(lián)模塊會在當(dāng)前數(shù)據(jù)包傳送完畢后開始傳輸新的數(shù)據(jù),這種情況也可視為第二種情形的特殊情況,在當(dāng)前數(shù)據(jù)包處理完成后,將新的芯片或板卡和已有芯片或板卡一起,采用同樣的原則對按編號在前的數(shù)據(jù)包優(yōu)先傳輸,同樣編號的數(shù)據(jù)包按優(yōu)先級從高到低傳輸。新的芯片或板卡的優(yōu)先級不一定最高,但如果新的芯片或板卡輸入的編號在前的數(shù)據(jù)包更優(yōu),則在已有芯片或板卡提供的當(dāng)前數(shù)據(jù)包傳送完畢后即行處理。
[0031]以上時分切片調(diào)度算法,在FPGA中可使用狀態(tài)機實現(xiàn)。推而廣之,由于是n塊芯片或板卡之間的互聯(lián),因此需要n個仲裁器。
[0032]綜上所述,本發(fā)明實施例提供了一種基于FPGA的SRIO互聯(lián)交換裝置實現(xiàn)的較佳方式,但本發(fā)明的范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員所能想到的替換方式均在本發(fā)明保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于FPGA的SRIO互聯(lián)裝置,其特征在于:在FPGA中設(shè)置SRIO互聯(lián)模塊、FIFO模塊和SRIO接口模塊,各源器件的數(shù)據(jù)分別經(jīng)SRIO接口模塊進(jìn)入到SRIO互聯(lián)模塊,經(jīng)過SRIO互聯(lián)模塊調(diào)度后進(jìn)入FIFO模塊,F(xiàn)IFO模塊將數(shù)據(jù)傳輸?shù)絊RIO接口模塊,SRIO接口模塊向目的器件輸出數(shù)據(jù); 設(shè)SRIO接口模塊提供η個接口,每個接口支持連接一個器件,SRIO互聯(lián)模塊為每個器件提供一個仲裁器,每個仲裁器相應(yīng)設(shè)一個FIFO模塊;當(dāng)某個接口連接的器件為目的器件,其他η-1個接口中有多個連接的器件為源器件時,目的器件相應(yīng)的仲裁器對所有源器件從接口輸入的數(shù)據(jù)按數(shù)據(jù)包進(jìn)行時分切片調(diào)度,調(diào)度后的數(shù)據(jù)包經(jīng)相應(yīng)的FIFO模塊從相應(yīng)的SRIO接口輸出。
2.根據(jù)權(quán)利要求1所述基于FPGA的SRIO互聯(lián)交換裝置,其特征在于:目的器件相應(yīng)的仲裁器對所有源器件從接口輸入的數(shù)據(jù)按數(shù)據(jù)包進(jìn)行時分切片調(diào)度,實現(xiàn)方式如下, 對每個源器件預(yù)設(shè)優(yōu)先級,從某源器件輸入到仲裁器的數(shù)據(jù)包依次進(jìn)行編號,對編號在前的數(shù)據(jù)包優(yōu)先傳輸,同樣編號的數(shù)據(jù)包按優(yōu)先級從高到低傳輸,包括首先按照優(yōu)先級從高到低傳輸各源器件的第一個數(shù)據(jù)包,然后按照優(yōu)先級從高到低傳輸各源器件的第二個數(shù)據(jù)包,以此類推直到最低優(yōu)先級的源器件傳輸完最后一個數(shù)據(jù)包。
3.根據(jù)權(quán)利要求2所述基于FPGA的SRIO互聯(lián)交換裝置,其特征在于:若多個源器件不是同時傳輸數(shù)據(jù),當(dāng)接收到新的數(shù)據(jù)包時,仲裁器對當(dāng)前數(shù)據(jù)包處理完成后,繼續(xù)對編號在前的數(shù)據(jù)包優(yōu)先傳輸,同樣編號的數(shù)據(jù)包按優(yōu)先級從高到低傳輸。
4.根據(jù)權(quán)利要求1或2或3所述基于FPGA的SRIO互聯(lián)交換裝置,其特征在于:基于FPGA的SRIO互聯(lián)交換裝置,其特征在于:所述器件為芯片或板卡。
5.根據(jù)權(quán)利要求1或2或3所述基于FPGA的SRIO互聯(lián)交換裝置,其特征在于:所述FPGA設(shè)有高速串行收發(fā)器,源器件的數(shù)據(jù)通過高速串行收發(fā)器輸入SRIO接口模塊中的相應(yīng)SRIO接口 ;SR10接口輸出的數(shù)據(jù)通過高速串行收發(fā)器送到目的器件。
6.根據(jù)權(quán)利要求5所述基于FPGA的SRIO互聯(lián)交換裝置,其特征在于:SR10接口模塊提供的接口數(shù)根據(jù)FPGA設(shè)有的高速串行收發(fā)器個數(shù)而定。
7.根據(jù)權(quán)利要求1或2或3所述基于FPGA的SRIO互聯(lián)交換裝置,其特征在于: 源器件從接口輸入的數(shù)據(jù)采用數(shù)據(jù)包的形式,輸入內(nèi)容包括目的器件的ID、源器件ID、地址、每個數(shù)據(jù)包的開始和結(jié)束標(biāo)志、數(shù)據(jù)包的大小及數(shù)據(jù)包的事物類型; 調(diào)度后輸入FIFO模塊的數(shù)據(jù)采用數(shù)據(jù)包的形式,輸入內(nèi)容包括目的器件的ID、源器件ID、地址、每個數(shù)據(jù)包的開始和結(jié)束標(biāo)志、數(shù)據(jù)包的大小及數(shù)據(jù)包的事物類型; 對每個數(shù)據(jù)包,F(xiàn)IFO模塊的輸出數(shù)據(jù)按照目的器件ID、源器件ID、地址、每個數(shù)據(jù)包的開始和結(jié)束標(biāo)志、數(shù)據(jù)包的大小、數(shù)據(jù)包的事物類型分拆開,并行地輸入到SRIO接口模塊,SRIO接口模塊再進(jìn)行組包。
【文檔編號】G06F13/26GK103530245SQ201310527634
【公開日】2014年1月22日 申請日期:2013年10月31日 優(yōu)先權(quán)日:2013年10月31日
【發(fā)明者】秦剛, 鄭璐, 王興, 張磊 申請人:武漢郵電科學(xué)研究院