模塊2304和多個數(shù)據(jù)緩沖器2301、2305和2307。
[0059]在第一部分SOC-A中,第一互連接口控制器150可以采用標(biāo)準(zhǔn)的SDRAM控制器。事件調(diào)度模塊151針對SOC-A中的第一主功能模塊110的內(nèi)存操作請求形成調(diào)度隊(duì)列,進(jìn)行最優(yōu)排序、緩沖等調(diào)度。內(nèi)存操作請求包括對外部存儲器的讀、寫、刷新、充放電等操作請求。DMA與配置接口 152提供與SOC-A中的第一主功能模塊110之間的數(shù)據(jù)通道,用于接收自身的配置數(shù)據(jù),以及為內(nèi)存操作請求提供DMA數(shù)據(jù)通道。時序發(fā)生器153根據(jù)事件調(diào)度模塊151的結(jié)果,產(chǎn)生第一互連接口控制器150具體操作的接口時序。
[0060]在第二部分SOC-B中,第二互連接口控制器230例如是包括第一內(nèi)存接口、第二內(nèi)存接口和內(nèi)部擴(kuò)展接口的設(shè)備擴(kuò)展裝置。第一內(nèi)存接口提供第二互連接口控制器230與SOC-A中的第一互連接口控制器150之間的連接。第二內(nèi)存接口提供第二互連接口控制器230與外部存儲器300之間的連接。內(nèi)部擴(kuò)展接口提供第二互連接口控制器230與SOC-B中的主功能模塊之間的連接。
[0061 ] 第二互連接口控制器230包括與第一內(nèi)存接口、第二內(nèi)存接口和內(nèi)部擴(kuò)展接口分別對應(yīng)的數(shù)據(jù)緩沖器2031、2035和2037。數(shù)據(jù)緩沖器2031經(jīng)由內(nèi)存總線,從SOC-A中的第一互連接口控制器150獲取數(shù)據(jù)信號或者向SOC-A中的第一互連接口控制器150提供數(shù)據(jù)信號。數(shù)據(jù)緩沖器2035經(jīng)由內(nèi)存總線,從存儲器300獲取數(shù)據(jù)信號或者向存儲器300提供數(shù)據(jù)信號。數(shù)據(jù)緩沖器2037經(jīng)由用戶自定義總線,與SOC-B中的主功能模塊210進(jìn)行通信。
[0062]在優(yōu)選的實(shí)施例中,數(shù)據(jù)緩沖器2031、2035和2037分別為三態(tài)緩沖器。在三態(tài)緩沖器的使能輸出端有效時,三態(tài)緩沖器實(shí)現(xiàn)正常邏輯輸出,即邏輯值為O或I。在三態(tài)緩沖器的使能輸出端無效時,三態(tài)緩沖器的輸入端可以接收數(shù)據(jù),但是輸出端為高阻狀態(tài)。
[0063]譯碼器2032和旁路開關(guān)陣列2033經(jīng)由內(nèi)存總線,從SOC-A中的第一互連接口控制器150獲取地址和控制信號。譯碼器2032根據(jù)地址和控制信號產(chǎn)生選擇信號。
[0064]在一個示例中,譯碼器2032根據(jù)地址和控制信號中的存儲器片選信號產(chǎn)生選擇信號。如果存儲器片選信號為高電平,則選擇信號指示存儲操作。如果存儲器片選信號為低電平,則選擇信號指示擴(kuò)展通信操作。
[0065]在另一個示例中,譯碼器2032根據(jù)地址和控制信號中的地址信號產(chǎn)生選擇信號。例如,地址信號包括地址數(shù)據(jù)和保留數(shù)據(jù)。假定地址數(shù)據(jù)為N位,例如32位,那么可以將其中的M位(例如I位)作為保留位,用于指示SOC-A中的第一互連接口控制器150期望的操作類型。如果保留位為高電平,則選擇信號指示存儲操作。如果保留位為低電平,則選擇信號指示擴(kuò)展通信操作。
[0066]譯碼器2032將選擇信號分別提供至數(shù)據(jù)緩沖器2031、2035和2037、旁路開關(guān)陣列2033、數(shù)據(jù)復(fù)用模塊2034和用戶總線控制器2036。
[0067]數(shù)據(jù)復(fù)用模塊2034包括一個多路復(fù)用器2034a。根據(jù)選擇信號,多路復(fù)用器2034a將數(shù)據(jù)緩沖器2031與數(shù)據(jù)緩沖器2035和2037中的一個相連。同時,根據(jù)選擇信號,數(shù)據(jù)緩沖器2031以及數(shù)據(jù)緩沖器2035和2037中的一個處于選通狀態(tài),數(shù)據(jù)緩沖器2035和2037中的另一個處于未選通狀態(tài)。
[0068]因此,第二互連接口控制器230根據(jù)選擇信號,提供SOC-A中的第一互連接口控制器150與存儲器300之間的連接,或者提供SOC-A中的第一互連接口控制器150與SOC-B中的主功能模塊210之間的連接,從而實(shí)現(xiàn)路由功能。
[0069]進(jìn)一步地,如果選擇信號指示存儲操作,則旁路開關(guān)陣列2303導(dǎo)通,使得地址和控制信號經(jīng)由第二互連接口控制器230直接傳送至存儲器300。在第二互連接口控制器230兩側(cè)的內(nèi)存總線中,數(shù)據(jù)信號以及地址和控制信號是完全對稱的。如果選擇信號指示擴(kuò)展通信操作,則旁路開關(guān)陣列2303斷開,用戶總線控制器2306根據(jù)選擇信號產(chǎn)生總線控制信號,并且用于控制與SOC-B中的主功能模塊210之間的通信。
[0070]圖5a和5b分別示出根據(jù)本發(fā)明的片上系統(tǒng)兩個部分的互連接口控制器的第二實(shí)施例的示意性框圖。如圖所示,第一互連接口控制器150包括事件調(diào)度模塊151、DMA與配置接口 152和時序發(fā)生器153,第二互連接口控制器330包括多個譯碼器3302、開關(guān)陣列3303、用戶總線控制器3306、數(shù)據(jù)利用模塊3304和多個數(shù)據(jù)緩沖器3301、3305和3307。
[0071]在第一部分SOC-A中,第一互連接口控制器150可以采用標(biāo)準(zhǔn)的SDRAM控制器。事件調(diào)度模塊151針對SOC-A中的第一主功能模塊110的內(nèi)存操作請求形成調(diào)度隊(duì)列,進(jìn)行最優(yōu)排序、緩沖等調(diào)度。內(nèi)存操作請求包括對外部存儲器的讀、寫、刷新、充放電等操作請求。DMA與配置接口 152提供與SOC-A中的第一主功能模塊110之間的數(shù)據(jù)通道,用于接收自身的配置數(shù)據(jù),以及為內(nèi)存操作請求提供DMA數(shù)據(jù)通道。時序發(fā)生器153根據(jù)事件調(diào)度模塊151的結(jié)果,產(chǎn)生第一互連接口控制器150具體操作的接口時序。
[0072]在第二部分SOC-B中,第二互連接口控制器330例如是包括第一內(nèi)存接口、第二內(nèi)存接口和內(nèi)部擴(kuò)展接口的設(shè)備擴(kuò)展裝置。第一內(nèi)存接口提供第二互連接口控制器330與SOC-A中的第一互連接口控制器150之間的連接。第二內(nèi)存接口提供第二互連接口控制器330與外部存儲器300之間的連接。內(nèi)部擴(kuò)展接口提供第二互連接口控制器330與SOC-B中的主功能模塊之間的連接。
[0073]第二互連接口控制器330包括與第一內(nèi)存接口、第二內(nèi)存接口和內(nèi)部擴(kuò)展接口分別對應(yīng)的數(shù)據(jù)緩沖器3301、3305和3307。數(shù)據(jù)緩沖器3301經(jīng)由內(nèi)存總線,從SOC-A中的第一互連接口控制器150獲取數(shù)據(jù)信號或者向SOC-A中的第一互連接口控制器150提供數(shù)據(jù)信號。數(shù)據(jù)緩沖器3305經(jīng)由內(nèi)存總線,從存儲器300獲取數(shù)據(jù)信號或者向存儲器300提供數(shù)據(jù)信號。數(shù)據(jù)緩沖器3307經(jīng)由用戶自定義總線,與SOC-B中的主功能模塊210進(jìn)行通信。
[0074]數(shù)據(jù)緩沖器3301、3305和3307分別用于緩沖數(shù)據(jù),從而可以匹配數(shù)據(jù)流的上游設(shè)備和下游設(shè)備之間的傳輸速率和提高驅(qū)動能力。
[0075]在優(yōu)選的實(shí)施例中,數(shù)據(jù)緩沖器3301和3305分別由三態(tài)緩沖器組成。在三態(tài)緩沖器的使能輸出端有效時,三態(tài)緩沖器實(shí)現(xiàn)正常邏輯輸出,即邏輯值為O或I。在三態(tài)緩沖器的使能輸出端無效時,三態(tài)緩沖器的輸入端可以接收數(shù)據(jù),但是輸出端為高阻狀態(tài)。數(shù)據(jù)緩沖3307則不需要由三態(tài)緩沖器組成,只需要提供輸入輸出緩沖功能即可。
[0076]譯碼器3302和旁路開關(guān)陣列3303經(jīng)由內(nèi)存總線,從SOC-A中的第一互連接口控制器150獲取地址和控制信號。譯碼器3302根據(jù)地址和控制信號產(chǎn)生選擇信號。
[0077]在另一個示例中,譯碼器3302根據(jù)地址和控制信號中的存儲器片選信號產(chǎn)生選擇信號。如果存儲器片選信號為高電平,則選擇信號指示存儲操作。如果存儲器片選信號為低電平,則選擇信號指示擴(kuò)展通信操作。
[0078]在另一個示例中,譯碼器3302根據(jù)地址和控制信號中的地址信號產(chǎn)生選擇信號。例如,地址信號包括地址數(shù)據(jù)和保留數(shù)據(jù)。假定地址數(shù)據(jù)為N位,例如32位,那么可以將其中的M位(例如I位)作為保留位,用于指示SOC-A期望的操作類型。如果保留位為高電平,則選擇信號指示存儲操作。如果保留位為低電平,則選擇信號指示擴(kuò)展通信操作。
[0079]譯碼器3302將選擇信號分別提供至數(shù)據(jù)緩沖器3301、3305和3307、旁路開關(guān)陣列3303、數(shù)據(jù)復(fù)用模塊3304和用戶總線控制器3306。
[0080]數(shù)據(jù)復(fù)用模塊3304包括三個多路復(fù)用器3304a、3304b和3304c。根據(jù)選擇信號,三個多路復(fù)用器3304a、3304b和3304c將數(shù)據(jù)緩沖器3301與數(shù)據(jù)緩沖器3305和3307中的一個相連。同時,根據(jù)選擇信號,數(shù)據(jù)緩沖器3301、數(shù)據(jù)緩沖器3305和3307中的至少兩個處于選通狀態(tài)。
[0081]因此,第二互連接口控制器330根據(jù)選擇信號,提供SOC-A中與存儲器300之間的連接,或者提供SOC-A與SOC-B中的主功能模塊210之間的連接,或者提供SOC-B與存儲器300之間的連接,從而實(shí)現(xiàn)路由功能。
[0082]進(jìn)一步地,如果選擇信號指示存儲操作,則旁路開關(guān)陣列3303導(dǎo)通,使得地址和控制信號經(jīng)由第二互連接口控制器330直接傳送至存儲器300。在第二互連接口控制器330兩側(cè)的內(nèi)存總線中,數(shù)據(jù)信號以及地址和控制信號是完全對稱的。如果選擇信號指示擴(kuò)展通信操作,則旁路開關(guān)陣列3303斷開,用戶總線控制器3306根據(jù)選擇信號產(chǎn)生總線控制信號,并且用于控制與SOC-B中的主功能模塊210之間的通信。
[0083]圖6a和6b分別示出根據(jù)本發(fā)明的片上系統(tǒng)兩個部分的互連接口控制器的第三實(shí)施例的示意性框圖。如圖所示,第一互連接口控制器150包括事件調(diào)度模塊151、DMA與配置接口 152、時序發(fā)生器153和級聯(lián)仲裁模塊155,第二互連接口控制器230包括事件調(diào)度模塊231、DMA與配置接口 232、時序發(fā)生器233、總線申請與命令監(jiān)測模塊235和旁路通道236。
[0084]根據(jù)第二實(shí)施例的第一互連接口控制器150和第二互連接口控制器230分別在標(biāo)準(zhǔn)的存儲器控制器基礎(chǔ)上進(jìn)行了修改,其中新增了級聯(lián)仲裁功能。相應(yīng)地,第一互連接口控制器150和第二互連接口控制器230之間的連接不僅包括標(biāo)準(zhǔn)的內(nèi)存總線,而且包括附加的仲裁控制線X和仲裁控制線Y。
[0085]在第一部分SOC-A中,級聯(lián)仲裁模塊155用于協(xié)調(diào)第一部分S0C-1和第二部分SOC-B對外部存儲器300的操作。無論第一部分S0C-1和第二部分S0C-B,只要發(fā)起對外部存儲器300的操作,都必須向級聯(lián)仲裁單元發(fā)出申請,