專利名稱:一種單芯片異步通信接口的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路領(lǐng)域,尤其涉及一種單芯片異步通信接口。
背景技術(shù):
隨著集成電路工藝技術(shù)的不斷進(jìn)步,在深亞微米工藝節(jié)點(diǎn)下,集成電路設(shè)計(jì)方法學(xué)進(jìn)入基于IP (Intellectual Property core,內(nèi)核模塊)核復(fù)用技術(shù)的片上系統(tǒng)(SOC, System On A Chip,系統(tǒng)級(jí)芯片)芯片設(shè)計(jì)。在SOC設(shè)計(jì)中,IP核間的互聯(lián)結(jié)構(gòu)是實(shí)現(xiàn)IP核可重用性和系統(tǒng)可擴(kuò)展性的關(guān)鍵, 也是加速?gòu)?fù)雜和大型SOC設(shè)計(jì)和測(cè)試的關(guān)鍵。如圖1示,采用專用直連線實(shí)現(xiàn)核間通信導(dǎo)致大量的互連引腳、較長(zhǎng)的路由時(shí)間、較大的路由面積和不可擴(kuò)展的系統(tǒng),很少有設(shè)計(jì)采用這種方式;目前最常用的基于總線互連的核間通信結(jié)構(gòu),由于其減少的互連引腳、簡(jiǎn)化的布線資源以及較高的可擴(kuò)展性而受到人們推崇,但是由于其共享的總線帶寬而無(wú)法滿足大規(guī)模系統(tǒng)的性能需求。同時(shí),單芯片內(nèi)IP核的數(shù)量和規(guī)模越來(lái)越大,伴隨著不同類型存儲(chǔ)器模塊的使用,大型高性能數(shù)字系統(tǒng)設(shè)計(jì)中,同步設(shè)計(jì)方法遇到的問(wèn)題也越來(lái)越多。時(shí)鐘頻率由于受到最大延遲操作的影響,不利于提高芯片的工作頻率;系統(tǒng)時(shí)鐘的分布也越來(lái)越復(fù)雜,不利于同步設(shè)計(jì)和多時(shí)鐘設(shè)計(jì)的實(shí)現(xiàn);芯片內(nèi)部工作頻率達(dá)到GHz以上時(shí),時(shí)鐘漂移和互連線延遲對(duì)時(shí)鐘分布的影響也不容忽視;出于低功耗的考量,對(duì)于無(wú)效時(shí)鐘操作的能量管理也十分必要。為解決上述問(wèn)題,眾多研究者提出基于異步交換網(wǎng)絡(luò)的全局異步局部同步(GALS, Global Asynchronous Local Synchronous)工作模式的SOC芯片設(shè)計(jì),又被稱為片上網(wǎng)絡(luò) (N0C,Networks-on-Chip)芯片。片上網(wǎng)絡(luò)可以提供理論上無(wú)限的可擴(kuò)展性,還提供了標(biāo)準(zhǔn)化以及通信基礎(chǔ)結(jié)構(gòu)可重用的可能性,是未來(lái)大型數(shù)字系統(tǒng)芯片的發(fā)展方向。為實(shí)現(xiàn)片上網(wǎng)絡(luò)中不同IP核之間的通信,同時(shí)滿足IP核的可重用性,在連接到異步交換網(wǎng)絡(luò)之前,需要對(duì)IP核進(jìn)行接口設(shè)計(jì)或者包裝,此接口設(shè)計(jì)需要滿足異步通信網(wǎng)絡(luò)之間的數(shù)據(jù)同步和傳輸。
發(fā)明內(nèi)容
本發(fā)明要解決的主要技術(shù)問(wèn)題是,提供一種單芯片異步通信接口及單芯片異步通信方法,能夠滿足異步通信網(wǎng)絡(luò)之間的數(shù)據(jù)同步和傳輸,從而可用于基于異步通信的片上網(wǎng)絡(luò)中不同IP核之間的互連。為解決上述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)手段如下一種單芯片異步通信接口,包括時(shí)鐘模塊、同步塊、輸入輸出控制器,所述時(shí)鐘模塊與所述同步塊相連,用于向所述同步塊提供時(shí)鐘信號(hào);所述輸入輸出控制器與所述時(shí)鐘模塊和所述同步塊相連,用于同外部網(wǎng)絡(luò)進(jìn)行異步握手通信,并產(chǎn)生控制信號(hào)控制數(shù)據(jù)輸入所述同步塊,以及經(jīng)過(guò)所述同步塊處理后的數(shù)據(jù)的輸出,同時(shí)控制所述時(shí)鐘模塊的啟停;所述同步塊用于根據(jù)所述控制信號(hào)和時(shí)鐘信號(hào),對(duì)輸入的數(shù)據(jù)進(jìn)行同步和處理,并將處理后的數(shù)據(jù)進(jìn)行同步并輸出。進(jìn)一步地,所述輸入輸出控制器包括與所述時(shí)鐘模塊和同步模塊相連的輸入控制器和輸出控制器,所述輸入控制器用于從外部網(wǎng)絡(luò)接收數(shù)據(jù),判斷該數(shù)據(jù)是否有效,如是, 則檢查并保存所述數(shù)據(jù)的選擇信息,并根據(jù)所述選擇信息產(chǎn)生輸入控制信號(hào),控制所述數(shù)據(jù)輸入所述同步塊,同時(shí)開(kāi)啟所述時(shí)鐘模塊;所述輸出控制器用于根據(jù)所述選擇信息生成輸出控制信號(hào),控制所述同步塊輸出經(jīng)過(guò)處理后的數(shù)據(jù),并發(fā)送到外部網(wǎng)絡(luò),同時(shí)關(guān)閉所述時(shí)鐘模塊。進(jìn)一步地,所述同步塊包括功能子模塊、功能子模塊接口和數(shù)據(jù)同步接口,所述數(shù)據(jù)同步接口與所述時(shí)鐘模塊、輸入輸出控制器和功能子模塊接口相連,用于在所述時(shí)鐘信號(hào)的驅(qū)動(dòng)下,接收所述外部網(wǎng)絡(luò)的數(shù)據(jù),再根據(jù)所述控制信號(hào),將所接收的數(shù)據(jù)進(jìn)行保存, 以及接收由所述功能子模塊接口發(fā)送來(lái)的數(shù)據(jù)并保存,再根據(jù)所述控制信號(hào),將存儲(chǔ)的數(shù)據(jù)輸出至所述外部網(wǎng)絡(luò);所述功能子模塊接口與所述功能子模塊和時(shí)鐘模塊相連,用于在所述時(shí)鐘信號(hào)的驅(qū)動(dòng)下,讀取存儲(chǔ)在所述數(shù)據(jù)同步接口中存儲(chǔ)的數(shù)據(jù),并進(jìn)行解包處理,再發(fā)送給所述功能子模塊,以及用于接收經(jīng)過(guò)所述功能子模塊處理的數(shù)據(jù),并進(jìn)行打包處理, 再發(fā)送給所述數(shù)據(jù)同步接口 ;所述功能子模塊與所述時(shí)鐘模塊相連,用于在所述時(shí)鐘信號(hào)的驅(qū)動(dòng)下,對(duì)經(jīng)過(guò)解包后的數(shù)據(jù)進(jìn)行處理,并將處理后的數(shù)據(jù)發(fā)送給所述功能子模塊接口。進(jìn)一步地,所述數(shù)據(jù)同步接口包括輸入先入先出存儲(chǔ)器、輸出先入先出存儲(chǔ)器、旁路先入先出存儲(chǔ)器和端口子模塊;所述端口子模塊與所述輸入先入先出存儲(chǔ)器、輸出先入先出存儲(chǔ)器、旁路先入先出存儲(chǔ)器、輸入控制器和輸出控制器相連,用于根據(jù)所述控制信號(hào),將接收的外部網(wǎng)絡(luò)的數(shù)據(jù)分發(fā)給相應(yīng)的所述輸入先入先出存儲(chǔ)器,或者旁路先入先出存儲(chǔ)器,以及用于根據(jù)所述控制信號(hào),讀取所述輸出先入先出存儲(chǔ)器或者旁路先入先出存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù),并發(fā)送至外部網(wǎng)絡(luò);所述輸入先入先出存儲(chǔ)器與所述功能子模塊接口相連,用于存儲(chǔ)所述端口子模塊分發(fā)來(lái)的數(shù)據(jù);所述輸出先入先出存儲(chǔ)器與所述功能子模塊接口相連,用于存儲(chǔ)所述功能子模塊接口發(fā)送來(lái)的數(shù)據(jù);所述旁路先入先出存儲(chǔ)器用于存儲(chǔ)所述端口子模塊分發(fā)來(lái)的輸入數(shù)據(jù)。進(jìn)一步地,所述數(shù)據(jù)同步接口為多層數(shù)據(jù)同步接口,所述輸入輸出控制器為多個(gè), 且每一層所述數(shù)據(jù)同步接口與一個(gè)輸入輸出控制器相連,所述同步塊還包括與所述多層數(shù)據(jù)同步接口和功能子模塊接口相連的路由器和多選器,所述多選器用于當(dāng)所述輸入輸出控制器控制所述多層數(shù)據(jù)同步接口寫(xiě)入數(shù)據(jù)后,輪詢讀取所述多層數(shù)據(jù)同步接口的輸入先入先出存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù),并將當(dāng)前讀取的數(shù)據(jù)發(fā)送至所述功能子模塊接口 ;所述功能子模塊接口則用于接收所述當(dāng)前讀取的數(shù)據(jù),并進(jìn)行解包后發(fā)送給所述功能子模塊,以及用于將經(jīng)過(guò)所述功能子模塊處理后所述當(dāng)前讀取的數(shù)據(jù)進(jìn)行打包后,發(fā)送給所述路由器;所述功能子模塊則用于處理解包后的所述當(dāng)前讀取的數(shù)據(jù),并發(fā)送給所述功能子模塊接口 ; 所述路由器用于接收所述功能子模塊接口發(fā)送來(lái)的經(jīng)過(guò)處理的所述當(dāng)前讀取的數(shù)據(jù),并將其發(fā)送給對(duì)應(yīng)層的數(shù)據(jù)同步接口中進(jìn)行存儲(chǔ);所述數(shù)據(jù)同步接口中,所述當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層的數(shù)據(jù)同步接口,用于根據(jù)其對(duì)應(yīng)的輸入輸出控制器的控制信號(hào),將經(jīng)過(guò)處理的所述當(dāng)前讀取數(shù)據(jù)發(fā)送至外部網(wǎng)絡(luò),其它層的所述數(shù)據(jù)同步接口用于根據(jù)其對(duì)應(yīng)層的輸入輸出控制器的控制信號(hào),直接將其內(nèi)部存儲(chǔ)的未經(jīng)過(guò)處理的數(shù)據(jù)發(fā)送至外部網(wǎng)絡(luò)。
進(jìn)一步地,所述多層數(shù)據(jù)同步接口包括與所述時(shí)鐘模塊相連的多層端口子模塊, 多個(gè)輸入先入先出存儲(chǔ)器,多個(gè)輸出先入先出存儲(chǔ)器和多個(gè)旁路先入先出存儲(chǔ)器,每一層所述端口子模塊與一個(gè)輸入先入先出存儲(chǔ)器、一個(gè)輸出先入先出存儲(chǔ)器和一個(gè)旁路先入先出存儲(chǔ)器相連,且與一個(gè)輸入控制器和一個(gè)輸出控制器相連,所述多層端口子模塊用于在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)對(duì)應(yīng)層的所述控制信號(hào),將輸入數(shù)據(jù)分發(fā)并存儲(chǔ)在對(duì)應(yīng)層的所述輸入先入先出存儲(chǔ)器,或者旁路先入先出存儲(chǔ)器,并且,由所述當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層數(shù)據(jù)同步接口中的所述端口子模塊,用于將其對(duì)應(yīng)的輸出先入先出存儲(chǔ)器中存儲(chǔ)的經(jīng)過(guò)處理的當(dāng)前讀取數(shù)據(jù)輸出至外部網(wǎng)絡(luò),其它層數(shù)據(jù)同步接口中的所述端子模塊,用于將其對(duì)應(yīng)的旁路輸入輸出存儲(chǔ)器中存儲(chǔ)的未經(jīng)過(guò)處理的數(shù)據(jù)輸出至外部網(wǎng)絡(luò)。進(jìn)一步地,所述端口子模塊包括多路選擇器和多路分發(fā)器,所述多路分發(fā)器與所述輸入輸出控制器、時(shí)鐘模塊和輸入先入先出存儲(chǔ)器、旁路先入先出存儲(chǔ)器相連,用于在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)所述控制信號(hào)將輸入數(shù)據(jù)分發(fā)給對(duì)應(yīng)的所述輸入先進(jìn)先出存儲(chǔ)器, 或者旁路先入先出存儲(chǔ)器;所述多路選擇器與所述輸入輸出控制器、時(shí)鐘模塊和輸出先入先出存儲(chǔ)器、旁路先入先出存儲(chǔ)器相連,用于在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)所述控制信號(hào),選擇所述輸出先入先出存儲(chǔ)器中存儲(chǔ)的經(jīng)過(guò)功能子模塊處理后的數(shù)據(jù),或者所述旁路先入先出存儲(chǔ)器中的數(shù)據(jù),并讀取、輸出至外部網(wǎng)絡(luò)。一種單芯片異步通信方法,包括輸入輸出控制器與外部網(wǎng)絡(luò)進(jìn)行異步通信握手,并生成控制信號(hào),發(fā)送至同步塊和時(shí)鐘模塊;開(kāi)啟時(shí)鐘模塊,并向所述同步模塊提供時(shí)鐘信號(hào);所述同步模塊在所述時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)所述控制信號(hào),從外部網(wǎng)絡(luò)接收數(shù)據(jù),并對(duì)所述數(shù)據(jù)進(jìn)行同步、處理;將經(jīng)過(guò)處理的數(shù)據(jù)進(jìn)行同步,再根據(jù)所述控制信號(hào)將所述處理過(guò)的數(shù)據(jù)輸出至外部網(wǎng)絡(luò);關(guān)閉所述時(shí)鐘模塊。進(jìn)一步地,所述輸入輸出控制器包括與外部網(wǎng)絡(luò)、時(shí)鐘模塊和同步塊相連的輸入控制器和輸出控制器所述輸入輸出控制器與外部網(wǎng)絡(luò)進(jìn)行異步通信握手,并生成控制信號(hào),發(fā)送至同步塊和時(shí)鐘模塊的步驟包括所述輸入控制器接收所述外部網(wǎng)絡(luò)的數(shù)據(jù),判斷所述數(shù)據(jù)是否有效,如是則檢查所述數(shù)據(jù)的地址信號(hào),并根據(jù)所述地址信號(hào)生成相應(yīng)的選擇信息,并保存;根據(jù)所述選擇信息生成輸入控制信號(hào),并發(fā)送給所述同步塊和時(shí)鐘模塊;當(dāng)所述同步塊將經(jīng)過(guò)的數(shù)據(jù)處理同步后,所述輸出控制器根據(jù)所述選擇信息生成輸出控制信號(hào),并發(fā)送給所述同步塊和時(shí)鐘模塊。進(jìn)一步地,所述同步塊包括與所述時(shí)鐘模塊相連的功能子模塊、功能子模塊接口和數(shù)據(jù)同步接口,所述功能子模塊接口與所述功能子模塊和數(shù)據(jù)同步接口相連,所述數(shù)據(jù)同步接口與所述輸入輸出控制器相連;所述同步塊在所述時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)所述控制信號(hào),從外部網(wǎng)絡(luò)接收數(shù)據(jù), 并對(duì)所述數(shù)據(jù)進(jìn)行同步、處理的步驟包括
所述數(shù)據(jù)同步接口在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,接收所述外部網(wǎng)絡(luò)的數(shù)據(jù),并根據(jù)所述控制信號(hào),對(duì)接收的數(shù)據(jù)進(jìn)行保存;所述功能子模塊接口讀取所述數(shù)據(jù)同步接口中存儲(chǔ)的數(shù)據(jù),對(duì)其進(jìn)行解包后,發(fā)送給所述功能子模塊;所述功能子模塊處理經(jīng)過(guò)解包后的數(shù)據(jù),并將處理后的數(shù)據(jù)發(fā)送給所述功能子模塊接口 ;所述同步塊將處理后的數(shù)據(jù)進(jìn)行同步,再發(fā)送至所述外部網(wǎng)絡(luò)的步驟包括所述功能子模塊接口打包所述處理后的數(shù)據(jù),并將打包后的數(shù)據(jù)發(fā)送給所述數(shù)據(jù)同步接口 ;所述數(shù)據(jù)同步接口存儲(chǔ)經(jīng)過(guò)所述功能子模塊打包后的數(shù)據(jù),并根據(jù)所述控制信號(hào)輸出所存儲(chǔ)的數(shù)據(jù)至外部網(wǎng)絡(luò)。進(jìn)一步地,所述數(shù)據(jù)同步接口包括與所述輸入輸出控制器和所述時(shí)鐘模塊相連的輸入先入先出存儲(chǔ)器、輸出先入先出存儲(chǔ)器、旁路先入先出存儲(chǔ)器和端口子模塊所述數(shù)據(jù)同步接口在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,接收所述外部網(wǎng)絡(luò)的數(shù)據(jù),并根據(jù)所述控制信號(hào),對(duì)接收的數(shù)據(jù)進(jìn)行保存的步驟包括所述端口子模塊在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,接收所述外部網(wǎng)絡(luò)的數(shù)據(jù);根據(jù)所述控制信號(hào),將輸入的數(shù)據(jù)分發(fā)給相應(yīng)的輸入先入先出存儲(chǔ)器或者旁路先入先出存儲(chǔ)器進(jìn)行存儲(chǔ);所述數(shù)據(jù)同步接口將經(jīng)過(guò)所述功能子模塊打包后的數(shù)據(jù)進(jìn)行存儲(chǔ),并根據(jù)所述控制信號(hào)將所述數(shù)據(jù)發(fā)送至外部網(wǎng)絡(luò)的步驟包括所述輸出先入先出存儲(chǔ)器接收所述功能子模塊接口發(fā)送來(lái)的打包后的數(shù)據(jù),并存儲(chǔ);所述端口子模塊根據(jù)所述控制信號(hào),讀取所述輸出先入先出存儲(chǔ)器內(nèi)存儲(chǔ)的打包后的數(shù)據(jù)或者旁路先入先出存儲(chǔ)器內(nèi)存儲(chǔ)的數(shù)據(jù),并發(fā)送至外部網(wǎng)絡(luò)。 進(jìn)一步地,所述數(shù)據(jù)同步接口為多層數(shù)據(jù)同步接口,所述輸入輸出控制器為多個(gè), 每層所述數(shù)據(jù)同步接口對(duì)應(yīng)與一個(gè)輸入輸出控制器相連,所述同步塊還包括與所述多層數(shù)據(jù)同步接口和功能子模塊接口相連的路由器和多選器所述數(shù)據(jù)同步接口在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,接收所述外部網(wǎng)絡(luò)的數(shù)據(jù),并根據(jù)所述控制信號(hào),對(duì)接收的數(shù)據(jù)進(jìn)行保存的步驟包括所述多層數(shù)據(jù)同步接口在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,接收所述外部網(wǎng)絡(luò)的數(shù)據(jù),并根據(jù)對(duì)應(yīng)層的輸入輸出控制器輸出的所述控制信號(hào),對(duì)接收的數(shù)據(jù)進(jìn)行保存;所述功能子模塊接口讀取所述數(shù)據(jù)同步接口中存儲(chǔ)的數(shù)據(jù),對(duì)其進(jìn)行解包后,發(fā)送給所述功能子模塊的步驟包括所述多選器輪詢讀取所述多層數(shù)據(jù)同步接口中存儲(chǔ)的數(shù)據(jù),并將當(dāng)前讀取的數(shù)據(jù)發(fā)送至所述功能子模塊接口;所述功能子模塊接口接收所述當(dāng)前讀取的數(shù)據(jù),對(duì)其進(jìn)行解包后,發(fā)送給所述功能子模塊;所述功能子模塊處理經(jīng)過(guò)解包后的數(shù)據(jù),并將處理后的數(shù)據(jù)發(fā)送給所述功能子模塊接口的步驟包括
所述功能子模塊對(duì)解包后的所述當(dāng)前讀取的數(shù)據(jù)進(jìn)行處理,并將處理后的所述當(dāng)前讀取的數(shù)據(jù)發(fā)送給所述功能子模塊接口;所述功能子模塊接口對(duì)所述處理后的數(shù)據(jù)進(jìn)行打包,并將打包后的數(shù)據(jù)發(fā)送給所述數(shù)據(jù)同步接口的步驟包括所述功能子模塊接口對(duì)處理后的所述當(dāng)前讀取的數(shù)據(jù)進(jìn)行打包,并將打包后的數(shù)據(jù)發(fā)送給所述路由器;所述路由器則將打包后的數(shù)據(jù)發(fā)送給所述當(dāng)前讀取數(shù)據(jù)對(duì)應(yīng)層的數(shù)據(jù)同步接 Π ;所述數(shù)據(jù)同步接口將經(jīng)過(guò)所述功能子模塊接口打包后的數(shù)據(jù)進(jìn)行存儲(chǔ),并根據(jù)所述控制信號(hào)將存儲(chǔ)的數(shù)據(jù)發(fā)送至外部網(wǎng)絡(luò)的步驟包括所述當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層的數(shù)據(jù)同步接口,根據(jù)其對(duì)應(yīng)的輸入輸出控制器輸出的控制信號(hào),將內(nèi)部存儲(chǔ)的經(jīng)過(guò)處理的所述當(dāng)前讀取數(shù)據(jù)輸出至外部網(wǎng)絡(luò);其他層的數(shù)據(jù)同步接口,根據(jù)其對(duì)應(yīng)的輸入輸出控制器輸出的控制信號(hào),將存儲(chǔ)的未經(jīng)過(guò)處理的數(shù)據(jù)輸出至外部網(wǎng)絡(luò)。進(jìn)一步地,所述多層數(shù)據(jù)同步接口包括與所述時(shí)鐘模塊相連的多層端口子模塊, 多個(gè)輸入先入先出存儲(chǔ)器,多個(gè)輸出先入先出存儲(chǔ)器和多個(gè)旁路先入先出存儲(chǔ)器,每一層所述端口子模塊與一個(gè)輸入先入先出存儲(chǔ)器、一個(gè)輸出先入先出存儲(chǔ)器和一個(gè)旁路先入先出存儲(chǔ)器相連,所述輸入輸出控制為多個(gè),每個(gè)輸入輸出控制器與一層所述端口子模塊相連所述多選器輪詢讀取所述多層數(shù)據(jù)同步接口中存儲(chǔ)的數(shù)據(jù),并將當(dāng)前讀取的數(shù)據(jù)發(fā)送至所述功能子模塊接口的步驟包括所述多選器輪詢讀取所述多層端口子模塊對(duì)應(yīng)的多個(gè)輸入先入先出存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù),并將當(dāng)前讀取的數(shù)據(jù)發(fā)送至所述功能子模塊接口 ;所述路由器則將打包后的數(shù)據(jù)發(fā)送給所述當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層的數(shù)據(jù)同步接口的步驟包括所述路由器將打包后的數(shù)據(jù)發(fā)送給所述當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層數(shù)據(jù)同步接口對(duì)應(yīng)的輸出先入先出存儲(chǔ)器;所述當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層的數(shù)據(jù)同步接口,根據(jù)其對(duì)應(yīng)的輸入輸出控制器輸出的控制信號(hào),將內(nèi)部存儲(chǔ)的經(jīng)過(guò)處理的所述當(dāng)前讀取數(shù)據(jù)輸出至外部網(wǎng)絡(luò)的步驟包括所述多選器當(dāng)前讀取的一層數(shù)據(jù)同步接口對(duì)應(yīng)的一層端口子模塊,讀取其對(duì)應(yīng)的輸出先入先出存儲(chǔ)器中存儲(chǔ)的,經(jīng)過(guò)處理的數(shù)據(jù),并輸出至外部網(wǎng)絡(luò);其他層所述數(shù)據(jù)同步接口,根據(jù)其對(duì)應(yīng)的輸入輸出控制器輸出的控制信號(hào),將存儲(chǔ)的未經(jīng)過(guò)處理的數(shù)據(jù)輸出至外部網(wǎng)絡(luò)的步驟包括其它層數(shù)據(jù)同步接口對(duì)應(yīng)的所述端口子模塊,讀取各層端口子模塊對(duì)應(yīng)的旁路輸入輸出存儲(chǔ)器中存儲(chǔ)的未經(jīng)過(guò)處理的數(shù)據(jù),并輸出至外部網(wǎng)絡(luò)。本發(fā)明的有益效果是本發(fā)明的單芯片異步通信接口包括時(shí)鐘模塊、輸入輸出控制器和同步模塊,其中輸入輸出控制器用于與外部異步網(wǎng)絡(luò)進(jìn)行異步握手通信,并產(chǎn)生控制信號(hào)控制時(shí)鐘模塊的啟停,以及數(shù)據(jù)輸入輸出該同步模塊,時(shí)鐘模塊用于向同步模塊提供時(shí)鐘信號(hào),同步模塊用于根據(jù)該控制信號(hào)和時(shí)鐘信號(hào),對(duì)輸入的數(shù)據(jù)進(jìn)行同步和處理,并將處理后的數(shù)據(jù)進(jìn)行同步,再由輸入輸出控制器輸出到外部異步網(wǎng)絡(luò)。本發(fā)明的單芯片異步通信接口通過(guò)同步塊在時(shí)鐘的驅(qū)動(dòng)下,根據(jù)輸入輸出控制器的控制信號(hào)完成對(duì)輸入的外部網(wǎng)絡(luò)數(shù)據(jù)的同步和處理,并將處理后的數(shù)據(jù)輸出至外部網(wǎng)絡(luò),從而滿足了異步通信網(wǎng)絡(luò)之間的數(shù)據(jù)同步和傳輸,進(jìn)而實(shí)現(xiàn)網(wǎng)絡(luò)中不同IP核之間的互連。本發(fā)明的單芯片通信接口的數(shù)據(jù)同步接口為多層數(shù)據(jù)同步接口,且每一層數(shù)據(jù)同步接口對(duì)應(yīng)一個(gè)輸入輸出控制器,所述同步塊還包括與該多層數(shù)據(jù)同步接口相連的多選器和路由器,其中多層數(shù)據(jù)同步接口與多維外部網(wǎng)絡(luò)連接,用接收外部網(wǎng)絡(luò)的數(shù)據(jù);多選器用于輪詢地讀取該多層數(shù)據(jù)同步接口中的數(shù)據(jù),并發(fā)送給功能子模塊接口,功能子模塊接口則用于接收多選器當(dāng)前讀取的數(shù)據(jù),并將其解包后,發(fā)送給功能子模塊,以及接收經(jīng)過(guò)功能子模塊處理后的數(shù)據(jù),并進(jìn)行打包,將打包后的數(shù)據(jù)發(fā)送給路由器;路由器則用于接收經(jīng)過(guò)打包后的數(shù)據(jù),并將其發(fā)送給該當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層的數(shù)據(jù)同步接口進(jìn)行存儲(chǔ);當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層數(shù)據(jù)同步接口用于根據(jù)其對(duì)應(yīng)的輸入輸出控制器的控制信息,將接收的所述經(jīng)過(guò)打包和處理后的數(shù)據(jù)發(fā)送至外部異步網(wǎng)絡(luò),其它層數(shù)據(jù)同步接口用于根據(jù)其對(duì)應(yīng)層的輸入輸出控制器的控制信息,直接將其內(nèi)部存儲(chǔ)的未經(jīng)過(guò)處理的數(shù)據(jù)發(fā)送至外部網(wǎng)絡(luò)。 本發(fā)明通過(guò)該多層數(shù)據(jù)同步接口接收多維外部網(wǎng)絡(luò)的數(shù)據(jù),并由多選器輪詢地讀取多層數(shù)據(jù)同步接口的數(shù)據(jù),由功能子模塊進(jìn)行處理,再由多選器當(dāng)前讀取的一層數(shù)據(jù)同步接口將處理后的數(shù)據(jù)發(fā)送至外部網(wǎng)絡(luò),而其它層數(shù)據(jù)同步接口,則根據(jù)相應(yīng)的控制信號(hào),直接將其內(nèi)部存儲(chǔ)的未經(jīng)過(guò)處理的數(shù)據(jù)輸出至外部網(wǎng)絡(luò),從而支持多維網(wǎng)絡(luò)數(shù)據(jù)的處理和同步。
圖la、圖Ib和圖Ic分別為采用專用直連線互聯(lián)、SOC共享總線互聯(lián)和NOC異步通信互聯(lián)的方式實(shí)現(xiàn)核間通信的示意圖;圖2為本發(fā)明的單芯片異步通信接口的一種實(shí)施例的模塊結(jié)構(gòu)示意圖;圖3為本發(fā)明的單芯片異步通信接口的一種實(shí)施例整機(jī)結(jié)構(gòu)示意圖;圖4為本發(fā)明的單芯片異步通信接口中的數(shù)據(jù)同步接口的一種實(shí)施例的結(jié)構(gòu)示意圖;圖5為本發(fā)明的單芯片異步通信接口中的端口子模塊的結(jié)構(gòu)的一種實(shí)施例,及其與其他模塊的連接示意圖;圖6為本發(fā)明的多層數(shù)據(jù)同步接口的一種實(shí)施例的結(jié)構(gòu)示意圖;圖7為基于本發(fā)明的單芯片異步通信接口的單芯片異步通信方法的一實(shí)施例的流程圖;圖8為本發(fā)明的單芯片異步通信方法的步驟Sl的一種實(shí)施例的流程圖;圖9為本發(fā)明的單芯片異步通信方法的步驟S3的一種實(shí)施例的流程圖;圖10為本發(fā)明的單芯片異步通信方法的步驟S4的一種實(shí)施例的流程圖;圖11為本發(fā)明的單芯片異步通信方法的又一實(shí)施例的流程圖;圖12為本發(fā)明的單芯片異步通信方法的步驟SOl的一種實(shí)施例的流程圖;圖13為本發(fā)明的單芯片異步通信方法的步驟S03的一種實(shí)施例的流程圖;圖14為本發(fā)明的單芯片異步通信方法的步驟S04的一種實(shí)施例的流程圖。
具體實(shí)施例方式下面通過(guò)具體實(shí)施方式
結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。請(qǐng)參考圖2,本實(shí)施方式的單芯片異步通信接口包括時(shí)鐘模塊1,輸入輸出控制器 2和同步模塊3。其中,時(shí)鐘模塊1與同步模塊3相連,用于為同步模塊3提供時(shí)鐘信號(hào);輸入輸出控制器2與該時(shí)鐘模塊1和同步模塊3相連,用于同外部異步網(wǎng)絡(luò)進(jìn)行異步握手通信,并產(chǎn)生控制信號(hào)控制時(shí)鐘模塊1的啟停,以及控制數(shù)據(jù)輸入該同步模塊3和經(jīng)過(guò)該同步塊3處理的數(shù)據(jù)的輸出;同步模塊3,用于根據(jù)該輸入輸出控制器2的控制信號(hào)和時(shí)鐘模塊 1的時(shí)鐘信號(hào)對(duì)輸入數(shù)據(jù)進(jìn)行同步和處理,并對(duì)處理后的數(shù)據(jù)進(jìn)行同步并輸出。本實(shí)施方式通過(guò)由輸入輸出控制器2來(lái)控制數(shù)據(jù)輸入或輸出該同步塊3,而該同步快3在時(shí)鐘模塊1的時(shí)鐘信號(hào)的驅(qū)動(dòng)下,以及輸入輸出控制器2的控制信號(hào)的控制下, 對(duì)由外部異步網(wǎng)絡(luò)輸入的數(shù)據(jù)進(jìn)行同步和處理,再將處理后的數(shù)據(jù)進(jìn)行同步,并輸出至外部異步網(wǎng)絡(luò),使得異步通信網(wǎng)絡(luò)之間的數(shù)據(jù)通過(guò)本實(shí)施方式的異步通信接口實(shí)現(xiàn)同步和傳輸,從而實(shí)現(xiàn)不同IP核之間的互連。實(shí)施例一請(qǐng)參考圖2,本實(shí)施例的單芯片異步通信接口包括時(shí)鐘模塊1,輸入輸出控制器2, 和同步模塊3。其中,輸入輸出控制器包括輸入控制器21和輸出控制器22時(shí)鐘模塊1與同步模塊3相連,用于為同步模塊3提供時(shí)鐘信號(hào);輸入控制器21與同步模塊3和時(shí)鐘模塊 1相連,用于從外部異步網(wǎng)絡(luò)接收數(shù)據(jù),判斷該數(shù)據(jù)是否有效,如是,則檢查并保存數(shù)據(jù)的選擇信息,并根據(jù)該選擇信息生成輸入控制信號(hào),從而控制同步模塊3從外部異步網(wǎng)絡(luò)接收數(shù)據(jù),同時(shí)開(kāi)啟時(shí)鐘模塊1 ;同步模塊3對(duì)輸入的數(shù)據(jù)進(jìn)行同步和處理,并將處理后的數(shù)據(jù)進(jìn)行同步后輸出至外部異步網(wǎng)絡(luò);輸出控制器22與同步模塊3和時(shí)鐘模塊1相連,用于根據(jù)數(shù)據(jù)的選擇信息生成輸出控制信號(hào),從而控制同步模塊3輸出經(jīng)過(guò)處理后的數(shù)據(jù),并發(fā)送到外部異步網(wǎng)絡(luò),同時(shí)關(guān)閉時(shí)鐘模塊1。請(qǐng)參考圖3、圖4和圖5,本實(shí)施方式的單芯片異步通信接口的同步模塊3,包括數(shù)據(jù)同步接口 31、功能子模塊接口 32和功能子模塊33,其中數(shù)據(jù)同步接口 31包括輸入 FIF0311、輸出FIF0313、旁路FIF0312,以及由多路分發(fā)器3141和多路選擇器3142組成的端口子模塊314。該多路分發(fā)器3141與時(shí)鐘模塊1、輸入控制器21、輸入FIF0311和旁路 FIF0312相連,輸入控制器21用于根據(jù)輸入數(shù)據(jù)的地址信號(hào)生成選擇信息和輸入控制信號(hào),該輸入控制器21根據(jù)該選擇信息確定寫(xiě)入數(shù)據(jù)的輸入FIF0311,或者旁路FIF0312,輸入控制器21將該輸入控制信號(hào)發(fā)送給多路分發(fā)器3141 ;多路分發(fā)器3142則用于根據(jù)該輸入控制信號(hào),將寫(xiě)入的數(shù)據(jù)分發(fā)給相應(yīng)的輸入FIF0311或者旁路FIF0312,從而實(shí)現(xiàn)同步; 輸入FIF0311與功能子模塊接口 32相連,旁路FIF0312與多路選擇器3142相連,兩者均用于存儲(chǔ)該多路選擇器3141發(fā)送來(lái)的輸入數(shù)據(jù);功能子模塊接口 32與功能子模塊33相連, 用于讀取該輸入FIF0311中的輸入數(shù)據(jù),并將其解包后發(fā)送給功能子模塊33,以及用于接收功能子模塊33發(fā)送來(lái)的數(shù)據(jù),并將其打包后發(fā)送給輸出FIF0313 ;該功能子模塊33用于對(duì)功能子模塊32發(fā)送來(lái)的輸入數(shù)據(jù)進(jìn)行處理,并將處理后的數(shù)據(jù)發(fā)送給該功能子模塊接口 32 ;輸出FIF0313與功能子模塊接口 32和多路選擇器3142相連,用于存儲(chǔ)該功能子模塊接口 32發(fā)送來(lái)的打包后的數(shù)據(jù);輸出控制器22根據(jù)選擇信息,生成相應(yīng)的輸出控制信號(hào), 控制多路選擇器3142將存儲(chǔ)在輸出FIF0313中打包后的數(shù)據(jù)或者存儲(chǔ)在旁路FIF0312中由多路分發(fā)器3141分發(fā)來(lái)的數(shù)據(jù)發(fā)送到外部異步網(wǎng)絡(luò)。本實(shí)施方式中,數(shù)據(jù)的選擇信息包括數(shù)據(jù)的地址信號(hào),該地址信號(hào)指保存該輸入數(shù)據(jù)的輸入FIF0311或者旁路FIF0312,以及保存輸入數(shù)據(jù)經(jīng)過(guò)處理后得到的輸出數(shù)據(jù)的輸出FIF0313,并且該選擇信息預(yù)先保存在輸入控制器21中。本實(shí)施方式中輸入控制器21 根據(jù)數(shù)據(jù)的選擇信息,即地址信號(hào),得知輸入數(shù)據(jù)的數(shù)據(jù)應(yīng)該寫(xiě)入輸入FIF0311或者旁路 FIF0312,則生成相應(yīng)的控制信號(hào),即輸出一個(gè)電平信號(hào),控制多路分發(fā)器3141將數(shù)據(jù)分發(fā)給該地址信號(hào)中選定的輸入FIF0311或者旁路FIF0312 ;輸出控制器22根據(jù)該選擇信息, 生成相應(yīng)的控制信號(hào),即輸出一個(gè)電平信號(hào),控制多路選擇器3142將存儲(chǔ)在旁路FIF0312 中的數(shù)據(jù)或者存儲(chǔ)在輸出FIF0313中經(jīng)過(guò)處理的數(shù)據(jù)的輸出至外部異步網(wǎng)絡(luò)?;谏鲜龅膯涡酒惒酵ㄐ沤涌?,本實(shí)施方式還提供一種單芯片異步通信方法, 具體步驟如下Si,輸入輸出控制器2與外部異步網(wǎng)絡(luò)進(jìn)行異步通信握手,并生成控制信號(hào),發(fā)送至同步塊3和時(shí)鐘模塊1。請(qǐng)參考圖8,本實(shí)施方式中的步驟Sl包括S11,輸入控制器21與外部異步網(wǎng)絡(luò)進(jìn)行異步通信握手,接收外部異步網(wǎng)絡(luò)的數(shù)據(jù)。S12,檢測(cè)其有效信號(hào)和地址信號(hào),并判斷相應(yīng)數(shù)據(jù)的有效信號(hào)是否有效,如是,則根據(jù)該地址信號(hào)生成相應(yīng)的選擇信息和輸入控制信號(hào),并保存該選擇信息,將輸入控制信號(hào)發(fā)送給同步塊3和時(shí)鐘模塊1。本實(shí)施方式中的輸入控制信號(hào)即為輸入控制器21輸出的一個(gè)電平信號(hào),當(dāng)數(shù)據(jù)的有效信號(hào)有效時(shí),該輸入控制器21輸出一個(gè)電平信號(hào)則作為同步塊3寫(xiě)入數(shù)據(jù)的使能信號(hào),控制同步塊3能夠接收外部異步網(wǎng)絡(luò)的數(shù)據(jù),否則該同步塊3無(wú)法接收該外部異步網(wǎng)絡(luò)的數(shù)據(jù)。本實(shí)施方式中的選擇信息指根據(jù)數(shù)據(jù)的地址信號(hào)產(chǎn)生的,并保存在一個(gè)控制信息 FIFO中,以提供給輸出控制器22根據(jù)該選擇信息進(jìn)行相應(yīng)的輸出控制,其用于選擇用來(lái)存儲(chǔ)輸入數(shù)據(jù)的同步塊3的輸入FIF0311或者旁路FIF0312 ;以及選擇輸出FIF0313中存儲(chǔ)的經(jīng)過(guò)處理的數(shù)據(jù),或者選擇旁路FIF0312中存儲(chǔ)的數(shù)據(jù)輸出至外部異步網(wǎng)絡(luò)。S2,時(shí)鐘模塊1開(kāi)啟,并向同步塊3提供時(shí)鐘信號(hào)。S3,同步模塊3在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)輸入控制信號(hào)的控制,從外部異步網(wǎng)絡(luò)接收數(shù)據(jù),并對(duì)所述數(shù)據(jù)進(jìn)行同步、處理。請(qǐng)參考圖9,本實(shí)施方式的步驟S3包括S31,同步塊3中數(shù)據(jù)同步接口 31的端口子模塊314的多路分發(fā)器3141接收到時(shí)鐘信號(hào)后,根據(jù)輸入控制信號(hào),將輸入的數(shù)據(jù)分發(fā)給對(duì)應(yīng)的輸入FIF0311或者旁路 FIF0312,從而完成對(duì)輸入的外部網(wǎng)絡(luò)數(shù)據(jù)的分發(fā)和同步。S32,功能子模塊接口 32讀取該輸入FIF0311內(nèi)存儲(chǔ)的數(shù)據(jù)。S33,功能子模塊接口 32將接收的數(shù)據(jù)進(jìn)行解包處理,再發(fā)送給功能子模塊33。本實(shí)施方式中,由于數(shù)據(jù)在網(wǎng)絡(luò)中傳遞需要一些標(biāo)志信息,如ID、校驗(yàn)碼等防止數(shù)據(jù)丟失和錯(cuò)誤;同時(shí)如果是串行數(shù)據(jù),特別是不定長(zhǎng)的串行數(shù)據(jù),還需要起始位、截止位等來(lái)標(biāo)示數(shù)據(jù)的開(kāi)始和結(jié)束。上述標(biāo)志信息和數(shù)據(jù)的有效部分一起構(gòu)成了網(wǎng)絡(luò)中的數(shù)據(jù),稱之為網(wǎng)絡(luò)包。由于不同的網(wǎng)絡(luò)環(huán)境所需要的標(biāo)志信息不同,因此其構(gòu)成的網(wǎng)絡(luò)包不同。但是在功能子模塊33進(jìn)行處理的時(shí)候,只需要網(wǎng)絡(luò)包中數(shù)據(jù)的有效部分,因此本實(shí)施方式通過(guò)功能子模塊接口 32將輸入的數(shù)據(jù)進(jìn)行解包處理,再發(fā)送給功能子模塊313進(jìn)行處理的。S34,功能子模塊33對(duì)該數(shù)據(jù)進(jìn)行處理,并將處理后的數(shù)據(jù)發(fā)送給功能子模塊接 Π 32。本實(shí)施方式中,這里功能子模塊33對(duì)該數(shù)據(jù)的處理為IP核自身的處理功能。S4,所述同步塊將經(jīng)過(guò)處理的所述數(shù)據(jù)進(jìn)行同步并輸出至外部異步網(wǎng)絡(luò)。請(qǐng)參考圖10,本實(shí)施方式中的步驟S4包括S41,功能子模塊接口 32對(duì)經(jīng)過(guò)處理后的數(shù)據(jù)進(jìn)行打包處理,并發(fā)送給輸出 FIF0313,實(shí)現(xiàn)完成對(duì)輸出的經(jīng)過(guò)處理的數(shù)據(jù)的同步。本實(shí)施方式中,由于不同的網(wǎng)絡(luò)環(huán)境所需要的標(biāo)志信息不同,因此其構(gòu)成的網(wǎng)絡(luò)包不同,因此,本實(shí)施方式的功能子模塊接口 32還將功能子模塊31輸出的經(jīng)過(guò)處理的數(shù)據(jù)進(jìn)行打包處理后,再發(fā)送給輸出FIF0312從而再輸出至外部異步網(wǎng)絡(luò)。本實(shí)施方式中通過(guò)功能子模塊接口 32,將輸入數(shù)據(jù)進(jìn)行解包后發(fā)送給功能子模塊 33處理,并將處理后的數(shù)據(jù)打包后,再發(fā)送出去,從而保證了該功能子模塊313的獨(dú)立性和可復(fù)用性,使其適用于不同網(wǎng)絡(luò)。S42,輸出控制器22根據(jù)選擇信息,即選擇將該輸出FIF0313中存儲(chǔ)的經(jīng)過(guò)處理的數(shù)據(jù),或者旁路FIF0312中存儲(chǔ)的數(shù)據(jù),生成相應(yīng)的輸出控制信號(hào),發(fā)送給時(shí)鐘模塊1和端口子模塊314的多路選擇器3142。本實(shí)施方式中,輸出控制器22在同步塊3獲取外部網(wǎng)絡(luò)的數(shù)據(jù)請(qǐng)求后,從輸入控制器21的控制信息FIFO中讀取選擇信息,并根據(jù)該選擇信息從輸出FIFO或者旁路FIFO 讀取相應(yīng)的數(shù)據(jù)并輸出。本實(shí)施方式中,如果選擇信息選擇的是輸出FIF0313,但輸出FIF0313為空,即數(shù)據(jù)在功能子模塊33中尚未處理完,則該輸出控制器22暫不響應(yīng)外部網(wǎng)絡(luò),直到輸出 FIF0313中有數(shù)據(jù)為止;如果選擇信息選擇的是旁路FIF0312,由于旁路FIF0312中的數(shù)據(jù)不用經(jīng)過(guò)功能子模塊33的處理,因此不會(huì)有延遲,則直接將旁路FIF0312中存儲(chǔ)的未經(jīng)過(guò)處理的數(shù)據(jù)輸出至外部網(wǎng)絡(luò)。S43,關(guān)閉時(shí)鐘模塊1。S44,多路選擇器3142在輸出控制信號(hào)的控制下,將輸出FIF0313中存儲(chǔ)的經(jīng)過(guò)處理的數(shù)據(jù),或者旁路FIF0312中存儲(chǔ)的數(shù)據(jù)輸出至外部異步網(wǎng)絡(luò)。本實(shí)施方式的異步通信方法通過(guò)由同步塊3中的數(shù)據(jù)同步接口 31在時(shí)鐘模塊1 時(shí)鐘信號(hào)的驅(qū)動(dòng)下,并根據(jù)輸入控制器21的輸入控制信號(hào),接收外部異步網(wǎng)絡(luò)發(fā)送來(lái)的數(shù)據(jù),并選擇將其存儲(chǔ)在內(nèi)部的輸入FIF0311或者旁路FIF0312中,即在輸入控制信號(hào)的控制下實(shí)現(xiàn)輸入數(shù)據(jù)的分發(fā)和保存,并實(shí)現(xiàn)數(shù)據(jù)同步,并通過(guò)功能子模塊接口 32將輸入 FIF0311中存儲(chǔ)的數(shù)據(jù)進(jìn)行解包后,送入功能子模塊33進(jìn)行處理,并將處理后的數(shù)據(jù)打包后,發(fā)送給對(duì)應(yīng)的輸出FIF0313中保存,即由功能子模塊33對(duì)輸入的數(shù)據(jù)進(jìn)行處理,并由輸出FIF0313來(lái)對(duì)經(jīng)過(guò)處理的數(shù)據(jù)實(shí)現(xiàn)同步,從而再由多路選擇器3142根據(jù)輸出控制器22 發(fā)送來(lái)的輸出控制信號(hào),選擇將輸出FIF0313中存儲(chǔ)的經(jīng)過(guò)處理的數(shù)據(jù)或者旁路FIF0312 中存儲(chǔ)的數(shù)據(jù)發(fā)送至外部異步網(wǎng)絡(luò),從而滿足了異步通信網(wǎng)絡(luò)之間的數(shù)據(jù)同步和傳輸,進(jìn)而實(shí)現(xiàn)網(wǎng)絡(luò)中不同IP核之間的互連。實(shí)施例二請(qǐng)參考圖3,本實(shí)施例的單芯片異步通信接口包括時(shí)鐘模塊1,輸入輸出控制器2, 和同步模塊3。其中,輸入輸出控制器2包括輸入控制器21和輸出控制器22時(shí)鐘模塊1與同步模塊3相連,用于為同步模塊3提供時(shí)鐘信號(hào);輸入控制器21與同步模塊3和時(shí)鐘模塊 1相連,用于從外部異步網(wǎng)絡(luò)接收數(shù)據(jù),判斷該數(shù)據(jù)是否有效,如是,則檢查并保存數(shù)據(jù)的選擇信息,并根據(jù)該選擇信息生成輸入控制信號(hào),從而控制同步模塊3從外部異步網(wǎng)絡(luò)接收數(shù)據(jù),同時(shí)開(kāi)啟時(shí)鐘模塊1 ;同步模塊3對(duì)輸入的數(shù)據(jù)進(jìn)行同步和處理,并將處理后的數(shù)據(jù)進(jìn)行同步后輸出至外部異步網(wǎng)絡(luò);輸出控制器22與同步模塊3和時(shí)鐘模塊1相連,用于根據(jù)數(shù)據(jù)的選擇信息生成輸出控制信號(hào),從而控制同步模塊3輸出經(jīng)過(guò)處理后的數(shù)據(jù),并發(fā)送到外部異步網(wǎng)絡(luò),同時(shí)關(guān)閉時(shí)鐘模塊1。請(qǐng)參考圖6,為了支持多維網(wǎng)絡(luò),本實(shí)施方式的單芯片異步通信接口的同步模塊 3,包括功能子模塊接口 32、功能子模塊33和多層數(shù)據(jù)同步接口 31,以及與功能子模塊接口 32和多層數(shù)據(jù)同步接口 31相連的多選器315和路由器316。其中多層數(shù)據(jù)同步接口 31包括多個(gè)輸入FIF0311、多個(gè)輸出FIF0313、多個(gè)旁路FIF0312,以及由多路分發(fā)器3141和多路選擇器3142組成的多層端口子模塊314,且每一層端口子模塊314的多路分發(fā)器3141與時(shí)鐘模塊1、一個(gè)輸入FIF0311、一個(gè)輸出FIF0313、一個(gè)旁路FIF0312相連。每一個(gè)輸入控制器21用于根據(jù)輸入數(shù)據(jù)的地址信號(hào)生成選擇信息和輸入控制信號(hào),該選擇信息已經(jīng)確定將輸入數(shù)據(jù)寫(xiě)入輸入FIF0311,或者旁路FIF0312,輸入控制器21將該輸入控制信號(hào)發(fā)送給對(duì)應(yīng)層的多路分發(fā)器3141 ;每一層的多路分發(fā)器3142則用于根據(jù)對(duì)應(yīng)的輸入控制器21輸出的輸入控制信號(hào),將輸入數(shù)據(jù)分發(fā)給對(duì)應(yīng)層的輸入FIF0311或者旁路FIF0312,從而實(shí)現(xiàn)同步;多選器315與功能子模塊接口 32和每層端口子模塊314對(duì)應(yīng)的輸入FIF0311相連, 用于輪詢讀取多層端口子模塊314中存儲(chǔ)的數(shù)據(jù),并將當(dāng)前讀取的數(shù)據(jù)發(fā)送給功能子模塊接口 32 ;與功能子模塊33相連的功能子模塊接口 32,則用于接收該多選器315發(fā)送來(lái)的當(dāng)前讀取的數(shù)據(jù),并將其進(jìn)行解包后,發(fā)送給功能子模塊33,以及用于接收功能子模塊33處理后當(dāng)前讀取數(shù)據(jù),并將其打包后,發(fā)送給路由器316 ;功能子模塊33用于對(duì)功能子模塊接口 32發(fā)送來(lái)的當(dāng)前讀取的數(shù)據(jù)進(jìn)行處理,并將處理后的當(dāng)前讀取的數(shù)據(jù)發(fā)送給功能子模塊接口 32 ;路由器316將經(jīng)過(guò)打包和處理后的當(dāng)前讀取的數(shù)據(jù)發(fā)送給該多選器315當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層的數(shù)據(jù)同步接口 31對(duì)應(yīng)的輸出FIF0313 ;該層端口子模塊314對(duì)應(yīng)的輸出控制器22則根據(jù)選擇信息,生成輸出控制信號(hào),控制該層端口子模塊314對(duì)應(yīng)的多路選擇器3142讀取該輸出FIF0313中存儲(chǔ)的經(jīng)過(guò)處理的當(dāng)前讀取的數(shù)據(jù),并輸出至外部異步網(wǎng)絡(luò),其他層端口子模塊314對(duì)應(yīng)的輸出控制器22則根據(jù)選擇信息,生成相應(yīng)的輸出控制信號(hào),控制相應(yīng)層的端口子模塊314中的多路選擇器3142讀取相應(yīng)的旁路FIF0312中存儲(chǔ)的數(shù)據(jù),并將其輸出至外部異步網(wǎng)絡(luò)。本實(shí)施方式中數(shù)據(jù)的選選擇信息包括數(shù)據(jù)的地址信號(hào),該地址信號(hào)指保存該輸入數(shù)據(jù)的輸入FIF0311或者旁路FIF0312,以及保存輸入數(shù)據(jù)經(jīng)過(guò)處理后得到的輸出數(shù)據(jù)的輸出FIF0313。并且該選擇信息預(yù)先保存在輸入控制器21中。本實(shí)施方式中輸入控制器21 根據(jù)數(shù)據(jù)的選擇信息,即地址信號(hào),控制輸入數(shù)據(jù)寫(xiě)入輸入FIF0311或者旁路FIF0312,輸出控制器22根據(jù)該選擇信息,控制存儲(chǔ)在旁路FIF0312中的數(shù)據(jù)或者存儲(chǔ)在輸出FIF0313中經(jīng)過(guò)處理的數(shù)據(jù)的輸出。請(qǐng)參考圖11,基于上述的具有多層數(shù)據(jù)同步接口的單芯片異步通信接口,本實(shí)施方式的單芯片異步異步通信方法如下S01,每一個(gè)輸入輸出控制器2與外部異步網(wǎng)絡(luò)進(jìn)行異步通信握手,并生成相應(yīng)的控制信號(hào),發(fā)送至同步塊3和時(shí)鐘模塊1。請(qǐng)參考圖12,本實(shí)施方式中的步驟SOl包括S011,每一個(gè)輸入控制器21接收外部異步網(wǎng)絡(luò)的數(shù)據(jù)的有效信號(hào)和選擇信息。S012,每一個(gè)輸入控制器21判斷對(duì)應(yīng)數(shù)據(jù)的有效信號(hào)是否有效,如是,則根據(jù)該數(shù)據(jù)的地址信號(hào)生成相應(yīng)的選擇信息和輸入控制信號(hào),保存該選擇信息,并將輸入控制信號(hào)發(fā)送給同步塊3和時(shí)鐘模塊1。本實(shí)施方式中的控制信號(hào)即為輸入控制器21輸出的一個(gè)電平信號(hào),當(dāng)數(shù)據(jù)的有效信號(hào)有效時(shí),該輸入控制器21輸出一個(gè)電平信號(hào)則作為同步塊3寫(xiě)入數(shù)據(jù)的使能信號(hào), 控制同步塊3能夠接收外部異步網(wǎng)絡(luò)的數(shù)據(jù),否則該同步塊3無(wú)法接收該外部異步網(wǎng)絡(luò)的數(shù)據(jù)。本實(shí)施方式中的選擇信息為對(duì)應(yīng)于各層數(shù)據(jù)同步接口 31的輸入控制器21根據(jù)數(shù)據(jù)的地址信號(hào)產(chǎn)生的,并保存在對(duì)應(yīng)層的輸入控制器21的控制信息FIFO中,以提供給輸出控制器22根據(jù)該選擇信息進(jìn)行相應(yīng)的輸出控制,其用于選擇用來(lái)存儲(chǔ)輸入數(shù)據(jù)的相應(yīng)層的數(shù)據(jù)同步接口 31中的輸入FIF0311或者旁路FIF0312;以及選擇將相應(yīng)層的輸出 FIF0313中存儲(chǔ)的經(jīng)過(guò)處理的數(shù)據(jù),或者旁路FIF0312中存儲(chǔ)的數(shù)據(jù)輸出至外部異步網(wǎng)絡(luò)。S02,時(shí)鐘模塊1開(kāi)啟,并向同步塊3提供時(shí)鐘信號(hào)。S03,同步模塊3在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,以及輸入控制信號(hào)的控制下,從外部異步網(wǎng)絡(luò)接收數(shù)據(jù),并對(duì)輸入的數(shù)據(jù)進(jìn)行同步、處理。請(qǐng)參考圖13,本實(shí)施方式的步驟S03包括S031,同步塊3的每一層數(shù)據(jù)同步接口 31對(duì)應(yīng)的該層端口子模塊314的多路分發(fā)器3141接收時(shí)鐘信號(hào)和輸入控制信號(hào)。S032,該多路分發(fā)器3141在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)該輸入控制信號(hào),將該層的輸入數(shù)據(jù)分發(fā)給該層中對(duì)應(yīng)的輸入FIF0311或者旁路FIF0312,從而實(shí)現(xiàn)輸入數(shù)據(jù)的同步。S033,同步塊3的多選器315采用輪詢讀取該多層數(shù)據(jù)同步接口 31中輸入 FIF0311中的數(shù)據(jù),并將當(dāng)前讀取的數(shù)據(jù)發(fā)送給功能子模塊接口 32。本實(shí)施方式中,當(dāng)由于該多層數(shù)據(jù)同步接口 31及各層數(shù)據(jù)同步接口 31所連接的外部網(wǎng)絡(luò)為相互獨(dú)立時(shí)的,則該多層數(shù)據(jù)同步接口 31中的數(shù)據(jù)也相互獨(dú)立,并且由于同一時(shí)刻功能子模塊33只能處理一層數(shù)據(jù)同步接口 31的內(nèi)存儲(chǔ)的數(shù)據(jù),因此則該多選器315 采用輪詢的方式,從多層數(shù)據(jù)同步接口 31中,一層一層地選擇,并讀取其輸入FIF0311中存儲(chǔ)的數(shù)據(jù),并將當(dāng)前讀取的數(shù)據(jù)通過(guò)功能子模塊接口 32發(fā)送給功能子模塊33處理,直至輸入控制器21不再接收外部數(shù)據(jù)或者將該多層數(shù)據(jù)同步接口 31輪詢完;且讀取數(shù)據(jù)的時(shí)候包含該數(shù)據(jù)的層數(shù)ID。S034,功能子模塊接口 32接收該多選器315發(fā)送來(lái)的當(dāng)前讀取的數(shù)據(jù),并進(jìn)行解包處理后,再發(fā)送給功能子模塊33。本實(shí)施方式中,由于該多選器315采用輪詢的方式,從多層數(shù)據(jù)同步接口 31中一層一層地選擇并讀取其輸入FIF0311中的數(shù)據(jù),則該功能子模塊接口 32也相應(yīng)地,根據(jù)該多選器315的輪詢讀取,輪詢地接該多選器315發(fā)送來(lái)的數(shù)據(jù),并進(jìn)行解包處理后再發(fā)送給功能子模塊33,即當(dāng)多選器315每讀取一層數(shù)據(jù)同步接口 31對(duì)應(yīng)輸入FIF0311中的數(shù)據(jù)時(shí),該功能子模塊接口 32則接收一次該多選器315發(fā)送來(lái)的當(dāng)前讀取的數(shù)據(jù),當(dāng)多選器 315選定另一層數(shù)據(jù)同步接口 31,并讀取其數(shù)據(jù)時(shí),則該功能子模塊32也接收一次該多選器315發(fā)送來(lái)的數(shù)據(jù),依次類推,直至該多層數(shù)據(jù)同步接口 31輪詢完。本實(shí)施方式中,由于數(shù)據(jù)在網(wǎng)絡(luò)中傳遞需要一些標(biāo)志信息,如ID、校驗(yàn)碼等防止數(shù)據(jù)丟失和錯(cuò)誤;同時(shí)如果是串行數(shù)據(jù),特別是不定長(zhǎng)的串行數(shù)據(jù),還需要起始位、截止位等來(lái)標(biāo)示數(shù)據(jù)的開(kāi)始和結(jié)束。上述標(biāo)志信息和數(shù)據(jù)的有效部分一起構(gòu)成了網(wǎng)絡(luò)中的數(shù)據(jù),稱之為網(wǎng)絡(luò)包。由于不同的網(wǎng)絡(luò)環(huán)境所需要的標(biāo)志信息不同,因此其構(gòu)成的網(wǎng)絡(luò)包不同。但是在功能模塊進(jìn)行處理的時(shí)候,只需要網(wǎng)絡(luò)包中數(shù)據(jù)的有效部分,因此本實(shí)施方式通過(guò)功能子模塊接口 32將輸入的數(shù)據(jù)進(jìn)行解包處理,再發(fā)送給功能子模塊33處理。S035,功能子模塊33對(duì)解包后的當(dāng)前讀取數(shù)據(jù)進(jìn)行處理,并將處理后的數(shù)據(jù)發(fā)送給功能子模塊接口 32。本實(shí)施方式中,這里功能子模塊33對(duì)解包后的數(shù)據(jù)的處理為I P核自身的處理功能。S04,所述同步塊3將經(jīng)過(guò)處理的數(shù)據(jù)進(jìn)行同步并輸出至外部異步網(wǎng)絡(luò)。請(qǐng)參考圖14,本實(shí)施方式中的步驟S4包括S041,功能子模塊接口 32對(duì)經(jīng)過(guò)處理后的當(dāng)前讀取的數(shù)據(jù)進(jìn)行打包處理,并發(fā)送給路由器316。本實(shí)施方式中,由于不同的網(wǎng)絡(luò)環(huán)境所需要的標(biāo)志信息不同,因此其構(gòu)成的網(wǎng)絡(luò)包不同,因此,本實(shí)施方式的功能子模塊接口 32還將功能子模塊33輸出的經(jīng)過(guò)處理的數(shù)據(jù)進(jìn)行打包處理后,再發(fā)送給輸出FIF0313從而再輸出至外部異步網(wǎng)絡(luò)。本實(shí)施方式中通過(guò)功能子模塊接口 32,將每一層數(shù)據(jù)同步接口的輸入數(shù)據(jù)進(jìn)行解包后發(fā)送給功能子模塊33處理,并將處理后的數(shù)據(jù)打包后,再發(fā)送出去,從而保證了該功能子模塊313的獨(dú)立性和可復(fù)用性,使其適用于不同網(wǎng)絡(luò)。S042,路由器316將打包后的數(shù)據(jù)發(fā)送至當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層的數(shù)據(jù)同步接口 31中對(duì)應(yīng)的輸出FIF0313進(jìn)行存儲(chǔ),從而實(shí)現(xiàn)輸出數(shù)據(jù)的同步。本實(shí)施方式中,數(shù)據(jù)處理完后,路由器316則根據(jù)該數(shù)據(jù)的層數(shù)ID,將處理后的數(shù)據(jù)發(fā)送到相應(yīng)層的輸出FIF0313。本實(shí)施方式中,路由器316同一時(shí)刻只能夠?qū)⒔?jīng)過(guò)處理的數(shù)據(jù)發(fā)送給對(duì)應(yīng)的一層數(shù)據(jù)同步接口 31。S043,每一層數(shù)據(jù)同步接口 31對(duì)應(yīng)的輸出控制器22根據(jù)選擇信息,生成輸出控制信號(hào),并發(fā)送給時(shí)鐘模塊1和對(duì)應(yīng)層的端口子模塊314的多路選擇器3142。S044,多選器315當(dāng)前讀取的一層端口子模塊314內(nèi)的多路選擇器3142,根據(jù)對(duì)應(yīng)輸出控制器22的輸出控制信號(hào),讀取該層對(duì)應(yīng)的輸出FIF0313中存儲(chǔ)的經(jīng)過(guò)處理的數(shù)據(jù), 并輸出至外部異步網(wǎng)絡(luò)。S045,其它層的端口子模塊314內(nèi)的多路選擇器3142根據(jù)對(duì)應(yīng)輸出控制器22的輸出控制信號(hào),將該層對(duì)應(yīng)的旁路FIF0312中存儲(chǔ)的數(shù)據(jù)輸出至外部異步網(wǎng)絡(luò)。S046,重復(fù)執(zhí)行步驟S033至S045,直至各層數(shù)據(jù)同步接口 31中輸入FIF0311中存
18儲(chǔ)的輸入的數(shù)據(jù)被處理完,并發(fā)送至外部網(wǎng)絡(luò)。S047,關(guān)閉時(shí)鐘模塊1。本實(shí)施方式中,時(shí)鐘模塊1需要接受各層數(shù)據(jù)同步接口 31對(duì)應(yīng)的輸入控制器21 的輸入控制信號(hào)和輸出控制器22的輸出控制信號(hào)的共同控制,因此,當(dāng)輸入控制器21不再?gòu)耐獠拷邮諗?shù)據(jù)、功能子模塊33將存有數(shù)據(jù)的所有數(shù)據(jù)同步接口 31的輸入FIF0311中的數(shù)據(jù)處理完,并輸出至相應(yīng)輸出FIF0313、各層數(shù)據(jù)同步接口 31相應(yīng)的多路選擇器3142,根據(jù)相應(yīng)層的輸出控制器22的輸出控制信號(hào),將相應(yīng)層輸出FIF0313或旁路FIF0312中的數(shù)據(jù)全部發(fā)送完畢之后,該時(shí)鐘模塊才關(guān)閉。本實(shí)施方式的基于具有多層數(shù)據(jù)同步接口的單芯片異步通信接口的異步通信方法,通過(guò)由同步塊3中的多層數(shù)據(jù)同步接口 31在時(shí)鐘模塊1時(shí)鐘信號(hào)的驅(qū)動(dòng)下,并根據(jù)相應(yīng)層對(duì)應(yīng)的輸入控制器21的輸入控制信號(hào),接收外部異步網(wǎng)絡(luò)發(fā)送來(lái)的數(shù)據(jù),并選擇將其存儲(chǔ)在每層數(shù)據(jù)同步接口 31內(nèi)對(duì)應(yīng)的輸入FIF0311或者旁路FIF0312中,即在輸入控制信號(hào)的控制下實(shí)現(xiàn)多維網(wǎng)絡(luò)的輸入數(shù)據(jù)的分發(fā)和保存,并實(shí)現(xiàn)輸入數(shù)據(jù)的同步,再通過(guò)多選器315采用輪詢讀取多層數(shù)據(jù)同步接口 31中各層對(duì)應(yīng)輸入FIF0311中的數(shù)據(jù),并將當(dāng)前讀取的數(shù)據(jù)通過(guò)功能子模塊接口 32送入功能子模塊33進(jìn)行處理,然后再通過(guò)該功能子模塊接口 32將處理后的數(shù)據(jù),發(fā)送給路由器316,路由器316則將處理后的當(dāng)前讀取的數(shù)據(jù)發(fā)送給該輸入FIF0311對(duì)應(yīng)的輸出FIF0313中進(jìn)行存儲(chǔ),從而實(shí)現(xiàn)經(jīng)過(guò)處理的數(shù)據(jù)即輸出數(shù)據(jù)的同步,且該層輸出FIF0313根據(jù)其對(duì)應(yīng)的輸出控制器22的輸出控制信號(hào),將該輸出 FIF0313中存儲(chǔ)的經(jīng)過(guò)處理的數(shù)據(jù)發(fā)送至外部網(wǎng)絡(luò),而其他各層數(shù)據(jù)同步接口 31的端口子模塊314的多路選擇器3142根據(jù)對(duì)應(yīng)的輸出控制器22發(fā)送來(lái)的輸出控制信號(hào),選擇將對(duì)應(yīng)層的旁路FIF0312中存儲(chǔ)的未經(jīng)過(guò)處理的數(shù)據(jù)發(fā)送至外部異步網(wǎng)絡(luò),直至該多選器315 將該多層數(shù)據(jù)同步接口 31中的數(shù)據(jù)輪詢讀取完,功能子模塊33將存有數(shù)據(jù)的所有數(shù)據(jù)同步接口 31的輸入FIF0311中的數(shù)據(jù)處理完,并輸出至相應(yīng)輸出FIF0313、各層數(shù)據(jù)同步接口 31根據(jù)相應(yīng)層的輸出控制器22的輸出控制信號(hào),將相應(yīng)層輸出FIF0313或旁路FIF0312中的數(shù)據(jù)全部發(fā)送完,從而滿足了異步通信網(wǎng)絡(luò)之間的數(shù)據(jù)同步和傳輸,進(jìn)而實(shí)現(xiàn)網(wǎng)絡(luò)中不同IP核之間的互連。同時(shí),本實(shí)施方式中與多層數(shù)據(jù)同步接口 31相連的外部網(wǎng)絡(luò)相互獨(dú)立,但由于同一時(shí)刻同步塊3只能對(duì)個(gè)外部網(wǎng)絡(luò)的數(shù)據(jù)進(jìn)行同步和處理,因此,本實(shí)施方式通過(guò)多選器315采用輪詢的方式將多層數(shù)據(jù)同步接口 31相應(yīng)的輸入FIF0311中存儲(chǔ)的數(shù)據(jù),一層一層地選擇送入功能子模塊33進(jìn)行處理,再由路由器316將經(jīng)過(guò)處理的數(shù)據(jù)輸出至相應(yīng)的輸出FIF0313中,即保證了同一時(shí)刻只選擇一個(gè)外部網(wǎng)絡(luò)的數(shù)據(jù)進(jìn)行處理,并將處理后的數(shù)據(jù)輸出至對(duì)應(yīng)的外部網(wǎng)絡(luò),同時(shí)支持多維網(wǎng)絡(luò)數(shù)據(jù)的處理和同步。當(dāng)然本實(shí)施方式中,如果多層數(shù)據(jù)接口 31及其所連接的外部網(wǎng)絡(luò)相互依賴時(shí),即功能子模塊33對(duì)各層數(shù)據(jù)同步接口 31的輸入FIF0311的數(shù)據(jù)需求有特定的順序,并且處理后數(shù)據(jù)的輸出也與功能子模塊33和外部網(wǎng)絡(luò)有關(guān),因此,當(dāng)多層數(shù)據(jù)接口 31及其所連接的外部網(wǎng)絡(luò)相互依賴時(shí),由該功能子模塊33或外部網(wǎng)絡(luò)來(lái)控制多選器315選擇各層輸入 FIF0311中存儲(chǔ)的數(shù)據(jù)被讀取的順序,以及控制路由器316將處理后的數(shù)據(jù)發(fā)送至相應(yīng)層的輸出數(shù)據(jù)。以上內(nèi)容是結(jié)合具體的實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說(shuō)明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說(shuō)明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種單芯片異步通信接口,其特征在于,包括時(shí)鐘模塊、同步塊、輸入輸出控制器, 所述時(shí)鐘模塊與所述同步塊相連,用于向所述同步塊提供時(shí)鐘信號(hào);所述輸入輸出控制器與所述時(shí)鐘模塊和所述同步塊相連,用于同外部網(wǎng)絡(luò)進(jìn)行異步握手通信,并產(chǎn)生控制信號(hào)控制數(shù)據(jù)輸入所述同步塊,以及經(jīng)過(guò)所述同步塊處理后的數(shù)據(jù)的輸出,同時(shí)控制所述時(shí)鐘模塊的啟停;所述同步塊用于根據(jù)所述控制信號(hào)和時(shí)鐘信號(hào),對(duì)輸入的數(shù)據(jù)進(jìn)行同步和處理,并將處理后的數(shù)據(jù)進(jìn)行同步并輸出。
2.如權(quán)利要求1所述的單芯片異步通信接口,其特征在于,所述輸入輸出控制器包括與所述時(shí)鐘模塊和同步模塊相連的輸入控制器和輸出控制器,所述輸入控制器用于從外部網(wǎng)絡(luò)接收數(shù)據(jù),判斷該數(shù)據(jù)是否有效,如是,則檢查并保存所述數(shù)據(jù)的選擇信息,并根據(jù)所述選擇信息產(chǎn)生輸入控制信號(hào),控制所述數(shù)據(jù)輸入所述同步塊,同時(shí)開(kāi)啟所述時(shí)鐘模塊;所述輸出控制器用于根據(jù)所述選擇信息生成輸出控制信號(hào),控制所述同步塊輸出經(jīng)過(guò)處理后的數(shù)據(jù),并發(fā)送到外部網(wǎng)絡(luò),同時(shí)關(guān)閉所述時(shí)鐘模塊。
3.如權(quán)利要求1所述的單芯片異步通信接口,其特征在于,所述同步塊包括功能子模塊、功能子模塊接口和數(shù)據(jù)同步接口,所述數(shù)據(jù)同步接口與所述時(shí)鐘模塊、輸入輸出控制器和功能子模塊接口相連,用于在所述時(shí)鐘信號(hào)的驅(qū)動(dòng)下,接收所述外部網(wǎng)絡(luò)的數(shù)據(jù),再根據(jù)所述控制信號(hào),將所接收的數(shù)據(jù)進(jìn)行保存,以及接收由所述功能子模塊接口發(fā)送來(lái)的數(shù)據(jù)并保存,再根據(jù)所述控制信號(hào),將存儲(chǔ)的數(shù)據(jù)輸出至所述外部網(wǎng)絡(luò);所述功能子模塊接口與所述功能子模塊和時(shí)鐘模塊相連,用于在所述時(shí)鐘信號(hào)的驅(qū)動(dòng)下,讀取存儲(chǔ)在所述數(shù)據(jù)同步接口中存儲(chǔ)的數(shù)據(jù),并進(jìn)行解包處理,再發(fā)送給所述功能子模塊,以及用于接收經(jīng)過(guò)所述功能子模塊處理的數(shù)據(jù),并進(jìn)行打包處理,再發(fā)送給所述數(shù)據(jù)同步接口 ;所述功能子模塊與所述時(shí)鐘模塊相連,用于在所述時(shí)鐘信號(hào)的驅(qū)動(dòng)下,對(duì)經(jīng)過(guò)解包后的數(shù)據(jù)進(jìn)行處理,并將處理后的數(shù)據(jù)發(fā)送給所述功能子模塊接口。
4.如權(quán)利要求3所述的單芯片異步通信接口,其特征在于,所述數(shù)據(jù)同步接口包括輸入先入先出存儲(chǔ)器、輸出先入先出存儲(chǔ)器、旁路先入先出存儲(chǔ)器和端口子模塊;所述端口子模塊與所述輸入先入先出存儲(chǔ)器、輸出先入先出存儲(chǔ)器、旁路先入先出存儲(chǔ)器、輸入控制器和輸出控制器相連,用于根據(jù)所述控制信號(hào),將接收的外部網(wǎng)絡(luò)的數(shù)據(jù)分發(fā)給相應(yīng)的所述輸入先入先出存儲(chǔ)器,或者旁路先入先出存儲(chǔ)器,以及用于根據(jù)所述控制信號(hào),讀取所述輸出先入先出存儲(chǔ)器或者旁路先入先出存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù),并發(fā)送至外部網(wǎng)絡(luò);所述輸入先入先出存儲(chǔ)器與所述功能子模塊接口相連,用于存儲(chǔ)所述端口子模塊分發(fā)來(lái)的數(shù)據(jù);所述輸出先入先出存儲(chǔ)器與所述功能子模塊接口相連,用于存儲(chǔ)所述功能子模塊接口發(fā)送來(lái)的數(shù)據(jù);所述旁路先入先出存儲(chǔ)器用于存儲(chǔ)所述端口子模塊分發(fā)來(lái)的輸入數(shù)據(jù)。
5.如權(quán)利要求3所述的單芯片異步通信接口,其特征在于,所述數(shù)據(jù)同步接口為多層數(shù)據(jù)同步接口,所述輸入輸出控制器為多個(gè),且每一層所述數(shù)據(jù)同步接口與一個(gè)輸入輸出控制器相連,所述同步塊還包括與所述多層數(shù)據(jù)同步接口和功能子模塊接口相連的路由器和多選器,所述多選器用于當(dāng)所述輸入輸出控制器控制所述多層數(shù)據(jù)同步接口寫(xiě)入數(shù)據(jù)后,輪詢讀取所述多層數(shù)據(jù)同步接口的輸入先入先出存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù),并將當(dāng)前讀取的數(shù)據(jù)發(fā)送至所述功能子模塊接口 ;所述功能子模塊接口則用于接收所述當(dāng)前讀取的的數(shù)據(jù),并進(jìn)行解包后發(fā)送給所述功能子模塊,以及用于將經(jīng)過(guò)所述功能子模塊處理后所述當(dāng)前讀取的數(shù)據(jù)進(jìn)行打包后,發(fā)送給所述路由器;所述功能子模塊則用于處理解包后的所述當(dāng)前讀取的數(shù)據(jù),并發(fā)送給所述功能子模塊接口 ;所述路由器用于接收所述功能子模塊接口發(fā)送來(lái)的經(jīng)過(guò)處理的所述當(dāng)前讀取的數(shù)據(jù),并將其發(fā)送給對(duì)應(yīng)層的數(shù)據(jù)同步接口中進(jìn)行存儲(chǔ);所述數(shù)據(jù)同步接口中,所述當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層的數(shù)據(jù)同步接口,用于根據(jù)其對(duì)應(yīng)的輸入輸出控制器的控制信號(hào),將經(jīng)過(guò)處理的所述當(dāng)前讀取數(shù)據(jù)發(fā)送至外部網(wǎng)絡(luò),其它層的所述數(shù)據(jù)同步接口用于根據(jù)其對(duì)應(yīng)層的輸入輸出控制器的控制信號(hào),直接將其內(nèi)部存儲(chǔ)的未經(jīng)過(guò)處理的數(shù)據(jù)發(fā)送至外部網(wǎng)絡(luò)。
6.如權(quán)利要求5所述的單芯片異步通信接口,其特征在于,所述多層數(shù)據(jù)同步接口包括與所述時(shí)鐘模塊相連的多層端口子模塊,多個(gè)輸入先入先出存儲(chǔ)器,多個(gè)輸出先入先出存儲(chǔ)器和多個(gè)旁路先入先出存儲(chǔ)器,每一層所述端口子模塊與一個(gè)輸入先入先出存儲(chǔ)器、 一個(gè)輸出先入先出存儲(chǔ)器和一個(gè)旁路先入先出存儲(chǔ)器相連,且與一個(gè)輸入控制器和一個(gè)輸出控制器相連,所述多層端口子模塊用于在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)對(duì)應(yīng)層的所述控制信號(hào),將輸入數(shù)據(jù)分發(fā)并存儲(chǔ)在對(duì)應(yīng)層的所述輸入先入先出存儲(chǔ)器,或者旁路先入先出存儲(chǔ)器,并且,由所述當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層數(shù)據(jù)同步接口中的所述端口子模塊,用于將其對(duì)應(yīng)的輸出先入先出存儲(chǔ)器中存儲(chǔ)的經(jīng)過(guò)處理的當(dāng)前讀取數(shù)據(jù)輸出至外部網(wǎng)絡(luò),其它層數(shù)據(jù)同步接口中的所述端子模塊,用于將其對(duì)應(yīng)的旁路輸入輸出存儲(chǔ)器中存儲(chǔ)的未經(jīng)過(guò)處理的數(shù)據(jù)輸出至外部網(wǎng)絡(luò)。
7.如權(quán)利要求4至6中任意一項(xiàng)所述的單芯片異步通信接口,其特征在于,所述端口子模塊包括多路選擇器和多路分發(fā)器,所述多路分發(fā)器與所述輸入輸出控制器、時(shí)鐘模塊和輸入先入先出存儲(chǔ)器、旁路先入先出存儲(chǔ)器相連,用于在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)所述控制信號(hào)將輸入數(shù)據(jù)分發(fā)給對(duì)應(yīng)的所述輸入先進(jìn)先出存儲(chǔ)器,或者旁路先入先出存儲(chǔ)器;所述多路選擇器與所述輸入輸出控制器、時(shí)鐘模塊和輸出先入先出存儲(chǔ)器、旁路先入先出存儲(chǔ)器相連,用于在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)所述控制信號(hào),選擇所述輸出先入先出存儲(chǔ)器中存儲(chǔ)的經(jīng)過(guò)功能子模塊處理后的數(shù)據(jù),或者所述旁路先入先出存儲(chǔ)器中的數(shù)據(jù),并讀取、輸出至外部網(wǎng)絡(luò)。
8.—種單芯片異步通信方法,其特征在于,包括輸入輸出控制器與外部網(wǎng)絡(luò)進(jìn)行異步通信握手,并生成控制信號(hào),發(fā)送至同步塊和時(shí)鐘模塊;開(kāi)啟時(shí)鐘模塊,并向所述同步模塊提供時(shí)鐘信號(hào);所述同步模塊在所述時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)所述控制信號(hào),從外部網(wǎng)絡(luò)接收數(shù)據(jù),并對(duì)所述數(shù)據(jù)進(jìn)行同步、處理;將經(jīng)過(guò)處理的數(shù)據(jù)進(jìn)行同步,再根據(jù)所述控制信號(hào)將所述處理過(guò)的數(shù)據(jù)輸出至外部網(wǎng)關(guān)閉所述時(shí)鐘模塊。
9.如權(quán)利要求8所述的方法,其特征在于,所述輸入輸出控制器包括與外部網(wǎng)絡(luò)、時(shí)鐘模塊和同步塊相連的輸入控制器和輸出控制器所述輸入輸出控制器與外部網(wǎng)絡(luò)進(jìn)行異步通信握手,并生成控制信號(hào),發(fā)送至同步塊和時(shí)鐘模塊的步驟包括所述輸入控制器接收所述外部網(wǎng)絡(luò)的數(shù)據(jù),判斷所述數(shù)據(jù)是否有效,如是則檢查所述數(shù)據(jù)的地址信號(hào),并根據(jù)所述地址信號(hào)生成相應(yīng)的選擇信息,并保存;根據(jù)所述選擇信息生成輸入控制信號(hào),并發(fā)送給所述同步塊和時(shí)鐘模塊; 當(dāng)所述同步塊將經(jīng)過(guò)的數(shù)據(jù)處理同步后,所述輸出控制器根據(jù)所述選擇信息生成輸出控制信號(hào),并發(fā)送給所述同步塊和時(shí)鐘模塊。
10.如權(quán)利要求8所述的方法,其特征在于,所述同步塊包括與所述時(shí)鐘模塊相連的功能子模塊、功能子模塊接口和數(shù)據(jù)同步接口,所述功能子模塊接口與所述功能子模塊和數(shù)據(jù)同步接口相連,所述數(shù)據(jù)同步接口與所述輸入輸出控制器相連;所述同步塊在所述時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)所述控制信號(hào),從外部網(wǎng)絡(luò)接收數(shù)據(jù),并對(duì)所述數(shù)據(jù)進(jìn)行同步、處理的步驟包括所述數(shù)據(jù)同步接口在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,接收所述外部網(wǎng)絡(luò)的數(shù)據(jù),并根據(jù)所述控制信號(hào),對(duì)接收的數(shù)據(jù)進(jìn)行保存;所述功能子模塊接口讀取所述數(shù)據(jù)同步接口中存儲(chǔ)的數(shù)據(jù),對(duì)其進(jìn)行解包后,發(fā)送給所述功能子模塊;所述功能子模塊處理經(jīng)過(guò)解包后的數(shù)據(jù),并將處理后的數(shù)據(jù)發(fā)送給所述功能子模塊接Π ;所述同步塊將處理后的數(shù)據(jù)進(jìn)行同步,再發(fā)送至所述外部網(wǎng)絡(luò)的步驟包括 所述功能子模塊接口打包所述處理后的數(shù)據(jù),并將打包后的數(shù)據(jù)發(fā)送給所述數(shù)據(jù)同步接口 ;所述數(shù)據(jù)同步接口存儲(chǔ)經(jīng)過(guò)所述功能子模塊打包后的數(shù)據(jù),并根據(jù)所述控制信號(hào)輸出所存儲(chǔ)的數(shù)據(jù)至外部網(wǎng)絡(luò)。
11.如權(quán)利要求10所述的方法,其特征在于,所述數(shù)據(jù)同步接口包括與所述輸入輸出控制器和所述時(shí)鐘模塊相連的輸入先入先出存儲(chǔ)器、輸出先入先出存儲(chǔ)器、旁路先入先出存儲(chǔ)器和端口子模塊所述數(shù)據(jù)同步接口在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,接收所述外部網(wǎng)絡(luò)的數(shù)據(jù),并根據(jù)所述控制信號(hào),對(duì)接收的數(shù)據(jù)進(jìn)行保存的步驟包括所述端口子模塊在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,接收所述外部網(wǎng)絡(luò)的數(shù)據(jù); 根據(jù)所述控制信號(hào),將輸入的數(shù)據(jù)分發(fā)給相應(yīng)的輸入先入先出存儲(chǔ)器或者旁路先入先出存儲(chǔ)器進(jìn)行存儲(chǔ);所述數(shù)據(jù)同步接口將經(jīng)過(guò)所述功能子模塊打包后的數(shù)據(jù)進(jìn)行存儲(chǔ),并根據(jù)所述控制信號(hào)將所述數(shù)據(jù)發(fā)送至外部網(wǎng)絡(luò)的步驟包括所述輸出先入先出存儲(chǔ)器接收所述功能子模塊接口發(fā)送來(lái)的打包后的數(shù)據(jù),并存儲(chǔ); 所述端口子模塊根據(jù)所述控制信號(hào),讀取所述輸出先入先出存儲(chǔ)器內(nèi)存儲(chǔ)的打包后的數(shù)據(jù)或者旁路先入先出存儲(chǔ)器內(nèi)存儲(chǔ)的數(shù)據(jù),并發(fā)送至外部網(wǎng)絡(luò)。
12.如權(quán)利要求10所述的方法,其特征在于,所述數(shù)據(jù)同步接口為多層數(shù)據(jù)同步接口, 所述輸入輸出控制器為多個(gè),每層所述數(shù)據(jù)同步接口對(duì)應(yīng)與一個(gè)輸入輸出控制器相連,所述同步塊還包括與所述多層數(shù)據(jù)同步接口和功能子模塊接口相連的路由器和多選器所述數(shù)據(jù)同步接口在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,接收所述外部網(wǎng)絡(luò)的數(shù)據(jù),并根據(jù)所述控制信號(hào),對(duì)接收的數(shù)據(jù)進(jìn)行保存的步驟包括所述多層數(shù)據(jù)同步接口在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,接收所述外部網(wǎng)絡(luò)的數(shù)據(jù),并根據(jù)對(duì)應(yīng)層的輸入輸出控制器輸出的所述控制信號(hào),對(duì)接收的數(shù)據(jù)進(jìn)行保存;所述功能子模塊接口讀取所述數(shù)據(jù)同步接口中存儲(chǔ)的數(shù)據(jù),對(duì)其進(jìn)行解包后,發(fā)送給所述功能子模塊的步驟包括所述多選器輪詢讀取所述多層數(shù)據(jù)同步接口中存儲(chǔ)的數(shù)據(jù),并將當(dāng)前讀取的數(shù)據(jù)發(fā)送至所述功能子模塊接口;所述功能子模塊接口接收所述當(dāng)前讀取的數(shù)據(jù),對(duì)其進(jìn)行解包后,發(fā)送給所述功能子模塊;所述功能子模塊處理經(jīng)過(guò)解包后的數(shù)據(jù),并將處理后的數(shù)據(jù)發(fā)送給所述功能子模塊接口的步驟包括所述功能子模塊對(duì)解包后的所述當(dāng)前讀取的數(shù)據(jù)進(jìn)行處理,并將處理后的所述當(dāng)前讀取的數(shù)據(jù)發(fā)送給所述功能子模塊接口;所述功能子模塊接口對(duì)所述處理后的數(shù)據(jù)進(jìn)行打包,并將打包后的數(shù)據(jù)發(fā)送給所述數(shù)據(jù)同步接口的步驟包括所述功能子模塊接口對(duì)處理后的所述當(dāng)前讀取的數(shù)據(jù)進(jìn)行打包,并將打包后的數(shù)據(jù)發(fā)送給所述路由器;所述路由器則將打包后的數(shù)據(jù)發(fā)送給所述當(dāng)前讀取數(shù)據(jù)對(duì)應(yīng)層的數(shù)據(jù)同步接口; 所述數(shù)據(jù)同步接口將經(jīng)過(guò)所述功能子模塊接口打包后的數(shù)據(jù)進(jìn)行存儲(chǔ),并根據(jù)所述控制信號(hào)將存儲(chǔ)的數(shù)據(jù)發(fā)送至外部網(wǎng)絡(luò)的步驟包括所述當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層的數(shù)據(jù)同步接口,根據(jù)其對(duì)應(yīng)的輸入輸出控制器輸出的控制信號(hào),將內(nèi)部存儲(chǔ)的經(jīng)過(guò)處理的所述當(dāng)前讀取數(shù)據(jù)輸出至外部網(wǎng)絡(luò);其他層的數(shù)據(jù)同步接口,根據(jù)其對(duì)應(yīng)的輸入輸出控制器輸出的控制信號(hào),將存儲(chǔ)的未經(jīng)過(guò)處理的數(shù)據(jù)輸出至外部網(wǎng)絡(luò)。
13.如權(quán)利要求12所述的方法,其特征在于,所述多層數(shù)據(jù)同步接口包括與所述時(shí)鐘模塊相連的多層端口子模塊,多個(gè)輸入先入先出存儲(chǔ)器,多個(gè)輸出先入先出存儲(chǔ)器和多個(gè)旁路先入先出存儲(chǔ)器,每一層所述端口子模塊與一個(gè)輸入先入先出存儲(chǔ)器、一個(gè)輸出先入先出存儲(chǔ)器和一個(gè)旁路先入先出存儲(chǔ)器相連,所述輸入輸出控制為多個(gè),每個(gè)輸入輸出控制器與一層所述端口子模塊相連所述多選器輪詢讀取所述多層數(shù)據(jù)同步接口中存儲(chǔ)的數(shù)據(jù),并將當(dāng)前讀取的數(shù)據(jù)發(fā)送至所述功能子模塊接口的步驟包括所述多選器輪詢讀取所述多層端口子模塊對(duì)應(yīng)的多個(gè)輸入先入先出存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù),并將當(dāng)前讀取的數(shù)據(jù)發(fā)送至所述功能子模塊接口 ;所述路由器則將打包后的數(shù)據(jù)發(fā)送給所述當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層的數(shù)據(jù)同步接口的步驟包括所述路由器將打包后的數(shù)據(jù)發(fā)送給所述當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層數(shù)據(jù)同步接口對(duì)應(yīng)的輸出先入先出存儲(chǔ)器;所述當(dāng)前讀取的數(shù)據(jù)對(duì)應(yīng)層的數(shù)據(jù)同步接口,根據(jù)其對(duì)應(yīng)的輸入輸出控制器輸出的控制信號(hào),將內(nèi)部存儲(chǔ)的經(jīng)過(guò)處理的所述當(dāng)前讀取數(shù)據(jù)輸出至外部網(wǎng)絡(luò)的步驟包括所述多選器當(dāng)前讀取的一層數(shù)據(jù)同步接口對(duì)應(yīng)的一層端口子模塊,讀取其對(duì)應(yīng)的輸出先入先出存儲(chǔ)器中存儲(chǔ)的,經(jīng)過(guò)處理的數(shù)據(jù),并輸出至外部網(wǎng)絡(luò);其他層所述數(shù)據(jù)同步接口,根據(jù)其對(duì)應(yīng)的輸入輸出控制器輸出的控制信號(hào),將存儲(chǔ)的未經(jīng)過(guò)處理的數(shù)據(jù)輸出至外部網(wǎng)絡(luò)的步驟包括其它層數(shù)據(jù)同步接口對(duì)應(yīng)的所述端口子模塊,讀取各層端口子模塊對(duì)應(yīng)的旁路輸入輸出存儲(chǔ)器中存儲(chǔ)的未經(jīng)過(guò)處理的數(shù)據(jù),并輸出至外部網(wǎng)絡(luò)。
全文摘要
本發(fā)明公開(kāi)了一種單芯片異步通信接口。本發(fā)明的單芯片異步通信接口包括時(shí)用于提供時(shí)鐘信號(hào)的時(shí)鐘模塊;用于同外部網(wǎng)絡(luò)進(jìn)行異步握手通信,并產(chǎn)生控制信號(hào)控制數(shù)據(jù)的輸入,以及經(jīng)過(guò)處理后的數(shù)據(jù)的輸出,同時(shí)控制時(shí)鐘模塊的啟停的輸入輸出控制器;以及用于根據(jù)輸入輸出控制器的控制信號(hào)對(duì)輸入的數(shù)據(jù)流進(jìn)行分發(fā),處理和同步,并將處理后的數(shù)據(jù)輸出至外部網(wǎng)絡(luò)的同步塊。本發(fā)明的單芯片異步通信接口通過(guò)同步塊在時(shí)鐘的驅(qū)動(dòng)下,根據(jù)輸入輸出控制器的控制信號(hào)完成對(duì)輸入的外部網(wǎng)絡(luò)數(shù)據(jù)的同步和處理,并將處理后的數(shù)據(jù)輸出至外部網(wǎng)絡(luò),從而滿足了異步通信網(wǎng)絡(luò)之間的數(shù)據(jù)同步和傳輸,進(jìn)而實(shí)現(xiàn)網(wǎng)絡(luò)中不同IP核之間的互連。
文檔編號(hào)H04L29/06GK102185760SQ20111009114
公開(kāi)日2011年9月14日 申請(qǐng)日期2011年4月12日 優(yōu)先權(quán)日2011年2月23日
發(fā)明者李鈴, 王新安, 王騰, 胡子一, 謝崢, 陳志光 申請(qǐng)人:北京大學(xué)深圳研究生院