国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      信元傳輸方法及裝置的制作方法

      文檔序號:7757643閱讀:333來源:國知局
      專利名稱:信元傳輸方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種信元傳輸方法及裝置。
      背景技術(shù)
      在路由器芯片設(shè)計(jì)中,對系統(tǒng)的穩(wěn)定性要求非常高,這就要求數(shù)據(jù)在內(nèi)部處理和傳輸過程中不能出現(xiàn)數(shù)據(jù)錯(cuò)誤導(dǎo)致系統(tǒng)癱瘓。交換芯片的接口通常都是采用高速接口,如 SerDes接口等,且通常芯片的內(nèi)部處理時(shí)鐘和接口 IP上使用的時(shí)鐘會(huì)不同,這就涉及到數(shù)據(jù)的跨時(shí)鐘域處理問題。而交換的數(shù)據(jù)中通常是以信元為單位來進(jìn)行操作,如何確保數(shù)據(jù)的正確傳輸,以及發(fā)生錯(cuò)誤的情況下怎么消除該錯(cuò)誤對系統(tǒng)層面的影響顯得尤為重要。先入先出(FirstIn First Out,簡稱為 FIFO)或隨機(jī)存取器(Random Access Memory,簡稱為RAM)被大量運(yùn)用在路由器芯片中。RAM本身在讀寫的過程中存在出錯(cuò)概率。 雖然出錯(cuò)的概率非常小,而且同時(shí)出現(xiàn)多比特(bit)錯(cuò)誤的概率更小,但是對于路由器的設(shè)備來說,由于要求系統(tǒng)工作非常穩(wěn)定,從而要求出現(xiàn)異常的概率也要極低。為此,就不能不考慮RAM發(fā)生bit錯(cuò)誤而對系統(tǒng)造成的影響。通過采用錯(cuò)誤校驗(yàn)碼(Error Correction Code,簡稱為ECC) RAM方式來糾正少量的bit錯(cuò)誤,或者用奇偶校驗(yàn)來監(jiān)測bit錯(cuò)誤的發(fā)生 (ECC方式也可以作為一種監(jiān)控手段來運(yùn)用),通過對監(jiān)測結(jié)果的處理,來避免因數(shù)據(jù)錯(cuò)誤而導(dǎo)致對系統(tǒng)的影響。從芯片的設(shè)計(jì)層面來講,更多是從設(shè)計(jì)層面來規(guī)避問題。圖1為根據(jù)相關(guān)技術(shù)的包或信元的常見格式的示意圖,如圖1所示,對于以信元 (不局限于信元,對包同樣適用)的形式來傳輸?shù)穆酚善黝愋酒ǔ6紩?huì)涉及到信元頭來攜帶信元的信息,而通常信元都會(huì)有多種類型存在,他們的信息都在信元頭中體現(xiàn)。因此, 正確的信元頭是正確對信元處理的關(guān)鍵。在信元數(shù)據(jù)在RAM中存取的時(shí)候,如果在信元頭位置發(fā)送bit錯(cuò)誤(承載payload 發(fā)送錯(cuò)誤的影響比較有限,可以不關(guān)注),導(dǎo)致對信元的信息判斷錯(cuò)誤,這個(gè)將對系統(tǒng)產(chǎn)生不可預(yù)計(jì)的影響。該影響小到多個(gè)信元丟棄,大到流量突變甚至斷流。正如前面所說的,在芯片的出口側(cè)通常都會(huì)涉及到跨時(shí)鐘域問題,于是必然的引入了一個(gè)異步FIFO。在異步FIFO的讀寫控制上,通常會(huì)面臨一些問題異步FIFO內(nèi)地址格雷碼轉(zhuǎn)換后在跨時(shí)鐘域過程中有可能因?yàn)闀r(shí)序問題導(dǎo)致采樣異常,從而導(dǎo)致異步FIFO的空、滿或者將空、將滿指示不能及時(shí)準(zhǔn)確的反應(yīng)FIFO狀態(tài),這個(gè)也是設(shè)計(jì)中通常都只用將空、將滿來設(shè)計(jì)電路。而如果要將FIFO讀空,如果用空標(biāo)志來判斷,則設(shè)計(jì)上可靠性太差。由于數(shù)據(jù)都是以包或者信元為一個(gè)整體來傳輸,因?yàn)閿?shù)據(jù)總線帶寬問題,通常需要多拍才能傳遞完一個(gè)包或者信元。這就意味著一個(gè)包或信元分成幾組存儲(chǔ)在RAM中。怎么樣能準(zhǔn)確的將一個(gè)RAM的完整包或信元讀出,通常采用的方法是讀出信元的頭之后,根據(jù)信元頭中信息來判斷該包或者信元有多大,從而在讀側(cè)計(jì)數(shù),等待計(jì)數(shù)完之后即認(rèn)為一個(gè)完整包讀出,從而判斷后面是否繼續(xù)一個(gè)新的包或信元的讀操作。發(fā)明人發(fā)現(xiàn),如果信元傳輸錯(cuò)誤,將導(dǎo)致傳輸該信元的異步FIFO通道內(nèi)的傳輸?shù)刂分羔榿y序,無法恢復(fù),進(jìn)而將導(dǎo)致后續(xù)通過該異步FIFO通道傳輸?shù)乃行旁紓鬏斿e(cuò)誤。

      發(fā)明內(nèi)容
      本發(fā)明的主要目的在于提供一種信元傳輸方法及裝置,以解決上述的信元傳輸錯(cuò)誤導(dǎo)致的后續(xù)通過異步FIFO通道傳輸?shù)乃行旁紓鬏斿e(cuò)誤的問題。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種信元傳輸方法。根據(jù)本發(fā)明的信元傳輸方法包括獲取待傳輸?shù)男旁械牡谝划惓P畔?;在通過異步先入先出FIFO通道對信元進(jìn)行傳輸?shù)倪^程中,獲取信元的第二異常信息;根據(jù)第一異常信息和第二異常信息,確定是否對信元進(jìn)行丟棄。進(jìn)一步地,第一異常信息和第二異常信息均為高電平有效,根據(jù)第一異常信息和第二異常信息,對信元進(jìn)行丟棄包括對第一異常信息和第二異常信息進(jìn)行或計(jì)算,得到第三異常信息;根據(jù)第三異常信息,對信元進(jìn)行丟棄。進(jìn)一步地,根據(jù)第三異常信息,對信元進(jìn)行丟棄包括生成信元的第一校驗(yàn)信息; 根據(jù)第三異常信息對第一校驗(yàn)信息進(jìn)行加擾;判斷加擾后的第一校驗(yàn)信息是否正確,如果判斷結(jié)果為否,則對信元進(jìn)行丟棄。進(jìn)一步地,根據(jù)第三異常信息對第一校驗(yàn)信息進(jìn)行加擾包括根據(jù)第三異常信息對第一校驗(yàn)信息取反。進(jìn)一步地,獲取待傳輸?shù)男旁牡谝划惓P畔ǐ@取與待傳輸?shù)男旁瑫r(shí)輸入的第二校驗(yàn)信息,判斷第二校驗(yàn)信息是否正確,如果判斷結(jié)果為否,則根據(jù)第二校驗(yàn)信息,得到第一異常信息;如果判斷結(jié)果為是,則判斷待傳輸?shù)男旁念愋褪欠裾_,如果判斷結(jié)果為否,則得到第一異常信息;如果判斷結(jié)果為是,則判斷待傳輸?shù)男旁母袷绞欠衽c預(yù)先設(shè)置的類型的格式相同,如果判斷結(jié)果為否,則得到第一異常信息。進(jìn)一步地,獲取信元的第二異常信息包括判斷隨機(jī)存取器RAM是否存在位錯(cuò)誤; 如果判斷結(jié)果為是,則根據(jù)位錯(cuò)誤,獲取第二異常信息。進(jìn)一步地,上述方法還包括使用信元,控制異步FIFO通道的開啟或關(guān)閉。進(jìn)一步地,其特征在于,在獲取待傳輸?shù)男旁牡谝划惓P畔⒅螅鲜龇椒ㄟ€包括將第一異常信息與信元共同通過異步FIFO通道進(jìn)行傳輸。進(jìn)一步地,在獲取待傳輸?shù)男旁牡谝划惓P畔⒅?,上述方法還包括獲取信元的頭部標(biāo)識和尾部標(biāo)識;將頭部標(biāo)識和尾部標(biāo)識與信元共同通過異步FIFO通道進(jìn)行傳輸。進(jìn)一步地,將尾部標(biāo)識置于從信元的最高位開始的第二位,并與信元共同通過異步FIFO通道進(jìn)行傳輸。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一個(gè)方面,提供了一種信元傳輸裝置。根據(jù)本發(fā)明的信元傳輸裝置包括預(yù)處理模塊,用于獲取待傳輸?shù)男旁械牡谝划惓P畔?;異步先入先出FIFO模塊,用于在通過異步FIFO通道對信元進(jìn)行傳輸?shù)倪^程中, 獲取信元的第二異常信息;處理模塊,用于根據(jù)第一異常信息和第二異常信息,對信元進(jìn)行丟棄。通過本發(fā)明,采用根據(jù)信元及其傳輸過程中的異常信息,對其進(jìn)行丟棄,解決了信元傳輸錯(cuò)誤導(dǎo)致的后續(xù)通過異步FIFO通道傳輸?shù)乃行旁紓鬏斿e(cuò)誤的問題,進(jìn)而實(shí)現(xiàn)穩(wěn)定可靠異步FIFO傳輸。


      此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1是根據(jù)相關(guān)技術(shù)的包或信元的常見格式的示意圖;圖2是根據(jù)本發(fā)明實(shí)施例的信元傳輸方法的流程圖;圖3為根據(jù)本發(fā)明實(shí)施例的頭部信息(SOC),尾部信息(eoc)和異常信息(err)與信元的位置關(guān)系的示意圖;圖4是根據(jù)本發(fā)明實(shí)施例的信元傳輸裝置的結(jié)構(gòu)框圖;圖5是根據(jù)本發(fā)明優(yōu)選實(shí)施例的信元傳輸裝置的結(jié)構(gòu)框圖;圖6是根據(jù)本發(fā)明優(yōu)選實(shí)施例的輸入信元的時(shí)序的示意圖;圖7是根據(jù)本發(fā)明優(yōu)選實(shí)施例的總線位寬轉(zhuǎn)換的示意圖;圖8是根據(jù)本發(fā)明優(yōu)選實(shí)施例的異常信元生成校驗(yàn)信息的時(shí)序的示意圖;圖9是根據(jù)本發(fā)明優(yōu)選實(shí)施例的校驗(yàn)信息生成模塊的數(shù)據(jù)輸出的示意圖。
      具體實(shí)施例方式下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。本發(fā)明的目的是為了克服包或者信元在異步時(shí)鐘域傳輸過程中因RAM讀寫發(fā)生數(shù)據(jù)錯(cuò)誤而導(dǎo)致交換系統(tǒng)癱瘓,提供了一種穩(wěn)定可靠的實(shí)現(xiàn)對異步FIFO讀寫控制方法,同時(shí)還提供了一種簡單有效對異常包或信元的丟棄處理的實(shí)現(xiàn)方案。根據(jù)本發(fā)明的實(shí)施例,提供了一種信元傳輸方法。圖2是根據(jù)本發(fā)明實(shí)施例的信元傳輸方法的流程圖,如圖2所示,該方法包括如下的步驟S202至步驟S206。步驟S202,獲取待傳輸?shù)男旁械牡谝划惓P畔?。步驟S204,在通過異步FIFO通道對信元進(jìn)行傳輸?shù)倪^程中,獲取信元的第二異常 fn息ο步驟S206,根據(jù)第一異常信息和第二異常信息,確定是否對信元進(jìn)行丟棄。相關(guān)技術(shù)中,如果信元傳輸錯(cuò)誤,將導(dǎo)致傳輸該信元的異步FIFO通道內(nèi)的傳輸?shù)刂分羔榿y序,進(jìn)而將導(dǎo)致后續(xù)通過該異步FIFO通道傳輸?shù)乃行旁紓鬏斿e(cuò)誤。本發(fā)明實(shí)施例中,第一異常信息可以用于判斷該信元在上游模塊的數(shù)據(jù)處理中是否存在錯(cuò)誤,第二異常信息可以用于判斷該信元在通過異步FIFO通道的過程中是否存在錯(cuò)誤,然后對信元進(jìn)行丟棄,可以避免該信元對后續(xù)通過該異步FIFO通道傳輸?shù)乃行旁挠绊?,進(jìn)而實(shí)現(xiàn)穩(wěn)定可靠異步FIFO傳輸。優(yōu)選地,第一異常信息和第二異常信息均為高電平有效,根據(jù)第一異常信息和第二異常信息,對信元進(jìn)行丟棄包括對第一異常信息和第二異常信息進(jìn)行或計(jì)算,得到第三異常信息;根據(jù)第三異常信息,對信元進(jìn)行丟棄。本優(yōu)選實(shí)施例中,由于第一異常信息和第二異常信息均為高電平有效,因此對第一異常信息和第二異常信息進(jìn)行或計(jì)算得到的第三異常信息,可以簡單、方便的體現(xiàn)出第一異常信息和第二異常信息中的信息。需要說明的是,上述設(shè)置第一異常信息和第二異常信息以及得到第三異常信息還可以采用其它的方法,例如設(shè)置第一異常信息和第二異常信息均為低電平有效,同時(shí)相應(yīng)的,對第一異常信息和第二異常信息進(jìn)行與計(jì)算得到的第三異常信息。因此,實(shí)際應(yīng)用中, 任何能體現(xiàn)出本發(fā)明設(shè)計(jì)思想的實(shí)現(xiàn)異常信息處理的方法,都應(yīng)當(dāng)納入本發(fā)明的保護(hù)范圍。優(yōu)選地,根據(jù)第三異常信息,對信元進(jìn)行丟棄包括生成信元的第一校驗(yàn)信息;根據(jù)第三異常信息對第一校驗(yàn)信息進(jìn)行加擾;判斷加擾后的第一校驗(yàn)信息是否正確,如果判斷結(jié)果為否,則對信元進(jìn)行丟棄。第一校驗(yàn)信息可以用于下游設(shè)備接收到信元之后,判斷該信元是否正確。本優(yōu)選實(shí)施例中,通過對第一校驗(yàn)信息進(jìn)行加擾,可以將信元的異常信息體現(xiàn)在該第一校驗(yàn)信息中,這樣,下游設(shè)備進(jìn)行信元第一校驗(yàn)信息的校驗(yàn)會(huì)得到校驗(yàn)結(jié)果不正確,這樣該信元會(huì)在下游丟棄。這種在出口側(cè)統(tǒng)一丟棄異常信元的方法幾乎不會(huì)浪費(fèi)資源,簡單有效。優(yōu)選地,根據(jù)第三異常信息對第一校驗(yàn)信息進(jìn)行加擾包括根據(jù)第三異常信息對校驗(yàn)信息取反。本優(yōu)選實(shí)施例中,在生成信元的第一校驗(yàn)信息之后,將該第一校驗(yàn)信息取反。這種實(shí)現(xiàn)方式簡單、可靠。優(yōu)選地,獲取待傳輸?shù)男旁牡谝划惓P畔ǐ@取與待傳輸?shù)男旁瑫r(shí)輸入的第二校驗(yàn)信息,判斷第二校驗(yàn)信息是否正確,如果判斷結(jié)果為否,則根據(jù)第二校驗(yàn)信息, 得到第一異常信息;如果判斷結(jié)果為是,則判斷待傳輸?shù)男旁念愋褪欠裾_,如果判斷結(jié)果為否,則得到第一異常信息;如果判斷結(jié)果為是,則判斷待傳輸?shù)男旁母袷绞欠衽c預(yù)先設(shè)置的類型的格式相同,如果判斷結(jié)果為否,則得到第一異常信息。本優(yōu)選實(shí)施例中描述了獲取第一異常信息的過程。與待傳輸?shù)男旁瑫r(shí)輸入的第二校驗(yàn)信息中包括用于判斷該信元在上游模塊的數(shù)據(jù)處理中是否存在錯(cuò)誤的信息,因此根據(jù)第二校驗(yàn)信息得到第一異常信息,充分考慮到了上游模塊對信元傳輸?shù)挠绊?。同時(shí),本地預(yù)先保存了信元的類型以及該類型的格式,通過判斷待傳輸?shù)男旁念愋图捌涓袷绞欠裾_,從而在各個(gè)傳輸環(huán)節(jié)上保證了信元異步FIFO傳輸?shù)恼_性與可靠性。優(yōu)選的,獲取信元的第二異常信息包括判斷RAM是否存在位錯(cuò)誤;如果判斷結(jié)果為是,則根據(jù)位錯(cuò)誤,獲取第二異常信息。本優(yōu)選實(shí)施例描述了在通過異步FIFO通道對所述信元進(jìn)行傳輸?shù)倪^程中,獲取第二異常信息的過程。如果RAM存在位錯(cuò)誤,則根據(jù)位錯(cuò)誤獲取第二異常信息,可以保證及時(shí)獲取信元的傳輸錯(cuò)誤,從而保證信元的正確傳輸。優(yōu)選地,上述方法還包括使用該信元控制異步FIFO通道的開啟或關(guān)閉。本優(yōu)選實(shí)施例中,通過控制異步FIFO通道的開啟或關(guān)閉,可以控制異步FIFO通道的讀取,從而解決了該異步FIFO通道讀空的問題。優(yōu)選地,在獲取待傳輸?shù)男旁牡谝划惓P畔⒅?,將第一異常信息與信元共同通過異步FIFO通道進(jìn)行傳輸。優(yōu)選地,在獲取待傳輸?shù)男旁牡谝划惓P畔⒅?,獲取信元的頭部標(biāo)識和尾部標(biāo)識;將頭部標(biāo)識、尾部標(biāo)識、第一異常信息與信元共同通過異步FIFO通道進(jìn)行傳輸。
      本優(yōu)選實(shí)施例中,生成信元的頭部標(biāo)識(SOC)和尾部標(biāo)識(eoc),然后將該頭部標(biāo)識(SOC)、尾部標(biāo)識(e0C)和第一異常信息(err)伴隨數(shù)據(jù)一起寫入FIFO。這樣,異步FIFO 的讀側(cè)可以通過判斷該頭部標(biāo)識(SOC)判斷是否開始對信元進(jìn)行讀取,以及通過判斷該尾部標(biāo)識(eoc)判斷信元是否已經(jīng)讀取完畢,從而保證信元的正確傳輸。需要說明的是,為了傳輸上述頭部標(biāo)識(SOC)、尾部標(biāo)識(eoc)和第一異常信息 (err),可以在信元的位寬上增加!3bit。同時(shí),優(yōu)選地,將上述頭部標(biāo)識(soc)、尾部標(biāo)識 (eoc)和第一異常信息(err)作為信元數(shù)據(jù)的一部分一同計(jì)算奇偶校驗(yàn)位或者ECC。優(yōu)選地,將尾部標(biāo)識置于從信元的最高位開始的第二位,并與信元共同通過異步 FIFO通道進(jìn)行傳輸。由于讀數(shù)據(jù)較讀使能晚一節(jié)拍,等到讀出尾部標(biāo)識(eoc)之后下一次讀數(shù)據(jù)的讀使能已經(jīng)給出。本優(yōu)選實(shí)施例中,將尾部標(biāo)識(eoc)放在信元的倒數(shù)第二個(gè)位置上,可以避免上述讀數(shù)據(jù)較讀使能晚的問題。圖3為根據(jù)本發(fā)明實(shí)施例的頭部信息(soc),尾部信息(eoc)和異常信息(err)與信元的位置關(guān)系的示意圖,如圖3所示,就描述了尾部標(biāo)識 (eoc)放在信元的倒數(shù)第二個(gè)位置上的情況。優(yōu)選地,基于本優(yōu)選實(shí)施例的設(shè)計(jì)思想,還可以將eoc標(biāo)志放在信元的倒數(shù)第三個(gè)位置或者倒數(shù)第四個(gè)位置上。相關(guān)技術(shù)中,用empty或者通過信元頭類型獲取信元長度,從而數(shù)節(jié)拍帶來判斷包是否已經(jīng)完整讀出。本優(yōu)選實(shí)施例中,通過eoc標(biāo)志可以準(zhǔn)確的判斷包是否完整讀出,擺脫了格雷碼因時(shí)序問題導(dǎo)致的empty生成滯后以及信元頭本身讀出的時(shí)候發(fā)生錯(cuò)誤導(dǎo)致誤判從而導(dǎo)致FIFO指針亂序的問題。本發(fā)明實(shí)施例提供了一種信元傳輸裝置,該信元傳輸裝置可以用于實(shí)現(xiàn)上述信元傳輸方法。圖4是根據(jù)本發(fā)明實(shí)施例的信元傳輸裝置的結(jié)構(gòu)框圖,包括預(yù)處理模塊42,異步 FIFO模塊44和處理模塊46。下面對其結(jié)構(gòu)進(jìn)行詳細(xì)描述。預(yù)處理模塊42,用于獲取待傳輸?shù)男旁械牡谝划惓P畔?;異步FIFO模塊44,用于在通過異步FIFO通道對信元進(jìn)行傳輸?shù)倪^程中,獲取信元的第二異常信息;處理模塊 46,連接至預(yù)處理模塊42和異步FIFO模塊44,用于根據(jù)預(yù)處理模塊42獲取的第一異常信息和異步FIFO模塊44獲取的第二異常信息,對信元進(jìn)行丟棄。相關(guān)技術(shù)中,如果信元傳輸錯(cuò)誤,將導(dǎo)致傳輸該信元的異步FIFO通道內(nèi)的傳輸?shù)刂分羔榿y序,進(jìn)而將導(dǎo)致后續(xù)通過該異步FIFO通道傳輸?shù)乃行旁紓鬏斿e(cuò)誤。本發(fā)明實(shí)施例中,第一異常信息可以用于判斷該信元在上游模塊的數(shù)據(jù)處理中是否存在錯(cuò)誤,第二異常信息可以用于判斷該信元在通過異步FIFO通道的過程中是否存在錯(cuò)誤,然后對信元進(jìn)行丟棄,可以避免該信元對后續(xù)通過該異步FIFO通道傳輸?shù)乃行旁挠绊?,進(jìn)而實(shí)現(xiàn)穩(wěn)定可靠異步FIFO傳輸。需要說明的是,裝置實(shí)施例中描述的信元傳輸裝置對應(yīng)于上述的方法實(shí)施例,其具體的實(shí)現(xiàn)過程在方法實(shí)施例中已經(jīng)進(jìn)行過詳細(xì)說明,在此不再贅述。為了幫助理解上述實(shí)施例,下面進(jìn)一步描述本發(fā)明的其它多個(gè)優(yōu)選實(shí)施例。本發(fā)明的信元傳輸裝置由六部分組成,分別是預(yù)處理模塊(pre_pr0CeSS)、異步 FIFO模塊(aSynC_fif0)、FIF0控制模塊(fifo_ctrl)、校驗(yàn)信息生產(chǎn)模塊(check_gen)、鏈路格式生成模塊(f0rmat_gen)及編碼模塊(encode)。其中前面四個(gè)部分是本發(fā)明裝置的關(guān)鍵部分。各個(gè)模塊的功能描述如下1,預(yù)處理模塊實(shí)現(xiàn)了對控制信息的提取,生成S0C、e0C和err信號,為信元數(shù)據(jù)寫 Λ async_fifo 做準(zhǔn)備。所謂的對控制信息的提取,包括前面關(guān)于信元的異常信息的提取,以及內(nèi)部對信元的整體進(jìn)行檢測判斷,保證寫入的信元無非法信元。2,異步FIFO模塊即實(shí)現(xiàn)跨時(shí)鐘域的轉(zhuǎn)換功能。3,F(xiàn)IFO控制模塊實(shí)現(xiàn)了對FIFO的控制,并對輸出的數(shù)據(jù)進(jìn)行處理,根據(jù)讀出數(shù)據(jù)的信息來控制讀使能的打開和關(guān)閉,是整個(gè)發(fā)明裝置的重要部分。4,校驗(yàn)信息生產(chǎn)模塊實(shí)現(xiàn)了對輸出信元的校驗(yàn)信息的生成,同時(shí)根據(jù)前級模塊給出的異常信元標(biāo)志對完成校驗(yàn)的信元的校驗(yàn)信息進(jìn)行加擾,使得異常信元在下游因?yàn)樾r?yàn)錯(cuò)誤而實(shí)現(xiàn)對異常信元的間接丟棄。5,鏈路格式生成模塊實(shí)現(xiàn)了發(fā)送信元的鏈路格式的生成。主要是根據(jù)前面模塊給出的控制信號,實(shí)現(xiàn)鏈路格式的轉(zhuǎn)換。6,編碼模塊實(shí)現(xiàn)對發(fā)送數(shù)據(jù)的編碼,可以是一個(gè)通用標(biāo)準(zhǔn)模塊。通過編碼使得 SerDes鏈路上發(fā)送的數(shù)據(jù)的直流電平達(dá)到平衡。由于時(shí)鐘頻率,數(shù)據(jù)總線寬帶以及傳輸信元的特征不一樣,所使用的異步FIFO的大小和各種門限設(shè)置會(huì)不同,本實(shí)施例旨在介紹SOC、eoc在設(shè)計(jì)中的運(yùn)用,以及如何實(shí)現(xiàn)鏈路上信元個(gè)數(shù)的動(dòng)態(tài)配置。鑒于異步FIFO的設(shè)計(jì)根據(jù)頻率和帶寬有很大關(guān)系,它們直接關(guān)系到FIFO的深度和門限設(shè)置等關(guān)鍵技術(shù)點(diǎn)。下面結(jié)合優(yōu)選實(shí)施例和附圖對上述實(shí)施例的實(shí)現(xiàn)過程進(jìn)行詳細(xì)說明。優(yōu)選實(shí)施例一由于時(shí)鐘頻率,數(shù)據(jù)總線寬帶以及傳輸信元或者包的特征不一樣,所使用的異步 FIFO的大小和各種門限設(shè)置會(huì)不同,本優(yōu)選實(shí)施例一旨在介紹soc、eoc在設(shè)計(jì)中的運(yùn)用, 以及如何實(shí)現(xiàn)鏈路上信元個(gè)數(shù)的動(dòng)態(tài)配置。本實(shí)施例以信元的發(fā)送來描述,其中信元涉及到多種類型,在信元的長度上不是等長的。aSynC_fif0的寫側(cè)的時(shí)鐘記為sys_clk,頻率是250MHz,總線寬帶是32bit,一個(gè)信元寫入都需要多個(gè)時(shí)鐘周期才能完成。在這里,假設(shè)信元分?jǐn)?shù)據(jù)信元和控制信元兩種,大小分別是144字節(jié)和M字節(jié),即分別需要36個(gè)時(shí)鐘周期和6個(gè)時(shí)鐘周期完成。假定當(dāng)沒有需要發(fā)送的有效信元情況下會(huì)發(fā)送一種特殊信元來傳遞有效信息,從而填充鏈路上的信元,即對于asynC_fif0來說輸入的數(shù)據(jù)是不間斷的。asynC_fif0的讀側(cè)的時(shí)鐘記為ref_ clk,頻率是312. 5MHz,fifo_ctrl模塊的輸出總線寬帶是16bit。所涉及的標(biāo)準(zhǔn)異步FIFO 大小為6 ^ ,調(diào)用了一個(gè)帶奇偶校驗(yàn)功能的RAM (RAM的大小6#x36b,其中有Ibit是奇偶校驗(yàn)位)。FIFO的將空(almost_empty)門限為4,將滿(almost_ful)門限是16。FIFO 的寫溢出規(guī)避是通過FIFO的將滿信號來反壓前級模塊,使其停止輸出信元。前級模塊響應(yīng)反壓的方式是按信元來反壓,即在信元寫一部分的情況下受到反壓時(shí),等信元寫完之后才響應(yīng)反壓。下面就各個(gè)部分的實(shí)現(xiàn)步驟進(jìn)行描述1.待傳輸數(shù)據(jù)經(jīng)過處理,送到本裝置入口。因?yàn)楸狙b置的上游模塊在數(shù)據(jù)處理時(shí)可能也有使用RAM等資源,會(huì)存在RAM產(chǎn)生bit錯(cuò)誤的問題,當(dāng)然,還可以包括其他處理過程中的狀態(tài)信息,來標(biāo)識該信元是否異常。圖6是根據(jù)本發(fā)明優(yōu)選實(shí)施例的輸入信元的時(shí)序的示意圖,在收到這樣的信元及其相關(guān)信息后,通過對圖6所示的dat_vld信號進(jìn)行提取上升沿脈沖和下降沿脈沖,再通過寄存器對脈沖和數(shù)據(jù)進(jìn)行適當(dāng)延時(shí),即可得到S0C、e0C標(biāo)志以及期望的相位關(guān)系(soc與信元頭對齊,eoc與信元的倒數(shù)第二個(gè)數(shù)據(jù)對齊)。在信元頭位置,對信元頭信息進(jìn)行判斷,將判斷結(jié)果合并信元攜帶的異常信息一起,生成err標(biāo)志。2.前面生成的soc、eoc和err放在數(shù)據(jù)的高3bit位置,作為wr_data —同寫入異步FIFO。在異步FIFO內(nèi)部,調(diào)用一個(gè)帶奇偶校驗(yàn)的RAM,根據(jù)寫數(shù)據(jù)生成相應(yīng)的校驗(yàn)位, 與數(shù)據(jù)一同寫入RAM;同時(shí)對RAM輸出的數(shù)據(jù)進(jìn)行奇偶校驗(yàn),產(chǎn)生校驗(yàn)結(jié)果指示。3.在異步FIFO的讀側(cè),首先根據(jù)FIFO的將空信元alm0St_empty來作為讀側(cè)的啟動(dòng)信號。在當(dāng)前實(shí)施例下該信號只觸發(fā)一次,由于讀空帶寬小于寫口帶寬,所以對于讀口來說永遠(yuǎn)不會(huì)出現(xiàn)FIFO讀空的情況(因?yàn)榍凹壞K會(huì)產(chǎn)生特殊信元來填充鏈路上發(fā)送的信元)。啟動(dòng)信號觸發(fā)FIFO控制模塊開始工作。4. FIFO控制模塊產(chǎn)生FIFO的讀使能rd_en。由于總線位寬由原來的32bit變成 16bit,所以讀操作是讀一拍之后隔一拍才讀下一次。5.在讀使能給出后的下一個(gè)時(shí)鐘周期,F(xiàn)IFO數(shù)據(jù)被讀出。考慮到FIFO數(shù)據(jù)出來延時(shí)比較大,故用讀使能的延時(shí)信號(rd_en_dlyl)作為觸發(fā)來將FIFO數(shù)據(jù)用寄存器打一拍,然后根據(jù)FIFO寫側(cè)的排序順序?qū)oc、eoc、err和信元數(shù)據(jù)分離出來。在ref_clk時(shí)鐘域,分離出來的信用數(shù)據(jù)記為cell_data_dly,分離出來的soc和eoc分別記為soc_rd和 eoc_rd,這兩個(gè)標(biāo)志均處理成脈沖信號。6.圖7是根據(jù)本發(fā)明優(yōu)選實(shí)施例的總線位寬轉(zhuǎn)換的示意圖,將數(shù)據(jù)Cell_data_ dly經(jīng)過圖7所示的處理,將總線32bit的數(shù)據(jù)轉(zhuǎn)換成總線16bit,得到cf0_data的數(shù)據(jù)輸 [ti cfo—圖8是根據(jù)本發(fā)明優(yōu)選實(shí)施例的異常信元生成校驗(yàn)信息的時(shí)序的示意圖,RAM奇偶校驗(yàn)結(jié)果與FIFO讀出的err標(biāo)志相或,生成一個(gè)新的錯(cuò)誤標(biāo)志,與數(shù)據(jù)走相同路徑,伴隨數(shù)據(jù)輸出作為標(biāo)識當(dāng)前數(shù)據(jù)是否有異常(如圖8中的dat_err)。soc、eoc標(biāo)志經(jīng)過處理, 作為輸出信元的真正的頭和尾的指示信號伴隨cf0_data—起輸出,分別記為cell_hd和 cell_tailο7.假定校驗(yàn)信息生產(chǎn)模塊的校驗(yàn)方式是通過生成CRC位來校驗(yàn),其中CRC的bit 數(shù)是16bit。校驗(yàn)信息生成模塊依據(jù)cell_hd和cell_tail對信元進(jìn)行定界,完成crc生成, 并填充到信元的crc位置。其中信元頭信息cell_hd控制CRC的清零,信元尾信息cell_ tail控制CRC的在信元中的插入。在校驗(yàn)信息生成模塊輸出數(shù)據(jù)的時(shí)候,如果檢測到dat_ err有效,則將數(shù)據(jù)進(jìn)行所有比特位進(jìn)行翻轉(zhuǎn)作為輸出給后級模塊,這樣在下游模塊接收到信元進(jìn)行crc校驗(yàn)時(shí)就會(huì)得出crc校驗(yàn)錯(cuò)誤的結(jié)果,信元會(huì)被丟棄,從而實(shí)現(xiàn)了間接信元丟棄,不會(huì)額外浪費(fèi)資源。圖8是根據(jù)本發(fā)明優(yōu)選實(shí)施例的異常信元生成校驗(yàn)信息的時(shí)序的示意圖,圖9是根據(jù)本發(fā)明優(yōu)選實(shí)施例的校驗(yàn)信息生成模塊的數(shù)據(jù)輸出的示意圖,該圖8、圖9就示出了上述信元丟棄的過程。cell_vld,cell_hd和cell_tail等控制信息繼續(xù)隨數(shù)據(jù)往后傳遞,給其他邏輯的控制帶來方便。8.信元經(jīng)過鏈路格式生產(chǎn)和編碼模塊的處理之后,信元通過接口發(fā)送出去。上述實(shí)施例中,由于異步FIFO的讀出數(shù)據(jù)需要進(jìn)行32bit轉(zhuǎn)16bit,使得讀使能是間歇性的給出,即讀一拍停一拍,然后再讀一拍。在響應(yīng)eoc信號時(shí)處理時(shí)間非常的寬裕。 對于讀使能是連續(xù)給出的情況,為了回避eoc滯后于讀使能的情況,也可以在異步FIFO的寫側(cè),將eoc這個(gè)標(biāo)簽打在信元或包的倒數(shù)第三或者倒數(shù)第四個(gè)數(shù)據(jù)上,設(shè)計(jì)的思想是一樣的。當(dāng)奇偶校驗(yàn)發(fā)生錯(cuò)誤的位置在SOC或者eoc比特上時(shí),導(dǎo)致soc或者eoc丟失,這種情況下本裝置會(huì)發(fā)生信元異常,相鄰的兩個(gè)信元都會(huì)因?yàn)閏rc校驗(yàn)失敗而丟棄,但是再往后面的正確信元不會(huì)受到影響。這樣依靠soc和eoc及err等信息位進(jìn)行控制實(shí)現(xiàn)的方式,具有良好的糾錯(cuò)能力。優(yōu)選實(shí)施例二在優(yōu)選實(shí)施例一的基礎(chǔ)上調(diào)整相關(guān)參數(shù)如下異步FIFO的寫測沒有特殊信元來填充鏈路,即寫端口存在長時(shí)間無信元寫入的情況,此時(shí)會(huì)出現(xiàn)FIFO讀空。具體實(shí)現(xiàn)步驟只需在實(shí)施例1的步驟3 (FIFO控制模塊處理邏輯)做如下調(diào)整即可完成實(shí)施例2.在FIFO控制模塊中設(shè)計(jì)一個(gè)標(biāo)志位(ready),該標(biāo)志位初始化為O在FIFO的將空(alm0St_empty)從有效變成無效的時(shí)候,ready變成有效(即為高電平),開始啟動(dòng)讀操作;在alm0St_empty有效的時(shí)候,檢測到eoc之后,將ready拉低,停止讀操作。這樣確保 FIFO被讀空。在下一個(gè)信元寫入之后,ready拉高,繼續(xù)新的讀操作。其它實(shí)現(xiàn)步驟跟優(yōu)選實(shí)施例一相同。在優(yōu)選實(shí)施例二中,F(xiàn)IFO讀空不依賴FIFO的空標(biāo)志empty來判斷,而是利用將空標(biāo)志alm0St_empty和eoc標(biāo)志來完成讀操作的控制,確保信元完整讀出FIFO。由于eoc放在信元的倒數(shù)第二個(gè)數(shù)據(jù)上,留出了時(shí)間余量,這樣確保了 FIFO不會(huì)產(chǎn)生誤讀的操作。利用將空、將滿和soc、eoc的信息組合來實(shí)現(xiàn)FIFO的控制,很好的規(guī)避了異步 FIFO內(nèi)格地址在雷碼轉(zhuǎn)換后因?yàn)闀r(shí)序原因?qū)е翭IFO的狀態(tài)信息不準(zhǔn)確的問題,為數(shù)據(jù)傳輸?shù)姆€(wěn)定可靠提供了保障。需要說明的是,上述本發(fā)明的設(shè)計(jì)思想,不局限于對信元的處理,對包的處理同樣適用。綜上所述,根據(jù)本發(fā)明的上述實(shí)施例,采用根據(jù)信元及其傳輸過程中的異常信息, 對其進(jìn)行丟棄,解決了信元傳輸錯(cuò)誤導(dǎo)致的后續(xù)通過異步FIFO通道傳輸?shù)乃行旁紓鬏斿e(cuò)誤的問題,進(jìn)而實(shí)現(xiàn)穩(wěn)定可靠異步FIFO傳輸。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
      以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1.一種信元傳輸方法,其特征在于,包括 獲取待傳輸?shù)男旁械牡谝划惓P畔?;在通過異步先入先出FIFO通道對所述信元進(jìn)行傳輸?shù)倪^程中,獲取所述信元的第二異常信息;根據(jù)所述第一異常信息和所述第二異常信息,確定是否對所述信元進(jìn)行丟棄。
      2.根據(jù)權(quán)利要求1所述的信元傳輸方法,其特征在于,所述第一異常信息和所述第二異常信息均為高電平有效,根據(jù)所述第一異常信息和所述第二異常信息,對所述信元進(jìn)行丟棄包括對所述第一異常信息和所述第二異常信息進(jìn)行或計(jì)算,得到第三異常信息; 根據(jù)所述第三異常信息,對所述信元進(jìn)行丟棄。
      3.根據(jù)權(quán)利要求2所述的信元傳輸方法,其特征在于,根據(jù)所述第三異常信息,對所述信元進(jìn)行丟棄包括生成所述信元的第一校驗(yàn)信息;根據(jù)所述第三異常信息對所述第一校驗(yàn)信息進(jìn)行加擾;判斷所述加擾后的第一校驗(yàn)信息是否正確,如果判斷結(jié)果為否,則對所述信元進(jìn)行丟棄。
      4.根據(jù)權(quán)利要求3所述的信元傳輸方法,其特征在于,根據(jù)所述第三異常信息對所述第一校驗(yàn)信息進(jìn)行加擾包括根據(jù)所述第三異常信息對所述第一校驗(yàn)信息取反。
      5.根據(jù)權(quán)利要求1所述的信元傳輸方法,其特征在于,獲取所述待傳輸?shù)男旁牡谝划惓P畔ǐ@取與所述待傳輸?shù)男旁瑫r(shí)輸入的第二校驗(yàn)信息,判斷所述第二校驗(yàn)信息是否正確,如果判斷結(jié)果為否,則根據(jù)所述第二校驗(yàn)信息,得到所述第一異常信息;如果判斷結(jié)果為是,則判斷所述待傳輸?shù)男旁念愋褪欠裾_,如果判斷結(jié)果為否,則得到所述第一異常信息;如果判斷結(jié)果為是,則判斷所述待傳輸?shù)男旁母袷绞欠衽c預(yù)先設(shè)置的所述類型的格式相同,如果判斷結(jié)果為否,則得到所述第一異常信息。
      6.根據(jù)權(quán)利要求1所述的信元傳輸方法,其特征在于,獲取所述信元的第二異常信息包括判斷隨機(jī)存取器MM是否存在位錯(cuò)誤;如果判斷結(jié)果為是,則根據(jù)所述位錯(cuò)誤,獲取所述第二異常信息。
      7.根據(jù)權(quán)利要求1所述的信元傳輸方法,其特征在于,還包括 使用所述信元,控制所述異步FIFO通道的開啟或關(guān)閉。
      8.根據(jù)權(quán)利要求1至7中任一項(xiàng)所述的信元傳輸方法,其特征在于,在獲取所述待傳輸?shù)男旁乃龅谝划惓P畔⒅?,所述方法還包括將所述第一異常信息與所述信元共同通過所述異步FIFO通道進(jìn)行傳輸。
      9.根據(jù)權(quán)利要求8所述的信元傳輸方法,其特征在于,在獲取所述待傳輸?shù)男旁乃龅谝划惓P畔⒅?,所述方法還包括獲取所述信元的頭部標(biāo)識和尾部標(biāo)識;將所述頭部標(biāo)識和所述尾部標(biāo)識與所述信元共同通過所述異步FIFO通道進(jìn)行傳輸。
      10.根據(jù)權(quán)利要求9所述的信元傳輸方法,其特征在于,將所述尾部標(biāo)識置于從所述信元的最高位開始的第二位,并與所述信元共同通過所述異步FIFO通道進(jìn)行傳輸。
      11.一種信元傳輸裝置,其特征在于,包括預(yù)處理模塊,用于獲取待傳輸?shù)男旁械牡谝划惓P畔?;異步先入先出FIFO模塊,用于在通過異步FIFO通道對所述信元進(jìn)行傳輸?shù)倪^程中,獲取所述信元的第二異常信息;處理模塊,用于根據(jù)所述第一異常信息和所述第二異常信息,對所述信元進(jìn)行丟棄。
      全文摘要
      本發(fā)明公開了一種信元傳輸方法及裝置,該方法包括獲取待傳輸?shù)男旁械牡谝划惓P畔?;在通過異步先入先出FIFO通道對信元進(jìn)行傳輸?shù)倪^程中,獲取信元的第二異常信息;根據(jù)第一異常信息和第二異常信息,確定是否對信元進(jìn)行丟棄。本發(fā)明實(shí)現(xiàn)了穩(wěn)定可靠異步FIFO傳輸。
      文檔編號H04L1/00GK102377660SQ20101026043
      公開日2012年3月14日 申請日期2010年8月20日 優(yōu)先權(quán)日2010年8月20日
      發(fā)明者廖智勇 申請人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1