專利名稱::一種多路數(shù)據(jù)傳輸?shù)姆椒跋到y(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)據(jù)傳輸領(lǐng)域,尤其涉及一種多路數(shù)據(jù)傳輸?shù)姆椒跋到y(tǒng)。
背景技術(shù):
:隨著數(shù)字技術(shù)的M,設(shè)計和生產(chǎn)了越來越多的大規(guī)模集成電路,例如現(xiàn)場可編程門陣列(FieldProgrammableGateArray,FPGA)、復(fù)雜可編程邏輯器件(ComplexProgrammableLogicDevice,CPLD)、以及專用集成電3各(ApplicationSpecificIntegratedCircuits,ASIC)等等。利用這些大規(guī)模集成電路可以組成多i^t據(jù)處理系統(tǒng),進(jìn)行多iWi:據(jù)的傳輸,例如以太網(wǎng)交換機(jī)中的數(shù)據(jù)幀交換、數(shù)據(jù)幀緩存和數(shù)據(jù)幀統(tǒng)計;圖像信號處理系統(tǒng)中的多路圖傳凝存、處理和傳輸?shù)鹊?。參見圖1,多^t據(jù)的傳輸模型包括數(shù)據(jù)發(fā)送端100、數(shù)據(jù)接收端200、公共存儲介質(zhì)單元300、讀寫仲裁單元400、寫入端口仲裁單元500和讀出端口仲裁單元600。其中,數(shù)據(jù)發(fā)送端100包括多個端口,數(shù)據(jù)接收端200包括多個端口。這樣,多鴻^t據(jù)傳輸?shù)倪^程包括讀寫仲裁單元400接到數(shù)據(jù)發(fā)送端IOO至少一個端口;^的寫入請求和/或數(shù)據(jù)接收端200至少一個端口發(fā)起的讀出請求后,判斷是iiA寫操作周期,還是讀操作周期;當(dāng)i^寫操作周期時,寫入端口仲裁單元500確定數(shù)據(jù)發(fā)送端100中,向公共存儲介質(zhì)單元300中寫入數(shù)據(jù)的端口,然后根據(jù)確定的端口向公共存儲介質(zhì)單元300中寫入數(shù)據(jù);當(dāng)ii^讀操作周期時,讀出端口仲裁單元600確定數(shù)據(jù)接收端200中,從公共存儲介質(zhì)單元300中讀出數(shù)據(jù)的端口,然后根據(jù)確定的端口從公共存儲介質(zhì)單元300中讀出數(shù)據(jù)。目前,當(dāng)讀寫仲裁單元400同時接到寫入請求和讀出請求時,判斷是ii^寫操作周期,還是讀操作周期的讀寫仲裁方法包括固定比例讀寫仲裁和寫操作優(yōu)先讀寫仲裁。所述固定比例讀寫仲裁是指讀操作周期和寫操作周期呈一固定比例。例如m,1:2,3:2等等。所述寫操作優(yōu)先讀寫仲裁是指寫操作請求比讀操作請求優(yōu)先級更高,那么如果同時有讀寫操作請求,則優(yōu)先響應(yīng)寫操作請求,從而確保傳輸數(shù)據(jù)能及時寫入公共存儲介質(zhì)單元300。數(shù)據(jù)發(fā)送端100和數(shù)據(jù)接收端200中的各個端口內(nèi)都有緩存區(qū)FIFO,存儲需要進(jìn)行傳輸?shù)臄?shù)據(jù),因此,寫入端口仲裁單元500確定數(shù)據(jù)發(fā)送端IOO中,向公共存儲介質(zhì)單元300中寫入數(shù)據(jù)的端口,以及讀出端口仲裁單元600確定數(shù)據(jù)接收端200中,從公共存儲介質(zhì)單元300中讀出數(shù)據(jù)的端口的端口仲裁方法包括根據(jù)每個端口FIFO中的數(shù)據(jù)水線進(jìn)行仲裁,其中,翁:據(jù)水線是存儲單元中數(shù)據(jù)量多少的^^t,這樣,從FIFO中數(shù)據(jù)水線最高的端口進(jìn)行數(shù)據(jù)傳輸。但是,目前多路數(shù)據(jù)傳輸?shù)倪^程中讀寫仲裁方法以及端口仲裁方法還存在以下不足之處1、如圖2,仲裁操作與數(shù)據(jù)讀寫操作串行。這種情況下,每次數(shù)據(jù)讀寫操作之前都進(jìn)行一次端口仲裁操作,那么無疑將占用公共存儲介質(zhì)單元的數(shù)據(jù)帶寬。如果仲裁操作周期過多,那么必將使得公共存儲介質(zhì)單元的帶寬利用率大大降低。2、各路的數(shù)據(jù)流量不均衡將會導(dǎo)致各個端口內(nèi)緩存FIFO的彩:據(jù)水線不同。如果單純的通過以數(shù)據(jù)水線高低來進(jìn)行端口仲裁單元,那么數(shù)據(jù)流量較小的端口,由于其內(nèi)部FEFO的數(shù)據(jù)水線較低,將長時間不能進(jìn)行數(shù)據(jù)傳輸。這在多路數(shù)據(jù)傳輸中明顯是不合理的。3、理想情況下,讀寫操作周期應(yīng)該是均衡的,采用固定比例l:l進(jìn)行讀寫仲裁單元,這樣寫入公共存儲介質(zhì)單元的數(shù)據(jù)才能被及時的讀出,從而減少數(shù)據(jù)傳輸?shù)难訒r。但是,如果出現(xiàn)公共存儲介質(zhì)單元的數(shù)據(jù)操作帶寬不夠的情況,就很難滿足這個操作比例。這時為了避免傳輸流量峰值時數(shù)據(jù)丟失,往往需要先設(shè)置寫操作周期優(yōu)先,隨著公共存儲介質(zhì)單元中數(shù)據(jù)水線上升到一定程度,再設(shè)置讀操作周期優(yōu)先。但是,這種絕對的優(yōu)先設(shè)置將使得讀寫操作周期比例嚴(yán)重失衡,在數(shù)據(jù)傳輸初期,寫入操作占主導(dǎo)地位,沒有從公共存儲介質(zhì)單元讀出數(shù)據(jù),這樣容易造成下游數(shù)據(jù)傳輸模塊的閑置;在數(shù)據(jù)傳輸后期,讀出才喿作占主導(dǎo)地位,這樣容易造成下游數(shù)據(jù)傳輸模塊的擁塞。
發(fā)明內(nèi)容有鑒于此,本發(fā)明實施例提供一種多鴻^i:據(jù)傳輸?shù)姆椒?,用以解決現(xiàn)有技術(shù)中由于端口仲裁不合理造成多iMt據(jù)傳輸效率低的問題。本發(fā)明實施例提供的一種多路數(shù)據(jù)傳輸?shù)姆椒?,?yīng)用于多路數(shù)據(jù)傳輸系統(tǒng)中,所述多路數(shù)據(jù)傳輸系統(tǒng)包括向公共存儲介質(zhì)單元寫入數(shù)據(jù)的數(shù)據(jù)發(fā)送端,以及從公共存儲介質(zhì)單元讀出數(shù)據(jù)的數(shù)據(jù)接收端,該方法包括根據(jù)數(shù)據(jù)量與容量檔位的對應(yīng)關(guān)系,確定所述數(shù)據(jù)發(fā)送端或數(shù)據(jù)接收端中每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位;根據(jù)每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否滿足設(shè)定條件,確定待選容量檔位;在所述待選容量檔位對應(yīng)的端口中,確定進(jìn)行寫入或讀出操作的端口;采用確定的端口向所述公共存儲介質(zhì)單元寫入數(shù)據(jù)或從所述公共存儲介質(zhì)單元讀出數(shù)據(jù)。本發(fā)明實施例提供的一種多5^:據(jù)傳輸?shù)南到y(tǒng),包括向公共存儲介質(zhì)單元寫入數(shù)據(jù)的數(shù)據(jù)發(fā)送端,以及從公共存儲介質(zhì)單元讀出數(shù)據(jù)的數(shù)據(jù)接收端,該系統(tǒng)還包括端口仲裁單元,用根據(jù)數(shù)據(jù)量與容量檔位的對應(yīng)關(guān)系,確定所述數(shù)據(jù)發(fā)送端或數(shù)據(jù)接收端中每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位,根據(jù)每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否滿足設(shè)定條件,確定待選容量檔位,在所述待選容量檔位對應(yīng)的端口中,確定進(jìn)^亍寫入或讀出^^作的端口;讀寫操作單元,用于采用確定的端口向所述公共存儲介質(zhì)單元寫入數(shù)據(jù)或從所述公共存儲介質(zhì)單元讀出數(shù)據(jù)。本發(fā)明實施例中,每次寫入或讀取#:作時,確定每個端口緩存數(shù)據(jù)量對應(yīng)的容量檔位,根據(jù)每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否滿足設(shè)定條件,確定待選容量檔位,在所述待選容量檔位對應(yīng)的端口中,選擇一個端口進(jìn)行讀或?qū)懖僮?,這樣,可以通過等待時間片計數(shù)器的控制,在保證高容量檔位的端口優(yōu)先進(jìn)行讀或?qū)懖僮魍瑫r,也為處于低容量檔位的端口分配了一定的數(shù)據(jù)傳輸帶寬。圖1為現(xiàn)有技術(shù)多^lt據(jù)傳輸模型示意圖2為現(xiàn)有技術(shù)讀寫操作時序示意圖3為本發(fā)明實施例讀寫仲裁流程圖4為本發(fā)明實施例端口FIFO水線圖5為本發(fā)明實施例多i^it據(jù)傳輸流程圖6為本發(fā)明實施例FPGA多鴻教據(jù)傳輸模型示意圖7為本發(fā)明實施例FPGA讀寫仲裁流程圖8為本發(fā)明實施例FPGA多^:據(jù)傳輸^^呈圖9為本發(fā)明實施例非最高容量檔位對應(yīng)的等待時間片計數(shù)器工作流程圖;圖IO為本發(fā)明實施例讀寫操作時序示意圖;圖11為本發(fā)明實施例多^lt據(jù)傳輸系統(tǒng)結(jié)構(gòu)圖。具體實施例方式本發(fā)明實施例中,在多贈^t據(jù)傳輸系統(tǒng)中,首先需確定讀或?qū)懖僮髦芷冢缓螽?dāng)進(jìn)#^或?qū)懖僮鲿r,根據(jù)每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否滿足設(shè)定條件,進(jìn)行端口仲裁,#從仲裁的端口進(jìn)行數(shù)據(jù)的傳輸。多路數(shù)據(jù)傳輸系統(tǒng)中包括向公共存儲介質(zhì)單元寫入數(shù)據(jù)的數(shù)據(jù)發(fā)送端,以及從公共存儲介質(zhì)單元讀出數(shù)據(jù)的數(shù)據(jù)接收端,其中數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端都包括一個或多個端口;或者,多蹈Jt據(jù)傳輸系統(tǒng)包括多個端口,這些端口既可以是數(shù)據(jù)發(fā)送端,也可以是數(shù)據(jù)接收端。對于公共存儲介質(zhì)單元為片內(nèi)單口隨機(jī)訪問存儲器的多iMt據(jù)傳輸系統(tǒng),確據(jù)每個端口緩存數(shù)據(jù)對應(yīng)的容量檔位,進(jìn)行讀寫仲裁,參見圖3,根據(jù)每個端口緩存數(shù)據(jù)對應(yīng)的容量檔位,進(jìn)行讀寫仲裁過程包括步驟301:根據(jù)數(shù)據(jù)量與容量檔位的對應(yīng)關(guān)系,確定數(shù)據(jù)發(fā)送端每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位。首先,獲取多路數(shù)據(jù)傳輸系統(tǒng)數(shù)據(jù)發(fā)送端每個端口緩存的數(shù)據(jù)量。然后,根據(jù)設(shè)定的數(shù)據(jù)量與容量檔位的對應(yīng)關(guān)系,確定每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位。每個端口都有緩沖區(qū)FIFO,用來存儲需要進(jìn)行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)。FIFO的數(shù)據(jù)量的多少可以用容量檔位來表示。這里,將FIFO中數(shù)據(jù)量劃分為幾個檔,每個容量檔位都用數(shù)據(jù)水線高^f氐來表示。如圖4,端口1FIFO中數(shù)據(jù)量低于水線1,則容量檔位屬于第0檔;端口n-lFIFO中數(shù)據(jù)量在水線1和水線2之間,則容量檔位屬于第1檔;端口0FIFO中數(shù)據(jù)量在水線2和水線3之間,則容量檔位屬于第2檔;端口nFIFO中數(shù)據(jù)量高于水線3之間,則容量檔位屬于第3檔。當(dāng)然數(shù)據(jù)的容量檔位的劃分不限于此,可以用兩條水線將其劃分為三檔,也可以用四條水線將其劃分為五檔。這樣,可以用水線的檔位來表示端口FIFO數(shù)據(jù)量的容量檔位。步驟302:確定寫操作周期與讀操作周期的比例值,也就是讀寫權(quán)值比例。獲取了每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位后,首先比較獲取的每個端口對應(yīng)的容量檔位的高低,得到最高容量檔位,然后根據(jù)保存的容量檔位與讀寫權(quán)值比例的對應(yīng)關(guān)系,確定最高容量檔位對應(yīng)的讀寫權(quán)值比例。這里,容量檔位與讀寫權(quán)值比例可以——對應(yīng),如容量檔位劃分成5檔,容量檔位為0,對應(yīng)的讀寫權(quán)值比例為1,容量檔位為1,對應(yīng)的讀寫權(quán)值比例為2,這才沐次類推,但是當(dāng)容量檔位為5時,則表明端口緩存數(shù)據(jù)已經(jīng)很多了,必須要進(jìn)行寫操作了,因此,容量檔位為5對應(yīng)的讀寫權(quán)值比例為非常規(guī)制,如零,或者無窮大。步驟303:根據(jù)確定的讀寫權(quán)值比例,分配ii7^讀或?qū)懙牟僮髦芷凇.?dāng)讀寫權(quán)值比例為N,N為正常數(shù)值時,讀寫仲裁結(jié)果為進(jìn)行N次寫操作后,執(zhí)行一次讀4喿作。當(dāng)讀寫周期的比例值不是正常值,例如為零時,讀寫仲裁結(jié)果為,直接執(zhí)行寫^^作。對于公共存儲介質(zhì)單元為片內(nèi)雙口隨機(jī)訪問存儲器的多,據(jù)傳輸系統(tǒng),公共存儲介質(zhì)單元的讀端口與寫端口不同,不需要進(jìn)行讀寫仲裁,其讀/寫操作周期也是確定。上述實施例中,已經(jīng)對讀或?qū)懙牟僮髦芷谶M(jìn)行了仲裁,這樣在確定了讀/寫操作周期的多路數(shù)據(jù)傳輸系統(tǒng)中,進(jìn)行一次多路數(shù)據(jù)傳輸也就進(jìn)行一次讀或?qū)懖僮鳎瑓⒁妶D5,進(jìn)行一次寫操作的具體過程如下步驟501:根據(jù)數(shù)據(jù)量與容量檔位的對應(yīng)關(guān)系,確定數(shù)據(jù)發(fā)送端中每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位。首先,確定數(shù)據(jù)發(fā)送端中每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位,同樣可以用水線的檔位來表示端口FIFO數(shù)據(jù)量的容量檔位。然后,統(tǒng)計每個容量檔位對應(yīng)的端口。例如,數(shù)據(jù)發(fā)送端包括端口有1~8,根據(jù)FIFO中的水線劃分,端口1對應(yīng)的容量檔位為3、端口2對應(yīng)的容量檔位為2、端口3對應(yīng)的容量檔位為0、端口4對應(yīng)的容量檔位為0、端口5對應(yīng)的容量檔位為2、端口6對應(yīng)的容量檔位為1、端口8對應(yīng)的容量檔位為2、端口7對應(yīng)的容量檔位為3;這樣,容量檔位0對應(yīng)的端口3和端口4,容量檔位1對應(yīng)的端口6、容量檔位2對應(yīng)的端口2、5和端口8,容量檔位3對應(yīng)的端口l和端口7。這里,還可以統(tǒng)計每個容量檔位對應(yīng)的具有傳輸條件的端口。當(dāng)一個端口有數(shù)據(jù)傳輸請求,以及該端口的下游數(shù)據(jù)接口可以接收數(shù)據(jù),就可以確定該端口具備數(shù)據(jù)傳輸^f牛。例如根據(jù)FIFO中的水線劃分,端口l對應(yīng)的容量檔位為3、端口3對應(yīng)的容量檔位為0、端口4對應(yīng)的容量檔位為0、端口6對應(yīng)的容量檔位為1、端口8對應(yīng)的容量檔位為2、端口m對應(yīng)的容量檔位為2,端口n對應(yīng)的容量檔位為3;并且具有傳輸條件的端口只有1、3、6、m、n。這樣,容量檔位0對應(yīng)的具有傳輸條件的端口包括端口3,容量檔位1對應(yīng)的具有傳輸條件的端口包括端口6、容量檔位2對應(yīng)的具有傳輸條件的端口包括端口m,容量檔位3對應(yīng)的具有傳輸條件的端口包括端口1和端口n。步驟502:根據(jù)每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否滿足設(shè)定條件,確定待選容量檔位。這里,判斷每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否滿足設(shè)定條件,例如判斷每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否等于第一設(shè)定值,或者判斷每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否在設(shè)定的閾值范圍內(nèi)。當(dāng)?shù)却龝r間片計數(shù)器的值滿足設(shè)定條件時,確定該容量檔位為待選容量檔位。對每個容量檔位都預(yù)先設(shè)置一個等待時間片計數(shù)器,其中,最高容量檔位對應(yīng)的等待時間片計數(shù)器的初始值為第一設(shè)定值,其他等待時間片計數(shù)器的初始值根據(jù)容量檔位的降低依次增加。這里,第一設(shè)定值可以為零,或者其他值。例如,步驟501中,確定的容量檔位是O、1、2、3四個容量檔位,則每個檔位對應(yīng)設(shè)置一個等待時間片計數(shù)器,其中,容量檔位3對應(yīng)的等待時間片計數(shù)器的初始值可以設(shè)為零,容量檔位2對應(yīng)的等待時間片計數(shù)器的初始值可以設(shè)為10,容量檔位1對應(yīng)的等待時間片計數(shù)器的初始值可以設(shè)為50,容量檔位0對應(yīng)的等待時間片計數(shù)器的初始值可以設(shè)為100,當(dāng)然數(shù)值大小也可以根據(jù)實際工作經(jīng)驗獲得。這樣,在進(jìn)行寫操作時,首先判斷每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否為第一設(shè)定值,當(dāng)?shù)却龝r間片計數(shù)器的值為第一設(shè)定值時,即表明該等待時間片計數(shù)器對應(yīng)的容量檔位不需要等待了,需要從該容量檔位對應(yīng)端口中選擇一個端口進(jìn)行本次寫操作,因此,確定該容量檔位為待選容量檔位。當(dāng)?shù)却龝r間片計數(shù)器的值不為第一設(shè)定值時,修改該等待時間片計數(shù)器的值,這里,可以將該等待時間片計數(shù)器的值減去第二設(shè)定值,其中,第二設(shè)定值可以為1,5、10等等任意值。這里,計數(shù)器的值不為零,則表明該容量檔位還需等待,因此,還不需要從該容量檔位對應(yīng)的端口進(jìn)行本次寫操作。當(dāng)然,本實施例中,對每個容量檔位都預(yù)先設(shè)置一個等待時間片計數(shù)器后,還可以將最高容量檔位對應(yīng)的等待時間片計數(shù)器的初始值為第一設(shè)定值,其他等待時間片計數(shù)器的初始值根據(jù)容量檔位的降低依次降低。這樣,當(dāng)進(jìn)行寫才喿作時,首先判斷每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否為第一設(shè)定值,當(dāng)?shù)却龝r間片計數(shù)器的值為第-"i殳定值時,確定該容量檔位為待選容量檔位。當(dāng)?shù)却龝r間片計數(shù)器的值不為第一設(shè)定值時,修改該等待時間片計數(shù)器的值,這里,可以將該等待時間片計數(shù)器的值加上第三設(shè)定值,第三設(shè)定值可以為1,3、10等等任意值。還可以對每個容量檔位都預(yù)先設(shè)置一個等待時間片計數(shù)器,其最高檔位對應(yīng)的等待時間片計數(shù)器的值在設(shè)定的闊值范圍內(nèi)即可。例如四個容量檔位,從高到低其初始值分別為5、20、50、100。其設(shè)定的閾值范圍為0~10,開始時,5大于等于零,小于等于IO,則在閾值范圍為010之間,則最高容量檔位,也就是容量檔位3為待選容量檔位,其他容量檔位都大于IO,因此,將其他容量檔位對應(yīng)的等待時間片計數(shù)器的值減去第二設(shè)定值,這里可以為4。經(jīng)過三次等待后,容量檔位2對應(yīng)的等待時間片計數(shù)器的值為8,在閾值范圍為0~10之間,則容量檔位2也是待選容量檔位。步驟503:^M4寺選容量檔位中,確定優(yōu)先級最高的容量檔位。根據(jù)對等待時間片計數(shù)器的初始設(shè)置,可以確定待選容量檔位至少包括最高容量檔位。例如步驟501中確定了最高容量檔位為容量檔位3,其對應(yīng)的等待時間片計數(shù)器初始值就為第一設(shè)定值,因此,步驟502中可以確定容量檔位3為待選容量檔位。當(dāng)然,其他容量檔位對應(yīng)的等待時間片計數(shù)器的值為第一設(shè)定值時,也將該容量檔位確定為待選容量檔位。這樣,待選容量檔位有可能是容量檔位3、1;或者是容量檔位3、1,0等等。因此,首先判斷待選容量檔位是否只包括最高容量檔位,如果是,則確定最高容量檔位為優(yōu)先級最高的容量檔位;否則,將除最高容量檔位以外的其他容量檔位進(jìn)行比較,確定高容量檔位為優(yōu)先級最高的容量檔位。例如待選容量檔位是容量檔位3時,確定容量檔位3為優(yōu)先級最高的容量檔位;待選容量檔位是容量檔位3、1時,確定容量檔位1為優(yōu)先級最高的容量檔位;待選容量檔位是容量檔位3、1、0時,確定容量檔位l為優(yōu)先級最高的容量檔位。步驟504:從優(yōu)先級最高的容量檔位對應(yīng)的端口中選擇一個端口為寫端口。若步驟501中統(tǒng)計的是每個容量檔位對應(yīng)的端口,則,還首先需確定優(yōu)先級最高的容量檔位對應(yīng)的端口是否具有傳輸條件,然后從優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口中選擇一個端口為寫端口;若步驟501中直接統(tǒng)計的是每個容量檔位對應(yīng)的具備有傳輸條件的端口,則只需從優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口中選擇一個端口為寫端口。因此,優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口可以是零個、一個,也可以是多個。確定優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口的個數(shù),當(dāng)個ibl—個時,確定該端口為寫端口。當(dāng)個數(shù)大于一個時,可以在優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口中隨才/^擇一個端口,確定該端口為寫端口;還可以采用輪詢的方法選擇一個端口,確定該端口為寫端口。例如當(dāng)優(yōu)先級最高的容量檔位為容量檔位3時,其對應(yīng)具有傳輸條件的端口1和端口n。則本次寫才喿作從端口1進(jìn)行,若下次確定的優(yōu)先級最高的容量檔位仍為容量檔位3時,則本次寫操作從端口n進(jìn)行。當(dāng)優(yōu)先級最高的容量檔位為容量檔位1時,其對應(yīng)的端口6。則本次寫操作從端口6進(jìn)行。當(dāng)優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口的個M零個時,則沒有端口可以進(jìn)行寫操作,需進(jìn)行下一次的端口仲裁判斷,即ii^下一次的寫操作。步驟505:采用確定的端口向所述公共存儲介質(zhì)單元寫入數(shù)據(jù)。這里,也就是從確定的端口進(jìn)行數(shù)據(jù)的傳輸。步驟506:將優(yōu)先級最高的容量檔位對應(yīng)的等待時間片計數(shù)器的值修改為初始值。已經(jīng)確定了該容量檔位對應(yīng)的一個端口為寫操作端口,并從確定的端口進(jìn)行寫操作后,將該容量檔位對應(yīng)的等待時間片計數(shù)器的值修改為初始值,這樣為下一次端口仲裁做好準(zhǔn)備。根據(jù)上述方法,同樣可以在確定了讀/寫操作周期的多路數(shù)據(jù)傳輸系統(tǒng)中,進(jìn)4t^操作,具體過程包括根據(jù)數(shù)據(jù)量與容量檔位的對應(yīng)關(guān)系,確定數(shù)據(jù)接收端中每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位;根據(jù)每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否滿足設(shè)定條件,確定待選容量檔位,在所述待選容量檔位對應(yīng)的端口中,確定進(jìn)行讀出操作的端口,采用確定的端口從所述公共存儲介質(zhì)單元讀出數(shù)據(jù)。其中,確定待選容量檔位包括判斷每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否為第一設(shè)定值,其中所述第一設(shè)定值為最高容量檔位對應(yīng)的等待時間片計數(shù)器的初始值;當(dāng)?shù)却龝r間片計數(shù)器的值為第一設(shè)定值時,確定所述等待時間片計數(shù)器對應(yīng)的容量檔位為待選容量檔位。當(dāng)然,若等待時間片計數(shù)器的值不為第一設(shè)定值時,修改所述等待時間片計數(shù)器的值,這里可以按照設(shè)定值遞增或遞減所述等待時間片計數(shù)器的值。確定待選容量檔位還包括判斷每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否在設(shè)定的閾值范圍內(nèi),當(dāng)?shù)却龝r間片計數(shù)器的值在確定范圍內(nèi)時,確定所述等待時間片計數(shù)器對應(yīng)的容量檔位為待選容量檔位。在所述待選容量檔位對應(yīng)的端口中,確定進(jìn)行讀出操作的端口包括判斷所述待選容量檔位是否只包括最高容量檔位;當(dāng)所述待選容量檔位只包括最高容量檔位時,確定所述最高容量檔位為優(yōu)先級最高的容量檔位;當(dāng)所述待選容量檔位包括最高容量檔位和其他容量檔位時,比較所述其他容量檔位的高低,確定高容量檔位為優(yōu)先級最高的容量檔位;從所述優(yōu)先級最高的容量檔位對應(yīng)的端口中選擇一個端口為讀端口。而從所述優(yōu)先級最高的容量檔位對應(yīng)的端口中選擇一個端口為讀端口包括確定所述優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口的個數(shù);當(dāng)所述優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口只有一個時,確定該端口為讀或?qū)懚丝冢划?dāng)所述優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口包括至少兩個時,采用輪詢的方法選擇一個端口,確定該端口為讀端口,或者隨才;uit擇一個端口為讀端口。當(dāng)然,從所述公共存儲介質(zhì)單元讀出數(shù)據(jù)之后,還需將所述優(yōu)先級最高的容量檔位對應(yīng)的等待時間片計數(shù)器的值修改為初始值。由此可見,本發(fā)明實施例中,從數(shù)據(jù)發(fā)送端中,確定向公共存儲介質(zhì)單元寫入數(shù)據(jù)的端口的方法,與從數(shù)據(jù)接收端中,確定從公共存儲^h質(zhì)單元讀出數(shù)據(jù)的端口的方法是一致。下面以FPGA中的多路數(shù)據(jù)傳輸為例作進(jìn)一步詳細(xì)描述,本實施例中,容量檔位用數(shù)據(jù)水線信號表示,等待時間片計數(shù)器的初始值隨著檔位的降低依次增加,且的第一設(shè)定值為零。參見圖6:FPGA中,多^lt據(jù)傳輸模型包括數(shù)據(jù)發(fā)送端100、數(shù)據(jù)接收端200、公共存儲介質(zhì)單元300、讀寫仲裁單元400、寫入端口仲裁單元500、讀出端口仲裁單元600和讀寫才喿作單元700。其中,數(shù)據(jù)發(fā)送端IOO,包括端口0N-l的N個緩存UFIFO,用于向讀寫仲裁單元400和寫入端口仲裁單元500發(fā)送每個端口的數(shù)據(jù)水線信號,以及寫入操作請求信號,并在讀寫操作單元700的控制下向公共存儲介質(zhì)單元300寫入數(shù)據(jù)。其中,數(shù)據(jù)水線信號,以及寫入操作請求信號分別用Ing_wmark[N][3:0]],Ing—req[N-l:O]表示。數(shù)據(jù)接收端200,包括端口0~N-l的N個緩存DFIFO,用于向讀出端口仲裁單元600發(fā)送每個端口的讀出探針信號,并在讀寫操作單元700的控制下從公共存儲介質(zhì)單元300讀出數(shù)據(jù)。其中,讀出探針信號可以用Egr一strobe[N-l:O]表示o公共存儲介質(zhì)單元300,用于存儲數(shù)據(jù),并向?qū)懭攵丝谥俨脝卧?00發(fā)送寫入探針信號,向讀出端口仲裁單元600發(fā)送公共存儲介質(zhì)單元的水線信號,以及向讀寫仲裁單元400和讀出端口仲裁單元600發(fā)送公共存儲介質(zhì)單元的讀出操作請求信號。其中,寫入探針信號,公共存儲介質(zhì)單元的水線信號,讀出操作請求信號可分別用Ing—strobe[N-l:O],Egr—糧ark[N][3:0],Egr—req[N-l:O]表示。讀寫仲裁單元400,用于根據(jù)接收到的數(shù)據(jù)發(fā)送端口的數(shù)據(jù)水線信號、寫入操作請求信號,讀出操作請求信號,獲得讀寫仲裁單元結(jié)果,并發(fā)送給讀寫操作單元700。其中,讀寫仲裁單元結(jié)果包括寫入操作命令信號、讀出操作命4M言號,分另'j用Ing_write,Egr一read表示。寫入端口仲裁單元500,用于根據(jù)接收到的發(fā)送端口的數(shù)據(jù)水線信號、寫入操作請求信號、寫入探針信號,以及寫入端口仲裁單元請求信號,輸出寫入端口仲裁單元結(jié)果,即確定向公共存儲介質(zhì)單元300中寫入數(shù)據(jù)的端口,可用Ingjort[N畫l:0]表示。讀出端口仲裁單元600,用于根據(jù)接收到的公共存儲介質(zhì)單元的數(shù)據(jù)水線信號、公共存儲介質(zhì)單元的讀出操作請求信號,讀出探針信號,以及讀出端口仲裁單元請求信號,輸出讀出端口仲裁單元結(jié)果,即確定從公共存儲介質(zhì)單元300中讀出數(shù)據(jù)的端口可用Egrjort[N-l:0]表示。讀寫操作單元700,用過根據(jù)接收的讀寫仲裁單元結(jié)果,向?qū)懭攵丝谥俨脝卧?00發(fā)起寫入端口仲裁單元請求信號,或向讀出端口仲裁單元600發(fā)起讀出端口仲裁單元請求信號,并根據(jù)寫入端口仲裁單元500輸出的寫入端口仲裁單元結(jié)果,向公共存儲介質(zhì)單元300寫入數(shù)據(jù),根據(jù)讀出端口仲裁單元600輸出的讀出端口仲裁單元結(jié)果,從公共存儲介質(zhì)單元300讀出數(shù)據(jù)。其中,寫入端口仲裁單元請求信號,讀出端口仲裁單元請求信號可以用Ing^grant,Egr^grant表示。本實施例多*據(jù)傳輸模型中的接口信號具體參見表1。在上述多路傳輸模型中,結(jié)合接口信號,多路數(shù)據(jù)傳輸中讀寫仲裁過程如下,參見圖7:步驟701:讀寫仲裁單元400判斷寫入操作請求信號和讀出操作請求信號的狀態(tài),當(dāng)只有寫入操作請求信號時,進(jìn)行步驟707,當(dāng)只有讀出操作請求信號時,進(jìn)行步驟708,當(dāng)寫入操作請求信和讀出操作請求信號都有時,執(zhí)行步驟702。這里,當(dāng)Ing—req[N-l:O]NO,且Egr—req[N-l:0]=0時,執(zhí)行步驟707;當(dāng)Ing—req[N-l:0]=0,且Egr—req[N-l:0]=l時,執(zhí)行步驟708;當(dāng)Ing—req[N-l:0]!=0,<table>tableseeoriginaldocumentpage18</column></row><table>表l步驟702:根據(jù)數(shù)據(jù)發(fā)送端的每個端口UFIFO數(shù)據(jù)量對應(yīng)的容量檔位,確定寫操作周期與讀操作周期的比例值,并將記錄的寫入次數(shù)清零。這里,首先獲取數(shù)據(jù)發(fā)送端的每個端口UFIFO數(shù)據(jù)量對應(yīng)的容量檔位,確定最高容量檔位,然后,根據(jù)保存的容量檔位與讀寫權(quán)值比例的對應(yīng)關(guān)系,確定該最高容量檔位對應(yīng)的讀寫權(quán)值比例。具體過程如下UFIFO數(shù)據(jù)的容量檔位可用UFIFO水線信號表示,UFIFO的水線信號為Ing—wmark[N-l][3:0],計算各個UFIFO中的最高水線Max—wmark[3:0],如公式(l):Ing一wmark[N-l][3:0]的位寬為4,這樣,Maxwmark[3]為高電平表示寫操作請求最為緊迫;Maxwmark[O]為高電平表示寫操作請求最不緊迫。UFIFO的水線信號Ing一wmark[N-l][3:0]與讀寫權(quán)值比例的對應(yīng)關(guān)系,如表2所示Ing—wmark[N-l]網(wǎng)]讀寫柏J直比例(N)4'b000114'b00102楊ioo34'b畫0(寫操作優(yōu)先)表2這樣,當(dāng)Max—wmark[3:0]為Max—wmark[O]時,讀寫4又值比例為1,當(dāng)Max—wmark[3:0]為Max—wmark[l]時,讀寫4又值比例為2,當(dāng)Max—wmark[3:0]為Max-wmark[2]時,讀寫4又值比例為3,當(dāng)Max—wmark[3:0]為Max—wmark[3]時,寫操作請求非常緊迫,必須進(jìn)行寫操作了,因此,對應(yīng)的讀寫權(quán)值比例為非常規(guī)值,這里,讀寫4又值比例可以用0標(biāo)識。寫入次數(shù)可以用寫入指針WC來表示,這里將WC清零,即\^>0。步驟703:判斷讀寫權(quán)值比例是否為0,當(dāng)不為0時,執(zhí)行步驟704,否貝'J,執(zhí)行步驟707;步驟704:啟動寫入才喿作,并且遞加寫入次數(shù)。也就是讀寫仲裁單元輸出Ing_write=l,Egr_read=0,WC=WC+1。這樣進(jìn)行寫入操作周期后,執(zhí)行數(shù)據(jù)寫入公共存儲介質(zhì)單元的過程。步驟705:判斷寫入操作請求信號的狀態(tài),當(dāng)有寫入操作請求信號時,進(jìn)行步驟706,否則執(zhí)行步驟708。這里,Ing_req[N-l:0]!=0,有寫入操作請求,即執(zhí)行步驟706,否則執(zhí)行步驟708,即沒有了寫入操作請求了,這樣進(jìn)行讀出操作周期。步驟706:判斷WC是否等于N,當(dāng)WC-N時,執(zhí)行步驟708,否則執(zhí)行步驟704。當(dāng)WC-N時,寫入才喿作結(jié)束,進(jìn)4t^出^^作過禾呈,否則繼續(xù)進(jìn)4亍寫7^操200910135508步驟707:啟動一次寫入操作,即讀寫仲裁單元輸出Ing—write=l,Egr—read=0,本次寫入操作完成后,返回步驟701,進(jìn)行新的一輪讀寫仲裁單元。步驟708:啟動一次讀出操作,即讀寫仲裁單元輸出Ing—write=0,Egr_read=l,本次讀出操作完成后,返回步驟701,進(jìn)行新的一輪讀寫仲裁單元。步驟704和步驟707中,啟動寫入操作后,寫入端口仲裁單元500還需要判斷從具體向公共存儲介質(zhì)單元300中寫入數(shù)據(jù)的端口,從而根據(jù)確定后的端口進(jìn)行寫入操作;步驟708中,啟動讀出操作后,讀出端口仲裁單元600還需判斷從具體從公共存儲介質(zhì)單元300中讀出數(shù)據(jù)的端口,從而根據(jù)確定后的端口進(jìn)^f^出操作。本發(fā)明實施例中,寫入端口仲裁單元500確定數(shù)據(jù)發(fā)送端100中,向公共存儲介質(zhì)單元300中寫入數(shù)據(jù)的端口的端口仲裁方法,與讀出端口仲裁單元600確定數(shù)據(jù)接收端200中,從公共存儲介質(zhì)單元300中讀出數(shù)據(jù)的端口的端口仲裁方法可以是同一個端口仲裁方法,因此,可將寫入端口仲裁單元500與讀出端口仲裁單元600合為一算法模塊,即端口仲裁單元,則Ing_grant和Egr^grant統(tǒng)一為arb^grant,為讀寫端口仲裁單元請求信號;Ing—req和Egr—req統(tǒng)一為arb一req,為讀寫操作請求信號;Ing—wmark和Egr一wmark統(tǒng)一為arb一wmark,為讀寫端口^t據(jù)水線4言號;Ing_strobe和Egr一strobe統(tǒng)一為arb_strobe,為讀寫探針信號;Ing_port和Egr_port統(tǒng)一為arb_port,為讀寫仲裁單元結(jié)果。在確定了讀/寫操作周期的多路數(shù)據(jù)傳輸系統(tǒng),參見圖8,多蹤教據(jù)傳輸?shù)倪^程如下步驟801:獲取每個端口FIFO數(shù)據(jù)量的容量檔位,并統(tǒng)計每個容量檔位對應(yīng)的端口。端口FIFO的數(shù)據(jù)量的容量檔位可用端口的數(shù)據(jù)水線arb—wmark[N][3:0]表示,本實施例中arb—wmark[N][3:0]位寬為4,即可以將端口的容量檔位分為4檔,分別對應(yīng)arLwmark[n][3:0]中的各位。如果arb一wmark[n][3]為高電平,則表示端口n對應(yīng)的容量檔位屬于第3檔位;如果arb一wmark[n][O]為高電平,表示端口n對應(yīng)的容量檔位屬于第O檔位。其中,第3檔位高于第2檔位,第2檔位高于第1檔位,第1檔位高于第0檔位。將獲取的端口的水線向量arb一wmark[N-l][3:0]記做wmark[N-l][3:0],并整理為式(2):那么式(2)中的IwmarkOIwmark3向量就表示四個水線檔位上,各有那些端一畫a考][O]wwarA[l][O]….'w/w"r《iV-i][o]wwar趕O][l]……H7warA[7V-■w歸rA[1][2]……w附^A[iV"-1〗[2]Hvw"rA[1][3]……wwarA[A^-腦例如/麗^0=就表示第o檔位上有第1、3和4端口。步驟802:確定每個容量檔位上,具備數(shù)據(jù)傳輸條件的待響應(yīng)端口。當(dāng)數(shù)據(jù)傳輸過程中,第n個端口有數(shù)據(jù)傳輸請求,以及該端口的下游數(shù)據(jù)接口可以接收數(shù)據(jù),就可以確定該端口具備數(shù)據(jù)傳輸條件。這里,當(dāng)Ing一strobe[n]和Ingjeq[n]都為高電平時,則端口n具備數(shù)據(jù)傳輸條件。根據(jù)步驟801中獲得的Iwmark,確定每個容量檔位上,具備數(shù)據(jù)傳輸條件的待響應(yīng)端口的計算過程如下將Ing_strobe[N-l:0]和Ing—req[N-l:O]記做strobe[N誦l:0]和req[N誦l:0],并按公式(3)做如下處理/w附artl*5加6ere《TW/warWre《(3)那么CwmarkM[N-l:0]表示在第M檔位上,有那些端口為H了傳輸務(wù)降的端口,即可能被仲裁為響應(yīng)端口。例如c謂^3-就表示第3檔位上有第i、3和4端口可能會被仲裁為響應(yīng)端口,即第3檔位上的第1、3和4端口為第3檔位上的待響應(yīng)端口。步驟803:根據(jù)每個容量檔位中的待響應(yīng)端口,以及每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否為零,確定優(yōu)先級最高的容量檔位。本實施例上述步驟中,確定了容量檔位具體為那幾檔,則為每個容量檔位都設(shè)定一個等待時間片計數(shù)器,然后根據(jù)每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否為零,確定待選容量檔位,從待選容量檔位中,確定優(yōu)先級最高的容量檔位。這里,在讀寫端口仲裁單元請求信號arb_grant的驅(qū)動下,根據(jù)步驟802計算獲得的向量CwmarkM[N-l:O],以M得的讀寫仲裁單元結(jié)果arb_port,進(jìn)行各個檔位的等待時間片計數(shù)器的計數(shù),當(dāng)?shù)却龝r間片計數(shù)器的值為零時,得到待選信號arb—can[3:0],然后對arb—can[3:0]進(jìn)行計算,得到優(yōu)先級信號arb_pri[3:0]。最后根據(jù)arlu)ri[3:0],確定優(yōu)先級最高的容量檔位。例如,第2檔位由于等待時間片用完,其優(yōu)先級被提為最高,也就是ariu)ri[2]為高電平,則提取Cwmrak2[N國1:0],記做S麗ark[N畫1:0]。步驟804:采用流水線輪詢的方法,在優(yōu)先級最高的容量檔位的待響應(yīng)端口中,確定進(jìn)行數(shù)據(jù)傳輸?shù)亩丝?。若步驟803中確定的優(yōu)先級最高的容量檔位的待響應(yīng)端口只有一個,那就確定該端口為響應(yīng)端口,進(jìn)行數(shù)據(jù)的傳輸,若步驟803中確定的優(yōu)先級最高的容量檔位的待響應(yīng)端口不止一個,則采用輪詢的方法選擇響應(yīng)端口,進(jìn)行數(shù)據(jù)的傳輸。例如,優(yōu)先級最高的容量檔位為第2檔位,有兩個端口第n端口和第m端口,如果上次仲裁的結(jié)果為第n端口。數(shù)次仲裁操作過后,該檔位又變?yōu)閮?yōu)先級最高的容量檔位,那么本次仲裁操作的結(jié)果為第m端口。具體的計算過程如公式(4)所示若上次的仲裁結(jié)果為wport[N-l:O],做如下處理vv/w《iV"-1]w/w7—3]w/or/[iV"—2]w/w,—2]wjcw/[iV—1](4)從式(4)可見RwportM[N-l:O]向量是端口號向量wport[N-l:0]左移M位得到的。最后,做如公式(5)所示的矩陣乘法處理Gw/wW[iV-1:0]=ifw/oWx[5WjflrA:]。將Swmark[N-l:O]與Rwport的各個子向量進(jìn)4亍矩陣乘,得到Gwport[N-l:O]。從O到N-l依次掃描Gwport[N-l:O]的各值,找到第一個非零的值,記下其序號M,則RwportM就是仲裁結(jié)果,其中非零項所對應(yīng)的端口就是響應(yīng)端口。步驟805:從確定的端口進(jìn)行讀或?qū)懖僮?。本實施例中,根?jù)步驟803可知,需為每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位設(shè)置對應(yīng)的等待時間片計數(shù)器,這里,數(shù)據(jù)水線劃分為4個檔位,每個檔位都設(shè)定一個等待時間片計數(shù)器,其初始值隨著檔位的降^f氐,依次增加,即最高檔位對應(yīng)的等待時間片計數(shù)器的初始值最小,最^4當(dāng)位對應(yīng)的等待時間片計數(shù)器的初始值最大。這里,當(dāng)每個容量檔位都存在時,其時間片計數(shù)器的初始值分別為第3檔位對應(yīng)的值為0,第2檔位對應(yīng)的值為10,第1檔位對應(yīng)的值為40,第0檔位對應(yīng)的值為100;若沒有第3檔位,則第2檔位為最高檔位,對應(yīng)的值為O,第1檔位對應(yīng)的值為10,第0檔位對應(yīng)的值為40,具體時間片計數(shù)器的初始值的默認(rèn)設(shè)置如表3。從表3可以看出,各個檔位的時間片計數(shù)器初始值設(shè)置根據(jù)向量Cwmark的各個子向量(Cwmark3到CwmarkO)是否為0,按照0、10、40和100的順序依次進(jìn)行設(shè)置。兩種情況下,這種初始值的設(shè)置操作將會發(fā)生一是向量Cwmark的各個子向量發(fā)生從零向量到非零向量之間的轉(zhuǎn)換;一是某檔位的時間片計數(shù)器通過減法計算變?yōu)榱?,并且端口仲裁單元的結(jié)果為該檔位上的某個端口。設(shè)置完每個容量檔位對應(yīng)的等待時間片計數(shù)器后,首先根據(jù)每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否為零,確定待選容量檔位,然后從待選容量檔位中,確定優(yōu)先級最高的容量檔位。確定待選容量檔位的過程包括當(dāng)?shù)却龝r間片計數(shù)器值為零時,確定該等待時間片計數(shù)器對應(yīng)的容量檔位為待選容量檔位。根據(jù)上述設(shè)置可知,最高容量檔位對應(yīng)的時間計算器的初值為零,因此,最高容量檔位的時間片計數(shù)器固定為零,因此最高容量檔位為待選容量檔位,其對應(yīng)的待選信號arb—canM為高電平(第M檔位為最高檔位)。<table>tableseeoriginaldocumentpage24</column></row><table>表3對于非最高容量檔位,根據(jù)該非最高容量檔位對應(yīng)的等待時間片計數(shù)器工作過程,確定其是否為待選容量檔位,工作流程參見圖9,具體過程如下步驟901:是否有讀寫端口仲裁單元請求信號,當(dāng)有時才開始啟動端口仲裁單元,執(zhí)行步驟902;否則流程結(jié)束。這里,arb_grant=l時,執(zhí)行步驟902,否則流程結(jié)束。步驟902:判斷每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否為零,并判斷正在進(jìn)行數(shù)據(jù)傳輸?shù)亩丝谑欠褚矊儆诋?dāng)前檔位,即arb一count[M]是否等于-0,其中M為O、1、2或3,同時arbj30rt是否屬于M檔位。當(dāng)artLCount[M]不等于零時,且arb_port不屬于M檔位,執(zhí)行步驟903;當(dāng)arb一count[M]等于零時,且arb_port屬于M檔位時,執(zhí)行步驟906;當(dāng)arb_count[M]等于零時,且arbjort不屬于M檔位時,執(zhí)行步驟905。步驟903:對值不為零的等待時間片計數(shù)器的值減1,即將arb—count[M]減1。步驟904:判斷數(shù)值變化后的等待時間片計數(shù)器的值是否為零,即arb—count[M]是否等于零,當(dāng)不等于零時,則該容量檔位還需等待,返回步驟901,否則該容量檔位不需等待,執(zhí)行步驟905。步驟905:確定該容量檔位為待選容量檔位,即輸出待選信號arb一can[M]-l。并返回步驟901,進(jìn)行新一輪的等待等待時間片計數(shù)器的計數(shù)。步驟906:確定該容量檔位不是待選容量檔位,即輸出arb_can[M]=0,將該等待時間片計數(shù)器的值設(shè)置為初始值,即arb一count[M]-初始值。執(zhí)行完后返回步驟901,進(jìn)行新一輪的等待等待時間片計數(shù)器的計數(shù)。確定待選容量檔位之后,從待選容量檔位中,確定優(yōu)先級最高的容量檔位。這里,如果只有一個容量檔位對應(yīng)的arb_count[M]=0,arb—can[M]=l,則該斜當(dāng)位為優(yōu)先級最高的容量檔位,因此,輸出優(yōu)先級信號arb_pri[M]=l;如果不止一個容量檔位對應(yīng)的arb—count[M]=0,arb—can[M]=l,則可以設(shè)置一個優(yōu)先原則,包括1、除了最高容量檔位外,如果還存在其他一個容量檔位的時間片計數(shù)器的值為0,那么該容量檔位為優(yōu)先級最高的容量檔位,例如arb_count[3]=0,且arb_count[l]=0,則arb_pri[l]=l,即確定容量檔位1為優(yōu)先級最高的容量檔位。2、除了最高檔位外,如果還存在其他兩個或者兩個以上的容量檔位的時間片計數(shù)器的值為O,那么其他容量檔位中,容量檔位較高的容量檔位為優(yōu)先級最高的容量檔位。例如,arb—count[2]=0,且arb_count=0,那么arb_pri[2]=l,即確定容量檔位2為優(yōu)先級最高的容量檔位。本實施例中,確定優(yōu)先級信號的具體計算過程參見公式(6):<formula>formulaseeoriginaldocumentpage25</formula>—戸'[O]=!ar6—c朋2&&!ar6—ami&—om0這里,容量檔位3為最高容量檔位,若另一實施例中容量檔位2為最高容量檔位時,則公式(6)中就不需要計算w6—戶'[3]了,只需從w6—;n'[2]開始就就可以了,依次類推。本實施例中,端口仲裁方法的實現(xiàn)過程時序參見圖10,這里,水線信號采用實時輸入,同時arbjx)rt[N-l:0]也是實時反饋,這樣當(dāng)有arb^grant信號脈沖時,就可以直接獲得仲裁結(jié)果arbjort[N-l:0],并且,根據(jù)仲裁結(jié)果進(jìn)行數(shù)據(jù)的傳輸,以及進(jìn)行新一輪仲裁才喿作,這樣,在下一次數(shù)據(jù)傳輸之前,仲裁才喿作已完成,因此,仲裁操作和數(shù)據(jù)操作是并行的,從信號輸入到仲裁結(jié)果輸出,只需要4個操作時鐘周期的延時,而且隨著端口數(shù)目的增加,其運算周期并不隨著增加。上述實施例描述的FPGA中多路數(shù)據(jù)傳輸,讀寫仲裁還可以采用固定比例讀寫仲裁或?qū)懖僮鲀?yōu)先讀寫仲裁。或者,步驟804中采用隨機(jī)的方法從優(yōu)先級最高的容量檔位的待響應(yīng)端口中,確定一個進(jìn)行數(shù)據(jù)傳輸?shù)亩丝?。上述實施例描述了FPGA中多路數(shù)據(jù)傳輸,該方法也適應(yīng)于CPLD、ASIC等芯片內(nèi)部的多i^lt據(jù)傳輸,對于存在獨立的片外存^i殳備的多i^t據(jù)處理系統(tǒng)也可以利用上述方法進(jìn)行數(shù)據(jù)傳輸,例如以太網(wǎng)交換機(jī)中的數(shù)據(jù)幀交換,數(shù)據(jù)幀緩存和數(shù)據(jù)幀統(tǒng)計;圖像信號處理系統(tǒng)中的多路圖像緩存、處理和傳輸。獨立的片外存儲設(shè)備可以包括DDR2、Sdram、電子硬盤、片內(nèi)雙口隨機(jī)訪問存儲器(DPRAM,DoublePortRandom-AccessMemory)等等。當(dāng)獨立的片外存^i殳備為DPRAM時,不需要進(jìn)行讀寫仲裁,只需要如上述所述方法進(jìn)行端口仲裁。根據(jù)上述多路數(shù)據(jù)傳輸?shù)姆椒ǎ梢詷?gòu)建一種多鴻^t據(jù)傳輸?shù)南到y(tǒng),包括向公共存儲介質(zhì)單元寫入數(shù)據(jù)的數(shù)據(jù)發(fā)送端,以及從公共存儲介質(zhì)單元讀出數(shù)據(jù)的數(shù)據(jù)接收端,參見圖11,該系統(tǒng)還包括端口仲裁單元100和讀寫操作單元200,其中,端口仲裁單元ioo,用于根據(jù)數(shù)據(jù)量與容量檔位的對應(yīng)關(guān)系,確定數(shù)據(jù)發(fā)送端或數(shù)據(jù)接收端中每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位,根據(jù)每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否滿足設(shè)定條件,確定待選容量檔位,在所述待選容量檔位對應(yīng)的端口中,確定進(jìn)行寫入或讀出操作的端口。讀寫操作單元200,用于采用確定的端口向所述公共存儲介質(zhì)單元寫入數(shù)據(jù)或從所述公共存儲介質(zhì)單元讀出數(shù)據(jù)。進(jìn)一步,端口仲裁單元100包括設(shè)定值判斷子單元110,待選容量檔位子單元120。設(shè)定值判斷子單元110,用于判斷每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否為第一設(shè)定值,其中,最高容量檔位對應(yīng)的等待時間片計數(shù)器的初始值為第—殳定值。待選容量檔位子單元120,用于當(dāng)?shù)却龝r間片計數(shù)器的值為第"-i殳定值時,確定所述等待時間片計數(shù)器對應(yīng)的容量檔位為待選容量檔位。端口仲裁單元100還包括修改子單元130,用于當(dāng)?shù)却龝r間片計數(shù)器的值不為第一設(shè)定值時,修改所述等待時間片計數(shù)器的值。端口仲裁單元100包括檔位判斷子單元140,第一優(yōu)先級確定子單元150,第二優(yōu)先級確定子單元160和端口選擇子單元170。檔位判斷子單元140,用于判斷所述待選容量檔位是否只包括最高容量檔位。第一優(yōu)先級確定子單元150,用于當(dāng)所述待選容量檔位只包括最高容量檔位時,確定所述最高容量檔位為優(yōu)先級最高的容量檔位。第二優(yōu)先級確定子單元160,用于當(dāng)所述待選容量檔位包括最高容量檔位和其他容量檔位時,比4交所述其他容量檔位的高低,確定高容量檔位為優(yōu)先級最高的容量檔4立。端口選擇子單元170,用于從所述優(yōu)先級最高的容量檔位對應(yīng)的端口中選擇一個端口為寫或讀端口。端口選擇子單元170首先確定所述優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口個數(shù),當(dāng)所述優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口只有一個時,確定該端口為寫或讀端口,當(dāng)所述優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸務(wù)f牛的端口包括至少兩個時,采用輪詢的方法或者隨4幾的方法選擇一個端口為寫或讀端口。該多路數(shù)據(jù)傳輸?shù)南到y(tǒng)還包括讀寫仲裁單元300。讀寫仲裁單元300,用于根據(jù)數(shù)據(jù)量與容量檔位的對應(yīng)關(guān)系,確定數(shù)據(jù)發(fā)送端每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位,根據(jù)保存的容量檔位與讀寫權(quán)值比例的對應(yīng)關(guān)系,確定最高容量檔位對應(yīng)的讀寫權(quán)值比例,根據(jù)所述讀寫比例值分配iiX讀或?qū)懙牟僮髦芷?進(jìn)一步,讀寫仲裁單元300包括確定子單元310,讀寫權(quán)值比例子單元320和分配子單元330。確定子單元310,用于才艮據(jù)數(shù)據(jù)量與容量檔位的對應(yīng)關(guān)系,確定數(shù)據(jù)發(fā)送端每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位。讀寫權(quán)值比例子單元320,用于根據(jù)保存的容量檔位與讀寫權(quán)值比例的對應(yīng)關(guān)系,確定最高容量檔位對應(yīng)的讀寫權(quán)值比例。分配子單元330,用于根據(jù)所述讀寫權(quán)值比例,分配ii7v讀或?qū)懙牟僮髦芷?。綜上所述,本發(fā)明實施例中,根據(jù)每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否為零,進(jìn)行端口仲裁,通過采用矩陣運算的方法,在狀態(tài)信號輸入后,經(jīng)過4個時鐘周期的運算,就可以得到端口仲裁結(jié)果。而且隨著端口數(shù)目的增加,運算周期并沒有相應(yīng)增加。采用優(yōu)先級輪轉(zhuǎn)和等待等待時間片計數(shù)器計數(shù)的方式進(jìn)行端口仲裁,這樣高水線的端口優(yōu)先響應(yīng),相同水線的端口輪轉(zhuǎn)響應(yīng);低水線的端口通過等待時間片計數(shù)器計數(shù),也能保證一定的數(shù)據(jù)傳輸帶寬。并且本實施例中,根據(jù)數(shù)據(jù)輸入端的水線高低,動態(tài)調(diào)整讀寫^^作周期的比例,從而既保證了輸入數(shù)據(jù)不丟失,又能均衡實現(xiàn)讀寫操作。本實施例所述的方法的運算量較大,但是流水操作分歉了這些運算量,減少了從寄存器到寄存器的延時。因此在較低速度級的中低端FPGA芯片中也容易布局布線。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。權(quán)利要求1、一種多路數(shù)據(jù)傳輸?shù)姆椒ǎ瑧?yīng)用于多路數(shù)據(jù)傳輸系統(tǒng)中,所述多路數(shù)據(jù)傳輸系統(tǒng)包括向公共存儲介質(zhì)單元寫入數(shù)據(jù)的數(shù)據(jù)發(fā)送端,以及從公共存儲介質(zhì)單元讀出數(shù)據(jù)的數(shù)據(jù)接收端,其特征在于,該方法包括根據(jù)數(shù)據(jù)量與容量檔位的對應(yīng)關(guān)系,確定所述數(shù)據(jù)發(fā)送端或數(shù)據(jù)接收端中每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位;根據(jù)每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否滿足設(shè)定條件,確定待選容量檔位;在所述待選容量檔位對應(yīng)的端口中,確定進(jìn)行寫入或讀出操作的端口;采用確定的端口向所述公共存儲介質(zhì)單元寫入數(shù)據(jù)或從所述公共存儲介質(zhì)單元讀出數(shù)據(jù)。2、如權(quán)利要求1所述的方法,其特征在于,所述確定所述數(shù)據(jù)發(fā)送端或數(shù)據(jù)接收端中每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位之前,所述方法還包括根據(jù)數(shù)據(jù)量與容量檔位的對應(yīng)關(guān)系,確定所述數(shù)據(jù)發(fā)送端每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位;根據(jù)保存的容量檔位與讀寫權(quán)值比例的對應(yīng)關(guān)系,確定最高容量檔位對應(yīng)的讀寫權(quán)值比例;才艮據(jù)所述讀寫比例值分配ii^讀或?qū)懙牟僮髦芷凇?、如權(quán)利要求1所述的方法,其特征在于,所述確定待選容量檔位包括判斷每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否為第一設(shè)定值,其中所述第一設(shè)定值為最高容量檔位對應(yīng)的等待時間片計數(shù)器的初始值;當(dāng)?shù)却龝r間片計數(shù)器的值為第""i殳定值時,確定所述等待時間片計數(shù)器對應(yīng)的容量檔位為待選容量檔位。4、如權(quán)利要求3所述的方法,其特征在于,該方法還包括當(dāng)?shù)却龝r間片計數(shù)器的值不為第一設(shè)定值時,修文所述等待時間片計數(shù)器的值。5、如權(quán)利要求1所述的方法,其特征在于,在所述待選容量檔位對應(yīng)的端口中,確定進(jìn)行寫入或讀出操作的端口包括判斷所述待選容量檔位是否只包括最高容量檔位;當(dāng)所述待選容量檔位只包括最高容量檔位時,確定所述最高容量檔位為優(yōu)先級最高的容量檔位;當(dāng)所述待選容量檔位包括最高容量檔位和其他容量檔位時,比較所述其他容量檔位的高低,確定高容量檔位為優(yōu)先級最高的容量檔位;從所述優(yōu)先級最高的容量檔位對應(yīng)的端口中選擇一個端口為寫或讀端口。6、如權(quán)利要求5所述的方法,其特征在于,從所述優(yōu)先級最高的容量檔位對應(yīng)的端口中選擇一個端口為寫或讀端口包括確定所述優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口的個數(shù);當(dāng)所述優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口只有一個時,確定該端口為讀或?qū)懚丝?;?dāng)所述優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口包括至少兩個時,采用輪詢的方法i4擇一個端口,確定該端口為寫或讀端口。7、如權(quán)利要求6所述的方法,其特征在于,所述釆用確定的端口向所述公共存儲介質(zhì)單元寫入數(shù)據(jù)或從所述公共存儲介質(zhì)單元讀出數(shù)據(jù)之后,將所述優(yōu)先級最高的容量檔位對應(yīng)的等待時間片計數(shù)器的值修改為初始值。8、一種多據(jù)傳輸?shù)南到y(tǒng),包括向公共存儲介質(zhì)單元寫入數(shù)據(jù)的數(shù)據(jù)發(fā)送端,以及從公共存儲介質(zhì)單元讀出數(shù)據(jù)的數(shù)據(jù)接收端,其特征在于,還包括端口仲裁單元,用于根據(jù)數(shù)據(jù)量與容量檔位的對應(yīng)關(guān)系,確定所述數(shù)據(jù)發(fā)送端或數(shù)據(jù)接收端中每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位,根據(jù)每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否滿足設(shè)定條件,確定待選容量檔位,在所述待選容量檔位對應(yīng)的端口中,確定進(jìn)4亍寫入或讀出才喿作的端口;讀寫操作單元,用于采用確定的端口向所述公共存儲介質(zhì)單元寫入數(shù)據(jù)或從所述公共存儲介質(zhì)單元讀出數(shù)據(jù)。9、如權(quán)利要求8所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括讀寫仲裁單元,用于根據(jù)數(shù)據(jù)量與容量檔位的對應(yīng)關(guān)系,確定所述數(shù)據(jù)發(fā)送端每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位,根據(jù)保存的容量檔位與讀寫權(quán)值比例的對應(yīng)關(guān)系,確定最高容量檔位對應(yīng)的讀寫權(quán)值比例,根據(jù)所述讀寫比例值分配^讀或?qū)懙牟僮髦芷凇?0、如權(quán)利要求8所述的系統(tǒng),其特征在于,所述端口仲裁單元包括設(shè)定值判斷子單元,用于判斷每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否為第一設(shè)定值,其中所述第""i殳定值為最高容量檔位對應(yīng)的等待時間片計數(shù)器的初始值;待選容量檔位子單元,用于當(dāng)?shù)却龝r間片計數(shù)器的值為第一設(shè)定值時,確定所述等待時間片計數(shù)器對應(yīng)的容量檔位為待選容量檔位。11、如權(quán)利要求IO所述的系統(tǒng),其特征在于,所述端口仲裁單元還包括修改子單元,用于當(dāng)?shù)却龝r間片計數(shù)器的值不為第一設(shè)定值時,修改所述等待時間片計數(shù)器的值。12、如權(quán)利要求8所述的系統(tǒng),其特征在于,所述端口仲裁單元包括檔位判斷子單元,用于判斷所述待選容量檔位是否只包括最高容量檔位;第一優(yōu)先級確定子單元,用于當(dāng)所述待選容量檔位只包括最高容量檔位時,確定所述最高容量檔位為優(yōu)先級最高的容量檔位;第二優(yōu)先級確定子單元,用于當(dāng)所述待選容量檔位包括最高容量檔位和其他容量檔位時,比較所述其他容量檔位的高低,確定高容量檔位為優(yōu)先級最高的容量檔位;端口選擇子單元,用于從所述優(yōu)先級最高的容量檔位對應(yīng)的端口中選擇一個端口為寫或讀端口。13、如權(quán)利要求12所述的系統(tǒng),其特征在于,所述端口選擇子單元包括端口確定模塊,用于確定所述優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸條件的端口個數(shù);第一端口確定模塊,用于當(dāng)所述優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸^f牛的端口只有一個時,確定該端口為寫或讀端口;第二端口確定模塊,用于當(dāng)所述優(yōu)先級最高的容量檔位對應(yīng)的具有傳輸^f牛的端口包括至少兩個時,采用輪詢的方法選擇一個端口為寫或讀端口。全文摘要本發(fā)明公開了一種多路數(shù)據(jù)傳輸?shù)姆椒?,用以解決現(xiàn)有技術(shù)中由于端口仲裁不合理造成多路數(shù)據(jù)傳輸效率低的問題,該方法應(yīng)用于多路數(shù)據(jù)傳輸系統(tǒng)中,所述多路數(shù)據(jù)傳輸系統(tǒng)包括向公共存儲介質(zhì)單元寫入數(shù)據(jù)的數(shù)據(jù)發(fā)送端,以及從公共存儲介質(zhì)單元讀出數(shù)據(jù)的數(shù)據(jù)接收端,該方法包括根據(jù)數(shù)據(jù)量與容量檔位的對應(yīng)關(guān)系,確定所述數(shù)據(jù)發(fā)送端或數(shù)據(jù)接收端中每個端口緩存的數(shù)據(jù)量對應(yīng)的容量檔位,根據(jù)每個容量檔位對應(yīng)的等待時間片計數(shù)器的值是否滿足設(shè)定條件,確定待選容量檔位,在所述待選容量檔位對應(yīng)的端口中,確定進(jìn)行寫入或讀出操作的端口,從確定的端口進(jìn)行數(shù)據(jù)寫入或讀取。本發(fā)明還公開了一種多路數(shù)據(jù)傳輸?shù)南到y(tǒng)。文檔編號G06F3/06GK101520714SQ200910135508公開日2009年9月2日申請日期2009年4月17日優(yōu)先權(quán)日2009年4月17日發(fā)明者彭鼎祥申請人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司