片上系統(tǒng)及控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于芯片設(shè)計技術(shù),具體地,涉及片上系統(tǒng)及控制方法。
【背景技術(shù)】
[0002]在現(xiàn)有的片上系統(tǒng)(SOC,System on Chip)設(shè)計方法中,通常將各種數(shù)字邏輯設(shè)計資源(IP,Intellectual Property)以及各種模擬單元IP都集成在單一芯片上,以最大限度的提高集成度。
[0003]數(shù)字邏輯IP可以包括中央處理器(CPU)、數(shù)字信號處理器(DSP)、計數(shù)器(HMER)、看門狗(WATCHDOG)等各種事物處理單元,圖形、視頻、音頻、加解密等各種計算單元,SDMMC、通用異步收發(fā)傳輸器(UART)、串行外設(shè)接口(SPI)等各種數(shù)字接口,通用串行總線(USB)、PCIe、SATA、HDMI等各種高速串行接口的協(xié)議層以及連接各個設(shè)備的片上總線,但并不限于此。模擬單元IP可以包括模數(shù)轉(zhuǎn)換器(ADC)、數(shù)模轉(zhuǎn)換器(DAC),系統(tǒng)、音視頻鎖相環(huán)(PLL)以及各種高速串行接口的物理層(PHY),但并不限于此。
[0004]雖然將上述模塊都集成在單一芯片上能提高集成度,但是問題隨之而來。例如,在工藝節(jié)點升級過程中增加成本和潛在風(fēng)險以及芯片升級再流片延誤產(chǎn)品上市時間。為了降低設(shè)計成本、縮短產(chǎn)品上市時間、降低流片風(fēng)險,已公開了一種改進的片上系統(tǒng)設(shè)計方法,其中將傳統(tǒng)的大規(guī)模單芯片SOC劃分為兩部分。
[0005]圖1示出根據(jù)現(xiàn)有技術(shù)的片上系統(tǒng)及其外部存儲器的示意性框圖。SOC的第一部分是不依賴于或少依賴于具體工藝節(jié)點的數(shù)字部分,即圖1中所示S0C-A,第二部分強烈依賴于具體工藝節(jié)點的模擬部分,即圖1所示SOC-B。SOC-A包括第一主功能模塊110和第一互連接口控制器120,SOC-B包括第二主功能模塊210、第二互連接口控制器220和存儲器控制器280。
[0006]SOC-A和SOC-B之間使用SERDES技術(shù)連接。相應(yīng)地,第一互連接口控制器120和第二互連接口控制器220分別提供SERDES接口。SOC-A可以通過申請、仲裁后獲得內(nèi)存總線控制權(quán)后經(jīng)過SOC-B的轉(zhuǎn)發(fā)繼而訪問存儲器300。SOC-B可以通過申請、仲裁后獲得內(nèi)存總線控制權(quán)自主訪問存儲器300。
[0007]然而,SOC-A和SOC-B之間使用SERDES連接在技術(shù)難度和成本上都比較高。此外,將SOC劃分成數(shù)字部分SOC-A和模擬部分S0C-B,不能滿足面向用戶的設(shè)計需求,因而存在著一定的局限性,不能更進一步降低開發(fā)和升級成本。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的目的在于提供一種可以采用內(nèi)存接口實現(xiàn)不同部分之間的互連的片上系統(tǒng)及控制方法,以降低開發(fā)成本和提供設(shè)計自由度。
[0009]根據(jù)本發(fā)明的一方面,提供一種片上系統(tǒng),包括第一部分電路和第二部分電路,其中,第一電路部分包括第一主功能模塊和第一互連接口控制器,第二電路部分包括第二主功能模塊和第二互連接口控制器,第一互連接口控制器和第二互連接口控制器分別提供用于互連的內(nèi)存接口,使得第一電路部分和第二部分經(jīng)由第一內(nèi)存總線連接在一起。
[0010]優(yōu)選地,第一電路部分是包括由數(shù)字電路和/或模擬電路組成的通用部分,以及第二電路部分是包括由數(shù)字電路和/或模擬電路組成的專用部分。
[0011]優(yōu)選地,第一主功能模塊包括處理器、用于支持處理器調(diào)試和工作的基本設(shè)備、以及用于提供時鐘信號的鎖相環(huán)。
[0012]優(yōu)選地,第一主功能模塊還包括核心設(shè)備,所述核心設(shè)備是相關(guān)的多個不同產(chǎn)品系列中的共性設(shè)備。
[0013]優(yōu)選地,第二主功能模塊包括用于提供主要功能的專用設(shè)備、用于提供控制邏輯的控制模塊、以及用于提供時鐘信號的鎖相環(huán)。
[0014]優(yōu)選地,第二主功能模塊還包括用于為第二電路部分提供I/O支持的I/O模塊。
[0015]優(yōu)選地,第二互連接口控制器還提供用于連接外部存儲器的內(nèi)存接口,使得第一電路部分和第二電路部分經(jīng)由第二內(nèi)存總線訪問外部存儲器。
[0016]優(yōu)選地,所述內(nèi)存總線為SDRAM總線。
[0017]優(yōu)選地,第一互連接口控制器為標(biāo)準(zhǔn)的存儲器控制器,以及第二互連接口控制器為提供內(nèi)存總線路由功能的設(shè)備擴展裝置。
[0018]優(yōu)選地,所述設(shè)備擴展裝置包括第一內(nèi)存接口、第二內(nèi)存接口和內(nèi)部擴展接口,第一內(nèi)存接口用于與第一互連接口控制器相連接,第二內(nèi)存接口用于與外部存儲器相連接,內(nèi)部擴展接口用于與第二主功能模塊相連接。
[0019]優(yōu)選地,所述設(shè)備擴展裝置根據(jù)內(nèi)存總線信號產(chǎn)生選擇信號,使得第一內(nèi)存接口、第二內(nèi)存接口和內(nèi)部擴展接口中的任意兩個相連,從而提供內(nèi)存總線的路由功能,所述內(nèi)存總線信號包括數(shù)據(jù)信號以及地址和控制信號。
[0020]優(yōu)選地,所述第一互連接口控制器在標(biāo)準(zhǔn)的存儲器控制器的基礎(chǔ)上包括附加的級聯(lián)仲裁模塊,以及第二互連接口控制器在標(biāo)準(zhǔn)的存儲器控制器的基礎(chǔ)上包括附加的總線申請與命令監(jiān)測模塊和旁路通道。
[0021]優(yōu)選地,所述第一互連接口控制器的級聯(lián)仲裁模塊和第二互連接口控制器的總線申請與命令監(jiān)測模塊之間經(jīng)由仲裁控制線相連接,使得第二電路部分經(jīng)由仲裁控制線向第一電路部分提出內(nèi)存使用請求,并且經(jīng)由仲裁控制線從第一電路部分獲得內(nèi)存使用授權(quán)。
[0022]優(yōu)選地,當(dāng)?shù)谝浑娐凡糠肢@得內(nèi)存總線使用權(quán)時,第二互連接口控制器的旁路通道將內(nèi)存總線時序旁路至第二互連接口控制器的時序發(fā)生器。
[0023]優(yōu)選地,第一電路部分和第二電路部分位于相同半導(dǎo)體管芯的不同區(qū)域和/或?qū)?,或者封裝成一個半導(dǎo)體芯片的不同半導(dǎo)體管芯,或者是不同的半導(dǎo)體芯片。
[0024]根據(jù)本發(fā)明的另一方面,提供一種片上系統(tǒng)控制方法,所述片上系統(tǒng)包括第一電路部分和第二電路部分,第一電路部分包括第一主功能模塊和第一互連接口控制器,第二電路部分包括第二主功能模塊和第二互連接口控制器,所述方法包括:第一電路部分經(jīng)由內(nèi)存總線向第二電路部分傳輸內(nèi)存總線信號;第二電路部分的第二互連接口控制器接收所述內(nèi)存總線信號,并根據(jù)所述內(nèi)存總線信號產(chǎn)生選擇信號;所述第二電路部分的第二互連接口控制器根據(jù)所述選擇信號提供第一電路部分、第二電路部分的主功能模塊和外部存儲器之間的訪問路徑,所述內(nèi)存總線信號包括數(shù)據(jù)信號以及地址和控制信號。
[0025]優(yōu)選地,第一互連接口控制器為標(biāo)準(zhǔn)的存儲器控制器,以及第二互連接口控制器為提供內(nèi)存總線路由功能的設(shè)備擴展裝置。
[0026]優(yōu)選地,所述第二互連接口控制器根據(jù)所述內(nèi)存總線信號產(chǎn)生選擇信號包括:譯碼器根據(jù)地址和控制信號中的片選信號和/或地址信號產(chǎn)生選擇信號。
[0027]優(yōu)選地,所述片上系統(tǒng)控制方法提供以下訪問路徑中的至少之一:第一電路部分直接訪問第二電路部分的第二互連接口控制器,第二電路部分的第二主功能模塊直接訪問第二電路部分的第二互連接口控制器,第一電路部分經(jīng)由第二電路部分的第二互連接口控制器訪問外部存儲器,第二電路部分的第二主功能模塊經(jīng)由第二電路部分的第二互連接口控制器訪問外部存儲器,以及第一電路部分經(jīng)由第二電路部分的第二互連接口控制器訪問第二電路部分的第二主功能模塊。
[0028]優(yōu)選地,所述第二電路部分的第二互連接口控制器包括:第一端口,用于經(jīng)由內(nèi)存總線與外部的第一電路部分相連;第二端口,用于經(jīng)由內(nèi)存總線與外部的外部存儲器相連;第三端口,用于經(jīng)由用戶自定義總線與第二電路部分的第二主功能模塊相連;第一數(shù)據(jù)緩沖器,用于緩存經(jīng)由第一端口傳送的數(shù)據(jù)信號;第二數(shù)據(jù)緩沖器,用于緩存經(jīng)由第二端口傳送的數(shù)據(jù)信號;第三數(shù)據(jù)緩沖器,用于緩存經(jīng)由第三端口傳送的數(shù)據(jù)信號;譯碼器,用于根據(jù)經(jīng)由第一端口傳送的地址和控制信號,產(chǎn)生所述選擇信號;數(shù)據(jù)復(fù)用模塊,用于根據(jù)選擇信號,將第一至第三數(shù)據(jù)緩沖器中的至少兩個數(shù)據(jù)緩沖器相連;以及旁路開關(guān)陣列,所述旁路開關(guān)陣列根據(jù)選擇信號,選擇性地將地址和控制信號從第一端口傳送至第二端口。
[0029]優(yōu)選地,所述第一電路部分經(jīng)由第二電路部分的第二互連接口控制器訪問外部存儲器包括:在讀操作中,第一電路部分發(fā)出地址和控制信號給譯碼器和旁路開關(guān)陣列,譯碼器對地址和控制信號進行譯碼,解析出第一電路部分發(fā)出的指令為第一電路部分對外部存儲器的讀操作,旁路開關(guān)陣列打開,地址和控制信號經(jīng)旁路開關(guān)陣列傳遞到外部存儲器;夕卜部存儲器根據(jù)接收到的地址和控制信號后,外部存儲器的相應(yīng)數(shù)據(jù)信號依次提供給第二數(shù)據(jù)緩沖器、數(shù)據(jù)復(fù)用模塊選擇、第一數(shù)據(jù)緩沖器,第一電路部分讀取第一數(shù)據(jù)緩沖器緩存的數(shù)據(jù);在寫操作中,第一電路部分發(fā)出地址和控制信號給譯碼器和旁路開關(guān)陣列,譯碼器對地址和控制信號進行譯碼,解析出第一電路部分發(fā)出的指令為第一電路部分對外部存儲器的寫操作,旁路開關(guān)陣列打開,地址和控制信號經(jīng)旁路開關(guān)陣列傳遞到外部存儲器;第一電路部分發(fā)出數(shù)據(jù)信號,數(shù)據(jù)信號依次經(jīng)過第一數(shù)據(jù)緩沖器、數(shù)據(jù)復(fù)用模塊、第二數(shù)據(jù)緩沖器,外部存儲器根據(jù)接收到的地址和控制信號將第二數(shù)據(jù)緩沖器的數(shù)據(jù)寫入到外部存儲器相應(yīng)地址。
[0030]優(yōu)選地,所述第一電路部分經(jīng)由第二電路部分的第二互連接口控制器訪問第二電路部分的的第二主功能模塊包括:在讀操作中,第一電路部分發(fā)出地址和控制信號給譯碼器和旁路開關(guān)陣列,譯碼器對地址和控制信號進行譯碼,解析出第一電路部分發(fā)出的指令為第一電路部分對第二電路部分的第二主功能模塊的讀操作,旁路開關(guān)陣列關(guān)閉,地址和控制信號經(jīng)譯碼器譯碼后由用戶總線控制器發(fā)出地址和控制信號給第二電路部分的第二主功能模塊;第二電路部分的第二主功能模塊根據(jù)接用戶總線控制器發(fā)出的地址和控制信號,第二電路部分的第二主功能模塊的相應(yīng)數(shù)據(jù)信號依次提供給第三數(shù)據(jù)緩沖器、數(shù)據(jù)復(fù)用模塊選擇、第一數(shù)據(jù)緩沖器,第一電路部分讀取第一數(shù)據(jù)緩沖器緩存的數(shù)據(jù);在寫操作中,第一電路部分發(fā)出地址和控制信號給譯碼器和旁路開關(guān)陣列,譯碼器對地址和控制信號進行譯碼,解析出第一電路部分發(fā)出的指令為第一電路部分對第二電路部分的第二主功能模塊的寫操作,旁路開關(guān)陣列關(guān)閉,地址和控制信號經(jīng)譯碼器譯碼后由用戶總線控制器發(fā)出地址和控制信號給第二